RadarGitHub Radarai üretimi

GitHub Radar — Incus

LXD çatalı olarak doğan, sistem konteynerleri (LXC) ile QEMU sanal makinelerini ZFS/OVN entegrasyonuyla tek bir API üzerinden yöneten modern hipervizör.

Incus, Canonical şirketinin LXD projesini tek taraflı olarak AGPLv3 lisansına geçirip CLA zorunluluğu getirmesinin ardından orijinal yaratıcıları ve Linux Containers (LXC) çekirdek ekibi tarafından saf açık kaynak standartlarını korumak amacıyla çatallanan (fork) kurumsal sınıf bir sistem konteyneri ve sanal makine yöneticisidir 1. Docker veya Kubernetes gibi tek süreçli mikroservis araçlarının tam teşekküllü bir işletim sistemi (systemd, cron, sshd) çalıştırmakta zorlandığı, geleneksel KVM ve VMware hipervizörlerinin ise her sanal makine için bağımsız çekirdek başlatarak donanım kaynaklarını israf ettiği iki dünya arasında Incus; LXC sistem konteynerleri ile QEMU donanım sanallaştırmasını tek bir REST API ve CLI arkasında birleştiren, ZFS ve OVN entegrasyonlarıyla çıplak donanım (bare-metal) yoğunluğunu 10 kat artıran modern bir altyapı motorudur 2.

Özel bulut altyapıları, çok kiracılı barındırma (hosting) platformları ve yalın sanallaştırma çevrelerinde 6.4 bin yıldız ve son commit 1 gün önce düzeyinde bağımsız bir çekim alanı oluşturan depo, titizlikle takip edilen 45 açık issue ve kesintisiz sürümleme disiplinini kanıtlayan son sürüm v7.5.1 (Ekim 2026) metrikleriyle olgunluğunu sergilemektedir.

Mimari Deep-Dive: Incus

Incus’un getirdiği temel mühendislik sıçraması, Docker’ın “uygulama konteyneri” (application container) modeli ile VMware’in “donanım sanal makinesi” (virtual machine) yaklaşımı arasındaki suni duvarı tamamen yıkmasıdır. Proje bütünüyle Go ve performans kritik sistem çağrıları için C diliyle geliştirilmiştir 1. Go seçimi; tüm orkestrasyon motorunu, TLS sertifikalı REST API uç noktalarını ve kümeleme (clustering) mantığını tek bir hafif ikili dosyada toplamak amacıyla yapılmıştır.

İlk temel mimari direk LXC tabanlı sistem konteynerleridir 3. Docker konteynerleri tek bir izole süreci (entrypoint) çalıştırıp kapandığında tüm durumunu kaybederken, Incus sistem konteyneri tam bir Ubuntu, Debian veya Alpine işletim sistemi gibi davranır. Konteyner içinde gerçek bir systemd init süreci başlar, yerel ağdan bağımsız bir IP alır ve arka planda birden fazla servis koşturur. Ancak donanımsal emülasyon ek yükü yoktur; konteyner doğrudan ana makinenin Linux çekirdeğini (kernel) paylaşır, bellek ve CPU sınırları Linux cgroups v2 üzerinden mikrosaniyeler içinde uygulanır. Bu sayede bir KVM sanal makinesine kıyasla 10 kat daha az bellek harcar ve saniyeler içinde ayağa kalkar.

İkinci kritik sütun hibrit yürütme motorudur. Incus, tek bir komut satırı (incus launch) üzerinden yalnızca LXC konteynerlerini değil, tam donanım izolasyonu gerektiren (Windows, FreeBSD veya özel çekirdek derlemeleri) QEMU/KVM sanal makinelerini de aynı bildirimsel yapıyla çalıştırır. İki farklı sanallaştırma paradigması için ayrı araçlar kurma zorunluluğu tamamen ortadan kalkar.

Üçüncü sütun ise kopyala-yaz (Copy-on-Write - COW) depolama ve yazılım tanımlı ağ (SDN) entegrasyonudur 4. Incus; disk havuzlarını doğrudan ZFS, Btrfs veya Ceph RBD blok aygıtlarına bağlar. Yeni bir konteyner oluşturulurken imaj diske kopyalanmaz; milisaniyeler içinde anlık bir COW klonu alınır. Çalışan konteynerler CRIU (Checkpoint/Restore In Userspace) ve ZFS ağ aktarımı sayesinde sunucular arasında kesintisiz olarak canlı taşınabilir (live migration). Ağ katmanında ise yerel OVN (Open Virtual Network) ve Open vSwitch entegrasyonu sayesinde kümeler arası L2/L3 overlay ağları ve donanım hızlandırmalı sanal anahtarlar yapılandırılır.

