Skip to content

Ansible kullanarak Kubernetes ortamında Ingress-Nginx Controller kurulumu ve yapılandırmasını otomatikleştiren bir proje. Playbook’lar ile Ingress Controller dağıtımı, SSL sertifikalarının yönetimi ve özel yönlendirme kuralları uygulanmaktadır.

Notifications You must be signed in to change notification settings

atilladuran/ansible-ingress-nginx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

🚀 Ansible Ingress-Nginx Deployment

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.

📌 Özellikler

  • 🔹 Nginx Ingress Controller kurulumu
  • 🔹 MetalLB ile LoadBalancer yapılandırması
  • 🔹 Prometheus ve Grafana entegrasyonu
  • 🔹 Cert-Manager ile self-signed SSL sertifikaları

📂 Proje Dizini

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

📦 Kurulum Adımları

1️⃣ Ansible’ı Kurun

Eğer Ansible yüklü değilse aşağıdaki komutlarla yükleyebilirsiniz:

sudo apt update && sudo apt install -y ansible

2️⃣ Proje Dizini Ayarlamaları

Projeyi istediğiniz bir dizine kopyalayın:

git clone https://github.com/kullaniciadi/ansible-ingress-nginx.git
cd ansible-ingress-nginx

Kullanıcının Düzenlemesi Gereken Yerler

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.

3️⃣ Playbook’u Çalıştırın

Aşağıdaki komut ile Ansible playbook’u çalıştırabilirsiniz:

ansible-playbook -i inventory.ini site.yaml

🔍 Sorun Giderme

ansible-playbook -i inventory.ini site.yaml -vvv
kubectl get pods -A
kubectl get ingress -A

About

Ansible kullanarak Kubernetes ortamında Ingress-Nginx Controller kurulumu ve yapılandırmasını otomatikleştiren bir proje. Playbook’lar ile Ingress Controller dağıtımı, SSL sertifikalarının yönetimi ve özel yönlendirme kuralları uygulanmaktadır.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published