İçeriğe geç
🛠️ToolsShed

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ı

deployment.yaml
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: 512Mi

Uygula: 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.