CodeBlanks Logo Icon CodeBlanks

Pod YAML

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

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: v1
kind: Pod
metadata:
  name: web
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: nginx:1.27
      ports:
        - containerPort: 80

Beklenen çı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.

Soru
apiVersion: v1
____: Pod
Cevap
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

Orta seviye bölümündeki tüm dersler