· kaynak dev.to (home feed)
Cilium 1.20 BTF kernel desteği gerektiriyor, varsayılan Raspberry Pi OS kurulumlarını bozuyor
Cilium 1.20.0, Raspberry Pi OS'un varsayılan olarak içermediği kernel BTF desteğini gerektiriyor; bu yüzden standart Pi donanımındaki yükseltmeler başlangıçta başarısız oluyor ve zahmetli çözümler gerektiriyor.

Cilium 1.20.0, Linux kernelinde BPF Type Format (BTF) desteği gerektiriyor ve varsayılan Raspberry Pi OS kerneli bu destek olmadan derlendiği için sürüm, standart Pi sistemlerinde çalışamıyor. dev.io'daki bir yazının özü bu; yazı, uyumsuzluğu iki tarafın da bilinçli mühendislik tercihlerine bağlıyor ve bunun edge ve hobi kümeleri için yaygın bir dağıtım desenini engellediği uyarısını yapıyor.
Cilium neden BTF'ye ihtiyaç duyuyor
BTF, bir kernelin kompakt öz tanımıdır: belirli bir derlemede bulunan veri tiplerinin ve sembollerin kaydı. eBPF programları, tek bir特定 sürüm için derlenmiş offsetlere güvenmek yerine, hangi kernelle karşılaşırlarsa karşılaşsınlar kernel yapılarını doğru okumak için BTF'yi kullanır. Cilium'un politika uygulama, yük dengeleme ve trafik işleme dahil tüm veri yolu eBPF üzerine kurulu olduğundan, sembolleri çözmek ve yükleme anında kernel durumunu incelemek için BTF'ye yaslanır. dev.to analizine göre bu metadata eksik olduğunda Cilium'un programları doğru derlenemiyor veya çalışamıyor: agent başlatma sırasında başarısız oluyor ya da runtime'da hata veriyor.
Raspberry Pi OS neden BTF'yi dışlıyor
Bu ihmal bir ihmalkârlık değil, bilinçli bir tercih. Yazıda belirtildiği gibi Raspberry Pi OS, küçük bir kernel imajı ve düşük bellek ayak izini önceliklendiriyor; genellikle 1 ile 8 GB RAM taşıyan donanım için makul bir varsayılan. BTF'yi açan kernel derleme seçeneği her ikisini de artıracağından dağıtım bu destek olmadan geliyor. Bu takas Pi kullanıcılarının çoğu için görünmez, BTF'nin var olduğunu varsayan yazılımlar için ise elenen bir durum.
Gerçekte ne bozuluyor
Arıza kısmi değil, tamamen kopma yaşanıyor. Yazı nedensel zinciri şöyle özetliyor: BTF olmadan Cilium'un eBPF araç zinciri kernel sembollerini çözemez ve veri yapılarına erişemez; programları derlenemez ve doğrulanamaz; agent başlatılamaz. Raspberry Pi donanımında Kubernetes çalıştıran herkes — ev laboratuvarları, edge kümeleri ve IoT prototipleri tipik örnekler olarak gösteriliyor — standart bir kernelde 1.20.0'a yükselttikleri anda bununla karşılaşıyor. Yazının ortaya koyduğu seçenekler cazip değil: eski bir Cilium sürümünde kalıp yeni sürümün sunduklarından mahrum kalmak ya da tamamen farklı bir ağ yığınına geçmek.
Masadaki çözümler
Kısa vadede yazı, BTF'yi elle etkinleştirmeye veya özel kernel derlemeleri dağıtmaya işaret ediyor. Ancak bunları sürdürülemez olarak değerlendiriyor: özel bilgi gerektiriyorlar, her kernel güncellemesinde tekrarlanmaları gerekiyor ve kararsızlık riski taşıyorlar.
Önerdiği uzun vadeli çareler ise upstream tarafında. Raspberry Pi OS BTF'yi varsayılan olarak etkinleştirip boyut ve bellek maliyetini kabullenebilir. Cilium da BTF'ye bağımlılığını azaltabilir; ancak yazı bunun performans takasları içerebileceğini not ediyor. Bu arada, topluluk tarafından sürdürülen yamalar, iki projeden hiçbirinin resmi desteği olmadan eksik desteği ekleyebilir.
Neden önemli
Ucuz ARM kartları edge Kubernetes için gerçekten popüler bir zemin ve büyük bir ağ sürümü ile en yaygın Pi dağıtımı arasındaki sert bir uyumsuzluk, operatörleri donanımları ile yükseltme yolları arasında seçim yapmaya zorluyor. Bu olay, ekosistemdeki daha geniş bir gerilimi de gözler önüne seriyor: kısıtlı cihazlar için kernel derleyicileri, cloud-native araçların giderek temel gereklilik olarak gördüğü özellikleri buduyor ve BTF artık kesinlikle bu kategoride. Onsuz dağıtım yapanlar, taraflardan biri hamle edene kadar modern eBPF tabanlı yazılımların dışında kalmaya devam edecek.
Belirtilmesi gereken bir uyarı: bu anlatım tek bir topluluk yazısına dayanıyor, Cilium veya Raspberry Pi projelerinden resmi bir beyan yok; bu yüzden etkilenen operatörler, planlarını buna göre yapmadan önce gereksinimi Cilium'un kendi sürüm dokümantasyonu ve kernel yapılandırmalarıyla doğrulamalı.
- #cilium
- #ebpf
- #raspberry-pi
- #kubernetes
- #linux-kernel