04_check_k8s_versions.yml - Kullanım Kılavuzu
Amaç
Bu playbook, bir Kubernetes node’unda (control-plane veya worker) çalışan k8s stack’inin (kubectl, kubeadm, kubelet, containerd, runc, etcd) sürüm bilgilerini toplar ve raporlar.
Sürüm tespit mantığı tasks/k8s_versions.yml dosyasında paylaşılan bir görev listesi olarak tanımlıdır; 06_update_k8s_services.yml de aynı dosyayı güncelleme öncesi/sonrası sürümleri tespit etmek için kullanır. Böylece iki playbook aynı sürüm bilgisini iki farklı şekilde bulmuyor.
Gereksinimler
hosts: all— kubeadm/kubelet/containerd/runc sürüm kontrolleri her node’da çalışır.kubectlgerektiren adımlar (kubectl sürümü, etcd image bilgisi) yalnızcakubectl cluster-infobaşarılı olan host’larda (genelde master/singlenode) çalışır; erişim yoksa atlanır, diğer sürüm bilgileri yine de toplanır.
Çalıştırma Komutu
ansible-playbook -i inventories/musteri_a/hosts.ini playbooks/04_check_k8s_versions.yml
# Belirli bir host/grup ile sınırlamak için:
ansible-playbook -i inventories/musteri_a/hosts.ini playbooks/04_check_k8s_versions.yml --limit master
Örnek Çıktı
TASK [Ping pong] ***************************************************************
ok: [203.0.113.10]
TASK [Kubeconfig / kubectl erişim kontrolü] ************************************
ok: [203.0.113.10]
TASK [Sürüm raporu] ************************************************************
ok: [203.0.113.10] => {
"msg": [
"kubectl: clientVersion: ... gitVersion: v1.34.10 ...",
"kubeadm: v1.34.10",
"kubelet: Kubernetes v1.34.10",
"containerd: containerd github.com/containerd/containerd/v2 v2.2.0 ...",
"runc: runc version 1.3.3 ...",
"etcd image: registry.k8s.io/etcd:3.6.5-0"
]
}