Özet - Label
- Docker & Kubernetes kursu
- Orta seviye
- Ders 66/82
- 5 dk
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 labelekler,--overwritedeğiştirir,anahtar-kaldırır;annotateaynı sözdizimiyle çalışır.- Selector:
matchLabels(eşitlik) vematchExpressions(In, NotIn, Exists, DoesNotExist); Deployment selector'ı değiştirilemez. -lsüzer (virgül = VE),-Lsü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 surumUygulama Ö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
# buraya yazÖrnek çözüm
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.
kubectl label pods ____ app=web surum=v2
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 |