Incus¶
Bu makalede
- Incus. Temel Özellikler
- Çalıştırma Özellikleri
- Incus Kurulumundan Sonra Başlangıç
- İlk Altyapı Kurulumu
- Konteyner Oluşturma ve Yönetme
- Konteyner Yapılandırmasını Yönetme
- Snapshot'lar ve Migrasyon ile Çalışma
- İmajları Yönetme
- Ağ Etkileşimi
- Depolama Yönetimi
- NAT ve Yönlendirme Yapılandırma
- API kullanarak Incus ile Sunucu Siparişi Verme
Bilgi
Incus, açık kaynaklı bir sistem konteyner ve sanal makine yöneticisidir. LXD'nin bir fork'udur ve Linux konteynerlerini ve sanal makinelerini birleşik bir platform üzerinde yönetmek için basit ancak güçlü bir araç sağlar.
Incus. Temel Özellikler¶
- Konteyner ve VM Yönetimi: Incus, tek bir arayüz üzerinden Linux sistem konteynerlerinin ve tam kapsamlı QEMU/KVM sanal makinelerinin çalıştırılmasına olanak tanır.
- Süreç İzolasyonu: Konteynerler; kendi dosya sistemlerine, ağ arayüzlerine 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 (bridges), NAT, VLAN'lar, konteynerler için overlay ağları.
- Depolama Yönetimi: Farklı backend'leri destekleyen esnek depolama havuzu sistemi - dir, btrfs, ZFS, LVM.
- Snapshot'lar ve Migrasyon: Konteyner durumu snapshot'larının oluşturulması, servisler durdurulmadan hostlar arasında canlı migrasyon.
- Yapılandırma Profilleri: Önceden tanımlanmış parametrelerle konteynerlerin hızlı kurulumu için yeniden kullanılabilir profiller.
- Kaynak Sınırlama: Her bir 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.
- İmaj Kütüphanesi: Çeşitli Linux dağıtımlarının geniş bir hazır imaj koleksiyonuna erişim.
- Kümeleme (Clustering): Dağıtık yönetim için birden fazla hostu tek bir kümede birleştirme yeteneği.
Ç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 |
Not
Aksi belirtilmedikçe, varsayılan olarak yazılımın en son sürümünü geliştiricinin sitesinden veya işletim sistemi depolarından kurarız.
Incus Kurulumundan Sonra Başlangıç¶
Ödeme yapıldıktan sonra, kayıt sırasında belirtilen adrese sunucunun çalışmaya hazır olduğunu belirten bir e-posta bildirimi gönderilecektir. Bu e-posta VPS IP adresini ve erişim için kimlik bilgilerini içerecektir. Şirketimizin müşterileri ekipmanları Server Management Panel and API — Invapi üzerinden yönetirler.
Kimlik doğrulama verileri, sunucu yönetim panelindeki Configuration >> Tags sekmesinde veya gönderilen e-postada bulunabilir:
- Incus Web Interface'e Erişim Bağlantısı: tag webpanel içinde (port 8443, HTTPS)
Dikkat
Web arayüzüne erişmek için HTTPS kullanmalı ve tarayıcınızda kendi kendine imzalanmış sertifikayı kabul etmelisiniz.
Incus web arayüzüne ilk kez erişildiğinde, tarayıcı kendi kendine imzalanmış sertifika nedeniyle güvensiz bir bağlantı hakkında uyarı verecektir. Devam etmek için sertifikoyu kabul etmeniz gerekir:

Sertifikayı kabul ettikten sonra giriş sayfası açılacaktır. Kimlik doğrulama işlemini 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 token oluşturmak için komutu çalıştırın:
-
Sistem kopyalanması gereken bir token oluşturacaktır:

-
Elde edilen token'ı kimlik doğrulama sayfasındaki ilgili metin alanına yapıştırın ve
Importdüğmesine tıklayın.
Başarılı kimlik doğrulamanın ardından, örneklerin listelendiği ana web arayüzü sayfası açılacaktır.
Web Arayüzü Aracılığıyla Yeni Bir 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üne sahip bir örnek oluşturma formu açılacaktır. Bir temel imaj seçmek için Browse images düğmesine tıklayın. Dağıtım, sürüm, varyant, mimari ve türe göre filtreleme seçeneklerinin olduğu bir imaj seçim 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ü (container veya sanal makine), temel imaj ve atanan 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 — host ve konteyner arasında port yönlendirme yapılandırması;
- Other — ek cihaz türleri;
- Resource limits — kaynak sınırlama: 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 snapshot yönetimi;
- Migration — hostlar arasında konteyner migrasyon parametreleri;
- Boot — önyükleme ayarları: önyükleme cihaz sırası, sistem başlangıcında otomatik başlatma;
- Cloud init — cloud-init aracılığıyla otomatik konteyner başlatma yapılandırması (kullanıcılar, ağ, paketler, betikler).
Yanındaki Select düğmesine tıklayarak istediğiniz imajı seçin:

