Incus¶
Bu makalede
- Incus. Temel Özellikler
- Çalıştırma Özellikleri
- Incus Dağıtıldıktan Sonra Başlangıç
- Başlangıç Altyapı Kurulumu
- Konteyner Oluşturma ve Yönetme
- Konteyner Yapılandırmasını Yönetme
- Anlık Görüntüler ve Göç ile Çalışma
- Görüntüleri Yönetme
- Ağ Etkileşimi
- Depolama Yönetimi
- NAT ve Yönlendirmeyi Yapılandırma
- API Kullanarak Incus ile Sunucu Siparişi
Bilgi
Incus, açık kaynaklı bir sistem konteyneri ve sanal makine yöneticisidir. LXD'nin bir çatallamasıdır (fork) ve Linux konteynerlerini ve sanal makineleri tek bir platformda yönetmek için basit ama güçlü bir araç sağlar.
Incus. Temel Özellikler¶
- Konteyner ve VM Yönetimi: Incus, tek bir arayüz üzerinden Linux sistem konteynerlerini ve tam donanımlı QEMU/KVM sanal makinelerini çalıştırmanıza olanak tanır.
- Süreç İzolasyonu: Konteynerler, kendi dosya sistemleri, ağ arayüzleri ve süreçlerine sahip izole bir ortamda çalışır.
- Ağ Yetenekleri: Çeşitli ağ türleri için yerleşik destek - köprüler, NAT, VLAN'lar, konteynerler için örtü ağları (overlay networks).
- Depolama Yönetimi: Farklı arka uçları (dir, btrfs, ZFS, LVM) destekleyen esnek depolama havuzu sistemi.
- Anlık Görüntüler ve Göç (Migration): Konteyner durumunun anlık görüntülerinin oluşturulması, hizmetleri durdurmadan ana bilgisayarlar arasında canlı göç.
- Yapılandırma Profilleri: Önceden tanımlanmış parametrelerle konteynerlerin hızlı dağıtımı için yeniden kullanılabilir profiller.
- Kaynak Kısıtlaması: Her konteyner için CPU, bellek, disk I/O ve ağ bant genişliği üzerinde hassas kontrol.
- REST API: Otomasyon ve harici sistemlerle entegrasyon için tam özellikli HTTP API.
- Web Arayüzü: Görsel altyapı kontrolü için yerleşik web yönetim paneli.
- Görüntü Kütüphanesi: Çeşitli Linux dağıtımlarının hazır görüntülerinden oluşan kapsamlı bir koleksiyona erişim.
- Kümeleme (Clustering): Dağıtık yönetim için birden fazla ana bilgisayarın tek bir küme halinde birleştirilebilmesi.
Çalıştırma Özellikleri¶
| ID | Yazılım Adı | Uyumlu OS | VM | BM | VGPU | GPU | Min CPU (Çekirdekler) | Min RAM (GB) | Min HDD/SSD (GB) | Özel Alan Adı | Aktif |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 234 | Linux Containers Incus | Debian 13 | + | + | + | + | 2 | 2 | 50 | Hayır | SİPARİŞ VER |
Temel Incus Yolları ve Dosyaları:
- Ana Yapılandırma Dosyası:
/etc/default/incus - Veri Dizin:
/var/lib/incus - Depolama Havuzları:
/var/lib/incus/storage-pools/ - Konteynerler:
/var/lib/incus/containers/ - Görüntüler:
/var/lib/incus/images/ - Günlük Dosyası:
/var/log/incus/incusd.log - Sistem Hizmetleri:
/usr/lib/systemd/system/incus*.service - Sysctl Yapılandırması:
/etc/sysctl.d/50-incus.conf - Kullanıcı Yapılandırması:
/root/.config/incus/
Not
Aksi belirtilmedikçe, yazılımın geliştiricinin sitesinden veya işletim sistemi depolarından en son sürümünü varsayılan olarak kuruyoruz.
Incus Dağıtıldıktan Sonra Başlangıç¶
Ödeme yapıldıktan sonra, kayıt sırasında belirtilen adrese sunucunun çalışmaya hazır olduğunu bildiren bir e-posta bildirimi gönderilecektir. Bu e-postada VPS IP adresi ve erişim için kimlik bilgileri yer alacaktır. Şirketimizin müşterileri ekipmanları Sunucu Yönetim Paneli ve API — Invapi üzerinden yönetir.
Kimlik doğrulama verileri, sunucu yönetim panelinin Configuration >> Tags sekmesinde veya gönderilen e-postada bulunabilir:
- Incus Web Arayüzüne Erişim Bağlantısı: webpanel etiketinde (8443 portu, HTTPS)
Önemli
Web arayüzüne erişmek için HTTPS kullanmanız ve tarayıcınızda kendi kendine imzalı sertifikayı kabul etmeniz gerekir.
Incus web arayüzüne ilk erişimde, kendi kendine imzalı sertifika nedeniyle tarayıcı güvenli olmayan bir bağlantı konusunda uyarıda bulunacaktır. Devam etmek için sertifikayı kabul etmelisiniz:

