Nginx Ingress Controller kurulumu – Kolay Yol

Daha önceki makalemde sizlere Kubernetes tarafından sağlanan Ingress Controller’ı Kubernetes Cluster’ınıza nasıl kurabileceğinizi anlatmıştım. Doğrusunu söylemek gerekirse bu makalede görece daha uzun yolu sizlere anlatmıştım. Helm paket yöneticisinin mimarisini ve kurulumunu sizlere paylaştıktan sonra sıra geldi Nginx Ingress Controller’ın daha kısa ve kolay şekilde kurulumununa.

En basit haliyle Helm yardımıyla ingress-nginx namespace’ine Ingress Controller kurulumu aşağıdaki tek satırlık kod ile yapılabilir;

helm install --name nginx-ingress stable/nginx-ingress --namespace ingress-nginx

Bu komut nginx-ingress adıyla bir release oluşturan bu komut saniyeler içerisinde Ingress Controller’ınızın çalışır duruma gelmesini sağlayacaktır.

Tabi bu haliyle temel yapılandırmaları ile bir Ingress Controller’ın ayağa kalkacağını söylemeliyim. Kurulum sırasında kullanabileceğiniz diğer parametreleri Ingress Controller Helm Chart dokümanında bulabilirsiniz.

Kurulumu aşağıdaki komutla biraz daha detaylı yapabilmeniz mümkün;

helm install stable/nginx-ingress --name nginx-ingress --namespace ingress-nginx \
    --set controller.metrics.enabled=true \
    --set controller.service.type=NodePort \
    --set controller.hostNetwork=true \
    --set controller.daemonset.useHostPort=true

Bu komut nginx-ingress kurulumunu NodePort üzerinden açarken Prometheus metriclerinin de aktif olmasını da yapılmasını sağlayacaktır. Sisteminizde Prometheus kurulu değilse controller.metrics.enabled parametresini ihmal edebilirsiniz.

Öte yandan henüz daha üretim ortamı kullanımına hazır bir kurulumu gerçekleştiremedik. Aşağıdaki komut nginx-ingress kurulumunu NodePort üzerinden ve DaemonSet olarak açılarak host portu üzerinden erişelirken Prometheus metriklerinin de aktif olmasını da yapılmasını sağlayacaktır;

helm install stable/nginx-ingress --name nginx-ingress --namespace ingress-nginx \
    --set controller.kind=DaemonSet \
    --set controller.metrics.enabled=true \
    --set controller.service.type=NodePort\
    --set controller.hostNetwork=true \
    --set controller.daemonset.useHostPort=true

DaemonSet, NodePort ve HostNetwork parametrelerini neden kullandığımızı hatırlamayanlarınızın Kubernetes tarafından sağlanan Nginx Ingress Controller’ın elle kurulumunu paylaştığım makalemi gözden geçirmelerini tavsiye ederim.

Kurulumunuzda tam bir Prometheus entegrasyonu yapmak isterseniz, aşağıdaki komut çok işinize yarayacaktır;

helm install stable/nginx-ingress --name nginx-ingress --namespace ingress-nginx \
    --set controller.kind=DaemonSet \
    --set controller.metrics.enabled=true \
    --set controller.service.type=NodePort\
    --set controller.hostNetwork=true \
    --set controller.daemonset.useHostPort=true \
    --set controller.metrics.service.annotations."enable-vts-status"=true \
    --set controller.metrics.service.annotations."prometheus\.io/scrape"=true \
    --set controller.metrics.service.annotations."prometheus\.io/port"=10254

Herhangi bir sebepler Helm sürümünü silmek için aşağıdaki komutu kullanabilirsiniz;

helm delete nginx-ingress

Eğer sürümü kalıcı olarak silmek niyetindeyseniz, o zaman aşağıdaki komut daha çok işinize yarayacaktır;

helm delete nginx-ingress –purge

Fatih Boy

Ankara'da yaşayan Fatih, kendi şirketinde özellikle bankacılık, sigortacılık ve otomotiv sektörlerinde IT danışmanlıkları vermektedir. Devops, ALM süreçleri, kurumsal veri yolu sistemleri, kurumsal altyapı ve yazılım geliştirme konularında destek vermektedir. Boş zamanlarında açık kaynak kodlu projeler geliştirmeyi ve bilgisini yazdığı makalelerle paylaşmayı seven Fatih, aynı zamanda Visual C# ve Visual Studio teknolojileri konusundan Microsoft tarafından altı yıl üst üste MVP (En Değerli Profesyonel) ödülüne layık görülmüştür. İş hayatı boyunca masaüstü uygulamaları, web teknolojileri, akıllı istemciler gibi konularda Asp.Net, Php, C#, Java programlama dilleri ve MySql, MsSql ve Oracle gibi veritabanı yönetim yazılımları ile çalışmıştır. İngilizce ve Türkçe olarak yayınlanan makalelerini gerek İngilizce bloğunda, gerekse de Türkçe bloğunda bulabileceğiniz gibi web sitesinden de açık kaynak kodlu geliştirdiği yazılımlarına ulaşabilirsiniz. vCard - Twitter - Facebook

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.