ReplicaSet selector
- Docker & Kubernetes kursu
- Orta seviye
- Ders 33/82
- 4 dk
ReplicaSet selector ile Pod eşleştirmeyi öğrenirsin.
ReplicaSet selector
ReplicaSet pod'ları etiketleriyle sahiplenir, adlarıyla değil. Selector'la eşleşen ve sahibi olmayan bir pod elle oluşturulursa ReplicaSet onu da sayar ve fazla olduğu için birini siler. Bu yüzden etiketler iş yükleri arasında benzersiz seçilmelidir.
selector:
matchExpressions:
- key: app
operator: In
values: [api]
- key: katman
operator: NotIn
values: [test]Pod'u ReplicaSet'ten ayırmak
Bir pod'un etiketini değiştirirsen selector'la eşleşmez; ReplicaSet onu bırakır ve yerine yenisini açar. Sorunlu bir pod'u silmeden, trafikten ve ReplicaSet'ten çıkarıp incelemek için kullanışlı bir tekniktir:
kubectl label pod api-5d8f7c9b4-qrstu app=inceleme --overwrite
kubectl get pods --show-labels
# api-5d8f7c9b4-qrstu app=inceleme <- ayrıldı
# api-5d8f7c9b4-zzzzz app=api <- yerine açılanUygulama Pod'u ayır ve incele
Üç komut yaz: api-5d8f7c9b4-qrstu pod'unun app etiketini inceleme olarak üzerine yaz; pod'ları etiketleriyle listele; ayrılan pod'un log'larını göster.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl label pod api-5d8f7c9b4-qrstu app=inceleme --overwrite
kubectl get pods --show-labels
kubectl logs api-5d8f7c9b4-qrstuBeklenen çıktı
pod/api-5d8f7c9b4-qrstu labeled NAME READY STATUS LABELS api-5d8f7c9b4-qrstu 1/1 Running app=inceleme,pod-template-hash=5d8f7c9b4 api-5d8f7c9b4-zzzzz 1/1 Running app=api,pod-template-hash=5d8f7c9b4 ERROR veritabanı zaman aşımı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 3 kopyalı ReplicaSet'in selector'ıyla eşleşen bir pod'u elle oluşturursan ne olur?
- Hata verir
- ReplicaSet 4 pod görür ve birini siler Doğru cevap
- Pod yok sayılır
- ReplicaSet 4 kopyaya geçer
Açıklama: ReplicaSet sahipsiz eşleşen pod'ları benimser.
2 Var olan etiketin üzerine yaz.
kubectl label pod api-5d8f7c9b4-qrstu app=inceleme ____
kubectl label pod api-5d8f7c9b4-qrstu app=inceleme --overwrite
Açıklama: Var olan bir anahtarı değiştirmek için --overwrite gerekir.
3 Operatörleri eşleştir.
| Kavram | Anlamı |
|---|---|
In |
Değerlerden biri |
NotIn |
Değerlerden hiçbiri |
Exists |
Anahtar var |
DoesNotExist |
Anahtar yok |