Sertifika kabul edildikten sonra giriş sayfası açılacaktır. Kimlik doğrulama sürecini başlatmak için Login with TLS düğmesine tıklayın:

Sistem sizi mevcut bir sertifika ekleme sayfasına yönlendirecektir:

Trust token sekmesini seçin ve talimatları izleyin:
-
Sunucu terminalinde, bir belirteç (token) oluşturmak için komutu çalıştırın:
-
Sistem, kopyalanması gereken bir belirteç oluşturacaktır:

-
Elde edilen belirteci kimlik doğrulama sayfasındaki ilgili metin alanına yapıştırın ve
Importdüğmesine tıklayın.
Başarılı kimlik doğrulama sonrasında, örneklerin (instances) listesini içeren ana web arayüzü sayfası açılacaktır.
Web Arayüzü Üzerinden Yeni Konteyner Oluşturma¶
Yeni bir konteyner oluşturmak için arayüzün sağ üst köşesindeki Create instance düğmesine tıklayın:

Birkaç yapılandırma bölümü içeren bir örnek oluşturma formu açılacaktır. Temel bir görüntü seçmek için Browse images düğmesine tıklayın. Dağıtım, sürüm, varyant, mimari ve tür filtrelerine sahip bir görüntü seçme penceresi açılacaktır:

Aşağıdaki yapılandırma bölümleri mevcuttur:
- Main configuration — temel konteyner parametreleri: ad, açıklama, örnek türü (konteyner veya sanal makine), temel görüntü ve atanmış profiller;
- Devices — konteyner cihaz yönetimi:
- Disk — disk cihazı ve bağlama noktası yapılandırması;
- Network — ağ arayüzü yapılandırması;
- GPU — grafik hızlandırıcıların bağlanması;
- Proxy — ana bilgisayar ve konteyner arasında port yönlendirme yapılandırması;
- Other — ek cihaz türleri;
- Resource limits — kaynak kısıtlaması: işlemci (CPU), RAM, disk I/O işlemleri;
- Security policies — güvenlik politikaları: izolasyon yapılandırması, ayrıcalıklar ve güvenlik profilleri (AppArmor, SELinux);
- Snapshots — yedekleme ve kurtarma için konteyner durumu anlık görüntü yönetimi;
- Migration — ana bilgisayarlar arasında konteyner göç parametreleri;
- Boot — önyükleme ayarları: önyükleme cihazı sırası, sistem başlatıldığında otomatik başlatma;
- Cloud init — cloud-init aracılığıyla otomatik konteyner başlatma yapılandırması (kullanıcılar, ağ, paketler, betikler).
Select düğmesine tıklayarak istenen görüntüyü seçin:

Bir görüntü seçtikten sonra temel parametreleri doldurun:

