Pod YAML
- Docker & Kubernetes kursu
- Orta seviye
- Ders 20/82
- 4 dk
Pod tanımı için YAML yapısını öğrenirsin.
Pod YAML
Her Kubernetes nesnesinin dört üst düzey alanı vardır: apiVersion, kind, metadata (ad, etiketler) ve spec (istenen durum). Pod'un spec'i container listesidir:
apiVersion: v1
kind: Pod
metadata:
name: web
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:1.27
ports:
- containerPort: 80
containerPort bilgi amaçlıdır (Dockerfile'daki EXPOSE gibi); trafiği açmaz.
Komut ve argümanlar
Container'ın komutu YAML'da değiştirilebilir: command image'ın ENTRYPOINT'inin, args ise CMD'sinin yerine geçer:
spec:
containers:
- name: is
image: busybox:1.36
command: ["sh", "-c"]
args: ["echo merhaba; sleep 3600"]YAML'da listeler ya köşeli parantezle (["a", "b"]) ya da her öğe - ile başlayan satırlarla yazılır.
Uygulama Pod tanımı yaz
Bir pod YAML'ı yaz: adı web, etiketi app: web; tek container adı nginx, image nginx:1.27, containerPort: 80.
Başlangıç kodu
# buraya yazÖrnek çözüm
apiVersion: v1
kind: Pod
metadata:
name: web
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:1.27
ports:
- containerPort: 80Beklenen çıktı
pod/web created
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Pod için doğru apiVersion hangisidir?
- batch/v1
- v1 Doğru cevap
- apps/v1
- pod/v1
Açıklama: Pod, Service, ConfigMap çekirdek gruptadır (v1); Deployment apps/v1'dedir.
2 Nesnenin türünü yaz.
apiVersion: v1
____: Pod
apiVersion: v1
kind: Pod
Açıklama: kind nesnenin türüdür.
3 Alanları eşleştir.
| Kavram | Anlamı |
|---|---|
apiVersion |
API grubu ve sürümü |
kind |
Nesne türü |
metadata |
Ad ve etiketler |
spec |
İstenen durum |