Kubernetes YAML Generator
Dağıtımlar, Hizmetler, ConfigMap'ler ve Ad Alanları için Kubernetes manifest'leri oluşturun.
Dağıtım Yapılandırması
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: default
labels:
app: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80
env:
- name: ENV
value: "production"
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512MiUygula: kubectl apply -f deployment.yaml
Bu araç hakkında
Kubernetes YAML Generator, manuel Kubernetes manifest tanımlarını düzgün biçimlendirilmiş YAML yapılandırma dosyalarına dönüştüren bir geliştirici aracıdır. Konteynerleştirilmiş uygulamaları dağıtıyor, mikro hizmetleri yönetiyor veya altyapıyı kod olarak yapılandırıyor olsanız da, bu araç Kubernetes YAML'ı elle yazmanın sıkıcı görevini ortadan kaldırır ve Deployments, Services, ConfigMaps ve Namespaces için temiz, söz dizimi bakımından geçerli manifest oluşturur. Yapılandırmalarınızın Kubernetes API özellikleri ve en iyi uygulamaları izlemesini sağlar.
Aracı kullanmak için yapılandırma formunu kaynak ayrıntılarınızla doldurun—dağıtım meta verilerini, konteyner görüntülerini, hizmet bağlantı noktalarını, ortam değişkenlerini ve diğer parametreleri belirtin. Oluşturucu, kubectl veya CI/CD ardınızı kullanarak doğrudan Kubernetes kümenize uygulanmaya hazır, düzgün girintili, iyi yapılandırılmış YAML otomatik olarak oluşturur. Oluşturmadan önce kaynak adlarını, etiketleri, seçicileri ve diğer tüm alanları özelleştirebilirsiniz.
Bu araç, Kubernetes ile çalışan DevOps mühendisleri, uygulama geliştirmeleri ve altyapı ekipleri için özellikle değerlidir. Bağlantı noktası eşlemeleri, volumeMounts, securityContext ve kaynak sınırları gibi yaygın kenar durumlarını yönetir, zaman kazandırır ve başarılı dağıtımları engelleyebilecek YAML söz dizimi hatalarını azaltır.
Sıkça Sorulan Sorular
Kod Uygulaması
import subprocess
import yaml
import tempfile
import os
def generate_deployment(name, image, replicas=2, port=80, namespace="default"):
"""Generate a Kubernetes Deployment manifest dict."""
return {
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {"name": name, "namespace": namespace},
"spec": {
"replicas": replicas,
"selector": {"matchLabels": {"app": name}},
"template": {
"metadata": {"labels": {"app": name}},
"spec": {
"containers": [{
"name": name,
"image": image,
"ports": [{"containerPort": port}]
}]
}
}
}
}
manifest = generate_deployment("my-app", "nginx:latest", replicas=3)
yaml_str = yaml.dump(manifest, default_flow_style=False)
print(yaml_str)
# Apply using kubectl
with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml', delete=False) as f:
f.write(yaml_str)
tmp = f.name
result = subprocess.run(["kubectl", "apply", "-f", tmp], capture_output=True, text=True)
print(result.stdout)
os.unlink(tmp)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.