İçeriğe atla
%100 yerel

docker-compose to Kubernetes manifest

Docker-compose hizmetlerini Kubernetes Deployment ve Service manifestlerine dönüştürün.

Giriş
Çıkış

docker-compose to Kubernetes manifest

Bir docker-compose.yml dosyasını yapıştırın ve bu araç her hizmeti kullanıma hazır Kubernetes manifestlerine dönüştürür: bir Deployment'a ve hizmet bir bağlantı noktası yayınlarsa eşleşen bir Service'e. Compose tabanlı bir yığını bir kümeye taşıyan, elle bir Helm Chart yazan veya her alanı sıfırdan yazmak yerine YAML'nin ilk geçişini istenen geliştiriciler için tasarlanmıştır.

Her oluşturulan kaynağa damgalamak istediğiniz bir namespace ve ortak etiketler belirtin ve her Deployment'ın kaç replikada çalışması gerektiğini seçin. Portlar, seçiminize bağlı olarak ClusterIP veya NodePort Service'e dönüşür, ortam değişkenleri ConfigMap veya Secret olur ve volumeler iş yükünü nasıl çalıştırmayı planladığınıza bağlı olarak PersistentVolumeClaim veya emptyDir olur. Konteynerın ilk bağlantı noktasına karşı temel bir TCP kontrolü eklemek için hazırlık ve yaşam sinyalleri araştırmasını açın ve bağlantı noktası taşıyan hizmetleri kümenin dışına göstermek için Ingress oluşturmayı açın.

Compose'un deploy.resources altındaki cpus ve bellek sınırları Kubernetes'in kendi miktar biçimine çevrilir — 0,5 cpus 500m'ye, 512M 512Mi'ye dönüşür — ve her oluşturulan pod şablonu restartPolicy: Always alır, bir Deployment'ın kabul ettiği tek değer. Resim, port veya volume olmayan bir hizmet yine de minimal bir Deployment üretir. Üst düzey services: bölümü olmayan veya YAML olarak ayrıştırılamayan bir dosya, boş bir sonuç yerine satırı adlandıran açık bir hata döndürür.

Her şey tarayıcınızda çalışır: docker-compose dosyanız cihazınızı asla terk etmez, bu nedenle üretim yapılandırmasını yapıştırmek güvenlidir. Oluşturulan manifestları kopyalayın, .txt dosyası olarak indirin veya çıktıyı giriş kutusuna geri göndererek namespace, etiketler veya çoğaltma sayısını ince ayarlayın.

FAQ

Compose'un portlar ve volumeler için uzun sözdizimini destekliyor mu?
Evet. "8080:80" veya "data:/var/lib/data" gibi kısa stringlerin yanı sıra, portlar ve volumeler eşlemeler (target, published, source) olarak da okunabilir.
Neden her pod restartPolicy: Always alıyor?
Bir Deployment'ın pod şablonu yalnızca bu değeri kabul eder — bir kontrolcü, konteyner çalışma zamanı değil, başarısız bir konteynere nasıl tepki vereceğine karar verir, bu nedenle Compose'un kendi yeniden başlatma ayarı bire bir taşınamaz.
Port olmayan bir hizmet için Ingress oluşturabilir mi?
Hayır. Service ve Ingress manifestleri yalnızca Compose'da en az bir bağlantı noktası yayınlayan hizmetler için oluşturulur, çünkü trafiği yönlendirecek yer yoktur.
Bellek ve CPU sınırlamalarına ne olur?
Compose'un deploy.resources bloğu Kubernetes'in kendi miktar biçimine dönüşür: ondalık CPU değerleri millicore'a (0,5 → 500m) dönüşür ve M veya G gibi bellek birimleri Mi veya Gi haline gelir.
Docker-compose dosyam bir yere yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda çalışır — docker-compose dosyanız ve içeriği hiçbir zaman cihazınızı terk etmez.