- Instance name — konteyner adı;
- Description — açıklama (isteğe bağlı);
- Instance type — örnek türü (Container veya Virtual Machine);
- Profiles — yapılandırma profilleri.
Konteyneri oluşturulduktan hemen sonra başlatmak için Create and start düğmesine tıklayın. Başlatmadan oluşturmak için Create düğmesini kullanın.
Konteyner Durum İzleme¶
Konteyner dağıtımı sırasında görüntü indirme ilerlemesi gösterilir. İndirme ilerlemesi gösterimiyle "Setting up" durumu, mevcut örnek oluşturma ilerlemesini gösterir. Kurulum tamamlandıktan sonra durum, yeşil bir göstergeli "Running" olarak değişecektir:

Hizmet Yönetimi¶
Durumu kontrol etme:
Hizmeti yeniden başlatma:
Hizmeti durdurma:
Hizmeti başlatma:
Günlükleri görüntüleme:
Başlangıç Altyapı Kurulumu¶
Sunucu dağıtıldıktan sonra, başlangıç Incus altyapı kurulumunun yapılması önerilir.
Depolama Havuzu Oluşturma¶
Bir depolama havuzu, konteyner verilerinin nerede saklanacağını tanımlar:
Oluşturulan depolama havuzlarını kontrol etme:
Bir havuz hakkında ayrıntılı bilgi görüntülemek için:
Ağ Yapılandırması¶
Otomatik IPv4 adres atamasına sahip konteynerler için bir NAT köprüsü oluşturma:
Ağ ayarlarını kontrol etme:
Ağ yapılandırmasını görüntüleme:
Varsayılan Profilin Yapılandırılması¶
default profili, yeni konteynerler için temel yapılandırmayı tanımlar. Profile bir kök disk ekleme:
Profile bir ağ arayüzü ekleme:
Profil yapılandırmasını kontrol etme:
Konteyner Oluşturma ve Yönetme¶
Konteyner Oluşturma¶
Kaynak sınırlarıyla bir Debian 12 konteyneri oluşturma örneği:
Komut parametreleri:
images:debian/12- genel depodan görüntüdeb12- konteyner adı--profile default- varsayılan profil kullanımı-c limits.cpu=2- 2 CPU çekirdeği sınırı-c limits.memory=2GiB- 2 GB bellek sınırı
Konteynerleri Görüntüleme¶
Tüm örneklerin listesi:
Çıktı, her konteynerin durumu, IP adresleri ve türü hakkında bilgi içerecektir.
Konteyner Durum Yönetimi¶
Bir konteyneri başlatma:
Bir konteyneri durdurma:
Bir konteyneri yeniden başlatma:
Bir konteyneri silme (durdurulması gerekir):
Çalışan bir konteyneri zorla silme:
Konteyner Erişimi¶
Bash üzerinden bağlanma:
TTY konsoluna bağlanma:
Konsoldan çıkmak için Ctrl+a q tuş kombinasyonunu kullanın.
Port Yönlendirme¶
Bir konteynerin içindeki hizmetlere harici ağdan erişmek için, bir proxy cihazı aracılığıyla port yönlendirme kullanılır:
Bu komut, ana bilgisayarın 8080 portunu konteynerin 80 portuna yönlendirir.
Birden fazla port için örnek:
HTTP:
HTTPS:
SSH:
Konteyner Yapılandırmasını Yönetme¶
Yapılandırmayı Görüntüleme¶
Tam genişletilmiş konteyner yapılandırmasını görüntüleme:
Profiller olmadan temel yapılandırmayı görüntüleme:
Parametreleri Değiştirme¶
Yapılandırma parametrelerini ayarlama:
CPU kısıtlaması:
Bellek kısıtlaması:
Disk I/O kısıtlaması:
Konteyner otomatik başlatma:
Cihaz Ekleme¶
Cihaz ekleme için genel sözdizimi:
Örnekler:
Ek bir disk ekleme:
Ek bir ağ arayüzü ekleme:
Bir konteynerde ana bilgisayar dizinini bağlama:
Bir cihazı kaldırma:
Anlık Görüntüler ve Göç ile Çalışma¶
Anlık Görüntü Oluşturma¶
Anlık görüntüler, sonraki kurtarma için konteyner durumunu kaydetmenize olanak tanır:
Örnek:
Konteyner anlık görüntüleri listesi:
Anlık Görüntüden Geri Yükleme¶
Örnek:
Bir anlık görüntüyü silme:
Yeniden Adlandırma ve Kopyalama¶
Bir konteyneri yeniden adlandırma:
Aynı ana bilgisayarda bir konteyneri kopyalama:
Bir konteyneri başka bir Incus ana bilgisayarına kopyalama:
Uzak ana bilgisayarlarla çalışmak için önce bir uzak bağlantı eklemelisiniz:
Görüntüleri Yönetme¶
Görüntüleri Görüntüleme¶
Yerel görüntüler listesi:
Uzak depodaki görüntüler listesi:
Belirli bir dağıtımı arama:
Görüntüleri Kopyalama¶
Otomatik güncelleme ile genel depodan bir görüntü kopyalama:
Takma adla bir görüntü kopyalama:
Konteynerden Görüntü Oluşturma¶
Görüntüleri Silme¶
veya takma adla:
Ağ Etkileşimi¶
Ağ Yönetimi¶
Ağlar listesi:
Ağ yapılandırmasını görüntüleme:
Yeni bir ağ oluşturma:
# Köprü ağı oluşturma
incus network create mybr0 \
ipv4.address=10.10.10.1/24 \
ipv4.nat=true \
ipv6.address=none
# Macvlan ağı oluşturma
incus network create mymacvlan \
type=macvlan \
parent=eth0
Bir ağı düzenleme:
Bir ağı silme:
Ağ Yönlendirme Kuralları¶
Port yönlendirme için bir yönlendirme kuralı oluşturma:
Depolama Yönetimi¶
Depolama Havuzlarını Yönetme¶
Havuzlar listesi:
Havuz bilgilerini görüntüleme:
Bir depolama havuzu oluşturma:
Dir tabanlı havuz:
Btrfs havuzu:
ZFS havuzu:
Bir havuzu düzenleme:
Bir havuzu silme:
Birimleri Yönetme¶
Özel bir birim oluşturma:
Bir havuzdaki birimler listesi:
Bir birimi bir konteynere bağlama:
incus config device add <container> <device-name> disk \
pool=<pool-name> \
source=<volume-name> \
path=/mount/path
Bir birimi kopyalama:
Bir birimi silme:
NAT ve Yönlendirmeyi Yapılandırma¶
Bazı durumlarda, konteynerlere harici ağa erişim sağlamak için manuel NAT ve yönlendirme kuralı yapılandırması gerekebilir.
nftables'a Geçiş¶
IP yönlendirmesini etkinleştirme¶
Kalıcı uygulama için /etc/sysctl.conf dosyasına ekleyin:
Değişikliklerden sonra Incus'u yeniden başlatma:
NAT Tablosunu Yapılandırma¶
NAT tablosu ve POSTROUTING zincirini oluşturma:
Konteyner alt ağı için masquerade kuralı ekleme:
Not
ens1'i harici ağ arayüzü adınızla ve 10.1.4.0/24'ü Incus köprü alt ağınızla değiştirin.
FORWARD Zincirini Yapılandırma¶
Filtre tablosu ve FORWARD zincirini oluşturma:
Trafik izni için kurallar ekleme:
Konteynerlerden dışa doğru trafiğe izin verme:
Kurulmuş/ilişkili trafiğe geri dönüşe izin verme:
nft insert rule ip filter FORWARD iifname "ens1" oifname "incusbr0" ct state established,related accept
nftables Kurallarını Kontrol Etme¶
Tüm kuralları görüntüleme:
Kuralları kaydetme (Debian/Ubuntu için):
Kuralları kaydetme paketi yükleme:
Mevcut kuralları kaydetme:
Otomatik yüklemeyi etkinleştirme:
Not
Tüm Incus yetenekleri hakkında ayrıntılı bilgi resmi geliştirici dokümantasyonunda yer almaktadır.