Kod ve Topluluk Sağlığı

Incus, Ubuntu ve Canonical’da on yılı aşkın süre LXD projesini yöneten kıdemli sistem mimarı Stéphane Graber liderliğinde, bağımsız Linux Containers projesi ve küresel açık kaynak topluluğu tarafından yönetilmektedir 1. Proje, kurumsal bir şirketin tekeline girmeyi reddeden ve CLA (Katkıcı Lisans Sözleşmesi) dayatması içermeyen gerçek bir açık kaynak topluluk iradesinin ürünüdür.

Depodaki 45 açık issue sayısı, projenin on binlerce üretim sunucusunda aktif olarak kullanılmasına rağmen olağanüstü bir issue hijyeni ve bakımcı disiplinine sahip olduğunu göstermektedir. Stéphane Graber ve çekirdek geliştirici kadrosu hata raporlarına genellikle birkaç saat içinde bizzat yanıt vermekte, topluluk forumlarında (discuss.linuxcontainers.org) kullanıcılarla doğrudan iletişim kurmaktadır. Çekirdek depoya sunulan her PR; ZFS, Btrfs, Ceph ve LVM sürücüleri üzerinde otomatik regresyon testlerinden, QEMU sanal makine başlatma simülasyonlarından ve katı Go/C kod analizlerinden geçer 5. Sürümleme takvimi hem aylık yenilikçi sürümlerle hem de iki yılda bir yayımlanan uzun vadeli destek (LTS) paketleriyle kurumsal standartlarda yürütülmektedir. health_score bu bölümden türer: issue kapanma hızı, sürüm düzeni, bakımcı ekibi. Ajanın tahminidir; künyede öyle yazılır. Projenin bağımsız topluluk gücü, açık kaynak duruşu ve üstün yazılım kararlılığı dikkate alınarak health_score: 9.4 takdir edilmiştir.

Production Riski: Gerçekten Kullanılır mı?

Incus’u üretim altyapılarına dahil etmeyi planlayan sistem mimarları için lisanslama açısından hiçbir hukuki risk bulunmamaktadır; proje son derece özgür Apache 2.0 lisansı ile dağıtılmakta olup şirket içi veri merkezlerinde veya genel bulut sağlayıcılarında tam kullanım serbestisi sunar 6.

Incus’un üretimde tartışmasız hayat kurtardığı senaryolar oldukça açıktır: Proxmox veya VMware ESXi gibi ağır sanallaştırma platformlarının donanım lisans maliyetlerinden kurtulmak isteyen veri merkezleri, CI/CD hatlarında tam işletim sistemi izolasyonu gerektiren dinamik test ortamları ve aynı donanımda hem Linux sistem konteynerlerini hem de Windows sanal makinelerini tek bir API ile yönetmek isteyen barındırma (hosting) sağlayıcıları. LXD’den tek bir komutla (incus-lxd-to-incus) sorunsuz geçiş yapılabilmesi mevcut altyapıları korur.

Buna karşın, operasyonel olarak yönetilmesi gereken yapısal sınırlar vardır. Incus, ana makine (host) seviyesinde modern bir Linux çekirdeğine bağımlıdır; Windows veya macOS üzerinde yerel olarak çalıştırılamaz. İkinci kısıt ise OCI (Docker) konteynerleri ile sistem konteynerleri arasındaki kavramsal farktır; Incus mikroservis paketlemek için değil, işletim sistemi sanallaştırmak için tasarlanmıştır. Bu mimari ayrımı kavrayan sistem mimarları için Incus, modern veri merkezlerinde bare-metal sunucuları en yüksek verimle sanallaştıran en sağlam açık kaynak hipervizördür.

Kaynaklar

  1. Incus GitHub Ana Deposu
  2. Linux Containers Resmi Incus Dokümantasyonu
  3. Stéphane Robert: Sistem Konteynerleri ve VM Yöneticisi Olarak Incus
  4. Linux Containers Forumu: Incus 7.0 LTS Sürüm Duyurusu
  5. Incus GitHub Sürüm Notları ve Değişiklik Günlüğü
  6. Incus Apache 2.0 Lisans Dosyası