Bir imaj 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.
Oluşturmanın hemen ardından konteyneri başlatmak için Create and start düğmesine tıklayın. Başlatmadan oluşturmak için Create düğmesini kullanın.
Konteyner Durumu İzleme¶
Konteyner kurulumu sırasında imaj indirme ilerlemesi gösterilir. "Setting up" durumu ve indirme ilerleme göstergesi, mevcut örnek oluşturma ilerlemesini gösterir. Kurulum tamamlandıktan sonra durum, yeşil bir gösterge ile "Running" olarak değişecektir:

Servis Yönetimi¶
Durumu kontrol etme:
Servisi yeniden başlatma:
Servisi durdurma:
Servisi başlatma:
Logları görüntüleme:
İlk Altyapı Kurulumu¶
Sunucu kurulumundan sonra, ilk Incus altyapı kurulumunun yapılması önerilir.
Bir 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üleme:
Ağ Yapılandırması¶
Konteynerler için otomatik IPv4 adreslemeli bir NAT köprüsü oluşturma:
Ağ ayarlarını kontrol etme:
Ağ yapılandırmasını görüntüleme:
Varsayılan Profili Yapılandırma¶
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¶
Bir Konteyner Oluşturma¶
Kaynak sınırları olan bir Debian 12 konteyneri oluşturma örneği:
Komut parametreleri:
images:debian/12- genel depodan imajdeb12- konteyner adı--profile default- varsayılan profili kullanma-c limits.cpu=2- 2 CPU çekirdeği ile sınırlama-c limits.memory=2GiB- 2 GB bellek sınırı
Konteynerleri Görüntüleme¶
Tüm örneklerin listesi:
Çıktı, her bir konteynerin durumu, IP adresleri ve türü hakkında bilgi içerecektir.
Konteyner Durumunu Yönetme¶
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 konteyner içindeki servislere harici bir ağdan erişmek için, bir proxy cihazı aracılığıyla port yönlendirmesi kullanılır:
Bu komut, host portu 8080'i konteyner portu 80'e yönlendirir.
Birden fazla port için örnekler:
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 sınırlaması:
Bellek sınırlaması:
Disk I/O sınırlaması:
Konteyner otomatik başlatma:
Cihaz Ekleme¶
Cihaz eklemek için genel sözdizimi:
Örnekler:
Ek bir disk ekleme:
Ek bir ağ arayüzü ekleme:
Bir host dizinini konteynere bağlama (mount):
Cihaz kaldırma:
Snapshot'lar ve Migrasyon ile Çalışma¶
Snapshot Oluşturma¶
Snapshot'lar, sonraki kurtarmalar için konteyner durumunu kaydetmeye olanak tanır:
Örnek:
Konteyner snapshot listesi:
Bir Snapshot'tan Geri Yükleme¶
Örnek:
Bir snapshot silme:
Yeniden Adlandırma ve Kopyalama¶
Konteyneri yeniden adlandırma:
Aynı host üzerinde bir konteyneri kopyalama:
Bir konteyneri başka bir Incus hostuna kopyalama:
Uzak hostlarla çalışmak için önce bir uzak (remote) eklemelisiniz:
İmajları Yönetme¶
İmajları Görüntüleme¶
Yerel imajların listesi:
Uzak depodaki imajların listesi:
Belirli bir dağıtım için arama yapma:
İmaj Kopyalama¶
Otomatik güncelleme ile genel depodan imaj kopyalama:
Takma ad (alias) ile imaj kopyalama:
Bir Konteynerdan İmaj Oluşturma¶
İmaj Silme¶
veya takma ad ile:
Ağ Etkileşimi¶
Ağ Yönetimi¶
Ağ listesi:
Ağ yapılandırmasını görüntüleme:
Yeni bir ağ oluşturma:
# Köprü (bridge) 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¶
Havuz listesi:
Havuz bilgilerini görüntüleme:
Depolama havuzu oluşturma:
Dir tabanlı havuz:
Btrfs havuzu:
ZFS havuzu:
Bir havuzu düzenleme:
Bir havuzu silme:
Birimleri (Volumes) Yönetme¶
Özel bir birim oluşturma:
Bir havuzdaki birimlerin listesi:
Bir birimi 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önlendirme Yapılandırma¶
Bazı durumlarda, konteyner ağ erişimini harici ağa sağlamak için manuel NAT ve yönlendirme kural yapılandırması gerekebilir.
nftables'a Geçiş¶
IP Yönlendirmeyi 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 zinciri oluşturma:
Konteyner alt ağı için masquerade kuralı ekleme:
Not
ens1 yerine harici ağ arayüzü adınızı ve 10.1.4.0/24 yerine Incus köprü alt ağınızı yazın.
FORWARD Zincirini Yapılandırma¶
Filtre tablosu ve FORWARD zinciri oluşturma:
Trafiğe izin vermek için kurallar ekleme:
Konteynerlardan dışarıya trafiğe izin verme:
Oluşturulmuş/ilişkili (established/related) trafiğin geri dönüşüne 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ı kaydetmek için paketi yükleme:
Mevcut kuralları kaydetme:
Otomatik yüklemayı etkinleştirme:
Not
Tüm Incus yetenekleri hakkında ayrıntılı bilgi resmi geliştirici dokümanında yer almaktadır.
API kullanarak Incus ile Sunucu Siparişi Verme¶
Bu yazılımı API kullanarak kurmak için bu talimatları izleyin.