CodeBlanks Logo Icon CodeBlanks

Özet - Label

Label ve selector'ü birleştirerek kaynakları gruplandırıp filtreleriz.

Özet: Label

Bu grupta:

  • Label'lar seçilebilir anahtar-değerlerdir; annotation'lar seçilemeyen ek bilgidir.
  • kubectl label ekler, --overwrite değiştirir, anahtar- kaldırır; annotate aynı sözdizimiyle çalışır.
  • Selector: matchLabels (eşitlik) ve matchExpressions (In, NotIn, Exists, DoesNotExist); Deployment selector'ı değiştirilemez.
  • -l süzer (virgül = VE), -L sütun ekler; selector'la toplu silme, log ve yeniden başlatma yapılır.
  • Küme ifadeleri tırnak içine alınır: -l 'ortam in (prod,staging)'.
kubectl label pods -l app=web surum=v2
kubectl get pods -l 'surum in (v1,v2)' -L surum

Uygulama Önerilen etiketler

Bir Deployment'ın şablon metadata bölümünü yaz (metadata: ile başlayarak): labels altında app.kubernetes.io/name: web, app.kubernetes.io/version: "1.4.2", app.kubernetes.io/part-of: magaza; annotations altında aciklama: "ana sayfa servisi".

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
metadata:
  labels:
    app.kubernetes.io/name: web
    app.kubernetes.io/version: "1.4.2"
    app.kubernetes.io/part-of: magaza
  annotations:
    aciklama: "ana sayfa servisi"

Beklenen çıktı

deployment.apps/web configured

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Deployment selector'ına neden sürüm etiketi konmaz?

  • Selector değiştirilemez; sürüm değişince deployment yeniden oluşturulmak zorunda kalınır Doğru cevap
  • Sürüm etiketi yasaktır
  • Service onu göremez
  • Etiket çok uzundur

Açıklama: Sürüm şablon etiketine yazılır, selector'a değil.

2 Etiketi olan tüm pod'lara yeni etiket ekle.

Soru
kubectl label pods ____ app=web surum=v2
Cevap
kubectl label pods -l app=web surum=v2

Açıklama: -l ile seçilen tüm pod'lar etiketlenir.

3 Eşleştir.

Kavram Anlamı
label Seçim için
annotation Bilgi için
-l Süz
-L Sütun

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