Kubernetes YAML Generator
Hasilkan manifest Kubernetes untuk Deployment, Service, ConfigMap, dan Namespace.
Konfigurasi Deployment
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: 512MiTerapkan dengan: kubectl apply -f deployment.yaml
Tentang alat ini
Kubernetes YAML Generator adalah alat pengembang yang mengonversi definisi manifest Kubernetes manual menjadi file konfigurasi YAML yang diformat dengan benar. Baik Anda menerapkan aplikasi yang dikontainerisasi, mengelola mikroservis, atau mengonfigurasi infrastruktur sebagai kode, alat ini menghilangkan tugas yang membosankan dari penulisan YAML Kubernetes secara manual dengan menghasilkan manifest yang bersih dan sintaksisnya benar untuk Deployments, Services, ConfigMaps, dan Namespaces. Ini memastikan konfigurasi Anda mengikuti spesifikasi API Kubernetes dan praktik terbaik.
Untuk menggunakan alat ini, isi formulir konfigurasi dengan detail sumber daya Anda—tentukan metadata penerapan, gambar kontainer, port layanan, variabel lingkungan, dan parameter lainnya. Generator secara otomatis menghasilkan YAML yang diindentasi dengan benar dan terstruktur dengan baik yang siap diterapkan langsung ke cluster Kubernetes Anda menggunakan kubectl atau pipeline CI/CD Anda. Anda dapat menyesuaikan nama sumber daya, label, pemilih, dan semua bidang lainnya sebelum pembuatan.
Alat ini sangat berharga bagi insinyur DevOps, pengembang aplikasi, dan tim infrastruktur yang bekerja dengan Kubernetes. Alat ini menangani kasus tepi umum seperti pemetaan port, volumeMounts, securityContext, dan batas sumber daya, menghemat waktu dan mengurangi kesalahan sintaksis YAML yang dapat mencegah penerapan yang berhasil.
Pertanyaan yang Sering Diajukan
Implementasi Kode
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.