Sorun Giderme
Yaygın sorunlar ve çözümleri. Şüphe durumunda, kapsamlı bir tanılama kontrolü yapmak için rdc doctor ile başlayın.
SSH Bağlantısı Başarısız
- Manuel olarak bağlanabildiğinizi doğrulayın:
ssh -i ~/.ssh/id_ed25519 deploy@203.0.113.50 - Host anahtarlarını yenilemek için
rdc context scan-keys server-1komutunu çalıştırın - SSH portunun eşleştiğini kontrol edin:
--port 22 - Bağlantıyı test edin:
rdc machine test-connection --ip 203.0.113.50 --user deploy
Host Anahtarı Uyuşmazlığı
Bir sunucu yeniden kurulduysa veya SSH anahtarları değiştiyse, “host key verification failed” hatası görürsünüz:
rdc context scan-keys server-1
Bu komut yeni host anahtarlarını alır ve yapılandırmanızı günceller.
Makine Kurulumu Başarısız
- SSH kullanıcısının şifresiz sudo erişimine sahip olduğundan emin olun veya gerekli komutlar için
NOPASSWDyapılandırın - Sunucudaki kullanılabilir disk alanını kontrol edin
- Ayrıntılı çıktı için
--debugile çalıştırın:rdc context setup-machine server-1 --debug
Depo Oluşturma Başarısız
- Kurulumun tamamlandığını doğrulayın: veri deposu dizini mevcut olmalıdır
- Sunucudaki disk alanını kontrol edin
- renet ikili dosyasının yüklü olduğundan emin olun (gerekirse kurulumu yeniden çalıştırın)
Servisler Başlatılamıyor
- Rediaccfile sözdizimini kontrol edin: geçerli Bash olmalıdır
docker composedosyalarınınnetwork_mode: hostkullandığından emin olun- Docker imajlarının erişilebilir olduğunu doğrulayın (
prep()içindedocker compose pullkullanmayı düşünün) - Deponun Docker soketi üzerinden konteyner günlüklerini kontrol edin:
rdc term server-1 my-app -c "docker logs <container-name>"
Veya tüm konteynerleri görüntüleyin:
rdc machine containers server-1
İzin Reddedildi Hataları
- Depo işlemleri sunucuda root gerektirir (renet
sudoile çalışır) - SSH kullanıcınızın
sudogrubunda olduğunu doğrulayın - Veri deposu dizininin doğru izinlere sahip olduğunu kontrol edin
Docker Soket Sorunları
Her deponun kendi Docker daemon’u vardır. Docker komutlarını manuel olarak çalıştırırken doğru soketi belirtmeniz gerekir:
# rdc term kullanarak (otomatik yapılandırılmış):
rdc term server-1 my-app -c "docker ps"
# Veya soket ile manuel olarak:
docker -H unix:///var/run/rediacc/docker-2816.sock ps
2816 değerini deponuzun ağ kimliği ile değiştirin (config.json veya rdc repo status içinde bulunabilir).
Konteynerler Yanlış Docker Daemon’da Oluşturulmuş
Konteynerleriniz deponun izole daemon’u yerine ana sistemin Docker daemon’unda görünüyorsa, en yaygın neden Rediaccfile içinde sudo docker kullanımıdır.
sudo ortam değişkenlerini sıfırlar, bu nedenle DOCKER_HOST kaybolur ve Docker varsayılan olarak sistem soketini (/var/run/docker.sock) kullanır. Rediacc bunu otomatik olarak engeller, ancak karşılaşırsanız:
dockerkomutunu doğrudan kullanın — Rediaccfile fonksiyonları zaten yeterli yetkilerle çalışır- sudo kullanmanız gerekiyorsa, ortam değişkenlerini korumak için
sudo -E dockerkullanın - Rediaccfile dosyanızı
sudo dockerkomutları için kontrol edin vesudokısmını kaldırın
Terminal Çalışmıyor
rdc term bir terminal penceresi açamıyorsa:
- Komutları doğrudan çalıştırmak için
-cile satır içi modu kullanın:rdc term server-1 -c "ls -la" - Satır içi modda sorun varsa
--externalile harici terminali zorlayın - Linux’ta
gnome-terminal,xtermveya başka bir terminal emülatörünün yüklü olduğundan emin olun
Tanılama Çalıştırma
rdc doctor
Bu komut ortamınızı, renet kurulumunu, bağlam yapılandırmasını ve kimlik doğrulama durumunu kontrol eder. Her kontrol OK, Warning veya Error durumunu kısa bir açıklama ile bildirir.