Rediacc ile Depoları Dağıtma ve Yönetme
Depolar, Rediacc’ın temel dağıtım birimidir, her biri kendi Docker daemon’ı ve özel depolaması olan izole, şifreli bir ortamdır. Bu öğreticide şifreli bir depo oluşturur, konteynerleştirilmiş bir uygulama dağıtır, çalışan konteynerleri inceler ve temizlersiniz. Bitirdiğinizde tam bir dağıtım yaşam döngüsünü tamamlamış olursunuz.
Ön Koşullar
- Yapılandırması başlatılmış
rdcCLI’nin kurulu olması - Hazırlanmış bir makine (bkz. Öğretici: Makine Kurulumu)
Rediaccfilevedocker-compose.ymliçeren basit bir uygulama
Etkileşimli Kayıt
Adım 1: Şifreli bir depo oluşturun
Her depo kendi LUKS şifreli depolama birimine sahip olur. Makineyi ve depolama boyutunu belirtin.
rdc repo create --name test-app -m server-1 --size 2G
Rediacc 2 GB’lık şifreli bir birim oluşturur, biçimlendirir ve otomatik olarak bağlar. Depo, dosya yüklemeye hazırdır.
Adım 2: Depoları listeleyin
Yeni deponun kullanılabilir olduğunu doğrulayın.
rdc repo list -m server-1
Makinedeki tüm depoları boyutları, bağlama durumları ve şifreleme durumlarıyla birlikte gösterir.
Adım 3: Bağlama yolunu inceleyin
Dağıtımdan önce, deponun depolamasının bağlı ve erişilebilir olduğunu doğrulayın.
rdc term connect -m server-1 -c "ls -la /mnt/rediacc/mounts/test-app/"
Bağlama dizini, uygulama dosyalarının bulunduğu yerdir, Rediaccfile, docker-compose.yml ve veri birimleri.
Adım 4: Servisleri başlatın
Depoyu bağlayarak ve Docker servislerini başlatarak uygulamayı dağıtın.
rdc repo up --name test-app -m server-1 --mount
Bu, depoyu bağlar (zaten bağlı değilse), izole bir Docker daemon başlatır ve up() ile servisleri başlatır.
Not: İlk dağıtım, Docker imajları indirildiği için daha uzun sürer. Sonraki başlatmalar önbelleğe alınmış imajları yeniden kullanır.
Adım 5: Çalışan konteynerleri görüntüleyin
rdc machine containers server-1
Makinedeki tüm depolardaki tüm çalışan konteynerleri, CPU ve bellek kullanımı dahil gösterir.
Adım 6: Depo terminaline erişin
Deponun izole Docker ortamında komut çalıştırmak için:
rdc term connect -m server-1 -r test-app -c "docker ps"
Terminal oturumu, DOCKER_HOST’u deponun izole Docker soketine ayarlar. Tüm Docker komutları yalnızca o deponun konteynerlerine karşı çalışır.
Adım 7: Durdurun ve temizleyin
İşiniz bittiğinde, servisleri durdurun, şifreli birimi kapatın ve isteğe bağlı olarak depoyu silin.
rdc repo down --name test-app -m server-1 # Servisleri durdur
rdc repo unmount --name test-app -m server-1 # Şifreli birimi kapat
rdc repo delete --name test-app -m server-1 # Depoyu kalıcı olarak sil
down konteynerleri ve Docker daemon’ı durdurur. unmount LUKS birimini kapatır. delete depoyu ve şifreli depolamasını kalıcı olarak kaldırır.
Uyarı:
repo deletegeri alınamaz. Depodaki tüm veriler yok edilir. Gerekiyorsa önce bir yedek oluşturun.
Sorun Giderme
Depo oluşturma sırasında “Yetersiz disk alanı”
Şifreli birim, ana makinede bitişik boş alan gerektirir. Sunucuda df -h ile kullanılabilir alanı kontrol edin. Daha küçük bir --size değeri kullanmayı veya disk alanı boşaltmayı düşünün.
repo up sırasında Docker imaj çekme zaman aşımı
Büyük imajlar yavaş bağlantılarda zaman aşımına uğrayabilir. rdc repo up ile yeniden deneyin, kaldığı yerden devam eder. Ağdan izole ortamlar için, imajları deponun Docker daemon’ına önceden yükleyin.
“Bağlama başarısız” veya “LUKS açma başarısız” LUKS parolası yapılandırmadan türetilir. Depoyu oluşturan aynı yapılandırmayı kullandığınızı doğrulayın. Birim başka bir işlem tarafından zaten bağlıysa, önce bağlantısını kesin.
Sonraki Adımlar
Şifreli bir depo oluşturdunuz, bir uygulama dağıttınız, konteynerleri inceleydiniz ve temizlediniz. Dağıtımlarınızı izlemek için:
- Servisler, Rediaccfile referansı, servis ağları, otomatik başlatma ve çoklu servis düzenleri
- Öğretici: İzleme ve Tanılama, sağlık kontrolleri, konteyner inceleme ve tanılama
- Araçlar, terminal, dosya senkronizasyonu ve VS Code entegrasyonu