Sabit kimlik
- Docker & Kubernetes kursu
- İleri seviye
- Ders 15/70
- 4 dk
Pod'ların sabit ad ve sıra numarasını öğrenirsin.
Sabit kimlik
StatefulSet pod'unun kimliği üç parçadan oluşur ve pod yeniden oluşsa da değişmez: sıra numarası (db-0), ağ adı (db-0.db) ve depolama (data-db-0 PVC'si). Uygulamalar bu kimliği rol belirlemek için kullanır; ör. "sıra numarası 0 olan birincildir":
# başlangıç betiği
SIRA=${HOSTNAME##*-} # db-2 -> 2
if [ "$SIRA" = "0" ]; then
echo "birincil olarak başlıyorum"
else
echo "db-0.db'den çoğaltma"
fiKimliği doğrulamak
Pod'un ana makine adı pod adıyla aynıdır. DNS adlarını cluster içinden bir geçici pod ile sorgulayabilirsin:
$ kubectl exec db-1 -- hostname
db-1
$ kubectl run -it --rm dns --image=busybox:1.36 --restart=Never -- nslookup db-0.db
Name: db-0.db.default.svc.cluster.local
Address: 10.244.1.12Uygulama Kimliği sorgula
İki komut yaz: db-1'de hostname çalıştır; busybox:1.36 ile, çıkınca silinen ve yeniden başlamayan etkileşimli dns pod'unda nslookup db-0.db çalıştır.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl exec db-1 -- hostname
kubectl run -it --rm dns --image=busybox:1.36 --restart=Never -- nslookup db-0.dbBeklenen çıktı
db-1 Server: 10.96.0.10 Name: db-0.db.default.svc.cluster.local Address: 10.244.1.12 pod "dns" deleted
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 db-2 pod'u başka bir node'a taşınırsa hangisi değişir?
- Pod IP adresi Doğru cevap
- Pod adı
- DNS adı (db-2.db)
- Bağlı PVC
Açıklama: IP değişir ama DNS adı yeni IP'yi gösterecek şekilde güncellenir.
2 Pod'un ana makine adını yazdır.
kubectl exec db-1 -- ____
kubectl exec db-1 -- hostname
Açıklama: StatefulSet pod'unun hostname'i pod adıdır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
sıra numarası |
db-0, db-1 |
ağ adı |
db-0.db |
depolama |
data-db-0 |
pod IP |
Değişebilir |