Bu proje, Ansible kullanarak Nginx Ingress Controller ve ilgili bileşenlerin Kubernetes ortamına kurulumu ve yapılandırmasını sağlar. MetalLB, Prometheus, Cert-Manager gibi araçları içerir.
- 🔹 Nginx Ingress Controller kurulumu
- 🔹 MetalLB ile LoadBalancer yapılandırması
- 🔹 Prometheus ve Grafana entegrasyonu
- 🔹 Cert-Manager ile self-signed SSL sertifikaları
ansible-ingress-nginx
├── group_vars
│ └── all.yaml
├── handlers
│ └── main.yaml
├── inventory
| └── hosts.yml
├── README.md
├── roles
│ ├── cert-manager
│ │ ├── files
│ │ │ └── cert-manager-selfsigned-issuer.yaml
│ │ └── tasks
│ │ └── main.yml
│ ├── deployments
│ │ ├── files
│ │ │ ├── ingress-demo-sites.yaml
│ │ │ ├── ingress-grafana.yaml
│ │ │ ├── ingress-prometheus.yaml
│ │ │ ├── nginx-deployment.yaml
│ │ │ └── nginx-service.yaml
│ │ └── tasks
│ │ └── main.yml
│ ├── helm
│ │ └── tasks
│ │ └── main.yml
│ ├── ingress-files
│ │ └── tasks
│ │ └── main.yml
│ ├── ingress-nginx
│ │ └── tasks
│ │ └── main.yml
│ ├── k3s
│ │ └── tasks
│ │ └── main.yml
│ ├── metallb
│ │ ├── files
│ │ │ └── metallb-config.yaml
│ │ └── tasks
│ │ └── main.yml
│ ├── monitoring
│ │ └── tasks
│ │ └── main.yml
│ └── tools
│ └── tasks
│ └── main.yml
└── site.yaml
Eğer Ansible yüklü değilse aşağıdaki komutlarla yükleyebilirsiniz:
sudo apt update && sudo apt install -y ansible
Projeyi istediğiniz bir dizine kopyalayın:
git clone https://github.com/kullaniciadi/ansible-ingress-nginx.git
cd ansible-ingress-nginx
Dosya: group_vars/all.yml
Bu dosyada rollerin ve küme yapılandırmasının yollarını belirlemeniz gerekiyor.
PROJECT_ROOT: "{{ playbook_dir }}" # Playbook’un çalıştığı ana dizin
ROLE_PATH: "{{ PROJECT_ROOT }}/roles/deployments" # Deployment rolünün yolu
ansible_env:
KUBECONFIG: "/etc/rancher/k3s/k3s.yaml" # Kubernetes KUBECONFIG yolu (gerekirse değiştirin)
👉 Değiştirmeniz Gerekenler:
KUBECONFIG
: Kubernetes kümeniz için doğru yolu girin.PROJECT_ROOT
: Projeyi farklı bir dizine koyarsanız bu değişkeni düzenleyin.
Aşağıdaki komut ile Ansible playbook’u çalıştırabilirsiniz:
ansible-playbook -i inventory.ini site.yaml
ansible-playbook -i inventory.ini site.yaml -vvv
kubectl get pods -A
kubectl get ingress -A