02_check_open_nodeports.yml - Kullanım Kılavuzu
Amaç
Bu playbook, Kubernetes cluster’ınızda NodePort tipiyle dışarıya açılmış olan tüm servisleri tespit eder. Ardından inventory’nizde tanımlı olan sunucu IP adresini (inventory_hostname) kullanarak, browser üzerinden doğrudan tıklayıp/kopyalayarak erişebileceğiniz HTTP linklerini (ör. http://192.168.1.10:31234) dinamik olarak oluşturur ve ekrana basar.
Gereksinimler
- Hedef sunucuda (master veya singlenode)
kubectlkurulu ve konfigüre edilmiş olmalıdır. - Ansible inventory’nizde
[master]veya[singlenode]grubu tanımlanmış olmalıdır.
Playbook artık NodePort sorgusundan önce kubectl cluster-info ile bir erişim ön kontrolü yapar. kubectl erişimi yoksa anlamlı bir uyarı mesajı basılır ve NodePort sorgusu atlanır.
Çalıştırma Komutu
# Müşteri A için çalıştırma
ansible-playbook -i inventories/musteri_a/hosts.ini playbooks/02_check_open_nodeports.yml
# Müşteri B için çalıştırma
ansible-playbook -i inventories/musteri_b/hosts.ini playbooks/02_check_open_nodeports.yml
Örnek Çıktı
Komut çalıştırıldığında “Ping pong” başarılı olursa, aktif NodePort’lar listelenir ve linkler oluşturulur:
TASK [Ping pong] ***************************************************************
ok: [192.168.1.10]
TASK [Kubeconfig / kubectl erişim kontrolü] *************************************
ok: [192.168.1.10]
TASK [Find all NodePort services and their ports] ******************************
ok: [192.168.1.10]
TASK [Generate browser accessible links] ***************************************
ok: [192.168.1.10] => {
"msg": "Aşağıdaki servisler NodePort olarak açılmıştır. Browser üzerinden erişmek için linkleri kullanabilirsiniz:\n\n- default/nginx-service -> http://192.168.1.10:32001\n- argocd/argocd-server -> http://192.168.1.10:30080\n"
}