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 connectivity test” başarılı olursa, aktif NodePort’lar listelenir ve linkler oluşturulur:
TASK [Ping connectivity test] **************************************************
ok: [192.168.1.10]
TASK [Kubeconfig / kubectl access check] ***************************************
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": "The following services are exposed as NodePort. Use the links to open them in a browser:\n\n- default/nginx-service -> http://192.168.1.10:32001\n- argocd/argocd-server -> http://192.168.1.10:30080\n"
}