CodeBlanks Logo Icon CodeBlanks

Ingress controller

Ingress controller'ın ne olduğunu öğrenirsin.

Ingress controller

Ingress controller, Ingress nesnelerini izleyip kendi vekil yapılandırmasını (nginx, Envoy, HAProxy) güncelleyen bir pod'dur. Cluster'da varsayılan olarak bulunmaz; kurulması gerekir. Yaygın seçenekler: ingress-nginx, Traefik, HAProxy, bulut sağlayıcıların kendi controller'ları.

# Minikube
minikube addons enable ingress
# genel (Helm ile)
helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx --create-namespace
kubectl get pods -n ingress-nginx

IngressClass

Bir cluster'da birden çok controller olabilir. IngressClass her controller'ı bir adla tanımlar; Ingress spec.ingressClassName ile hangisinin kendisini işleyeceğini seçer. Biri varsayılan işaretlenebilir:

$ kubectl get ingressclass
NAME    CONTROLLER             PARAMETERS   AGE
nginx   k8s.io/ingress-nginx   <none>       3d

spec:
  ingressClassName: nginx

Uygulama Controller'ı kur

Üç komut yaz: Minikube'de ingress eklentisini aç; ingress-nginx namespace'indeki pod'ları listele; IngressClass'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
minikube addons enable ingress
kubectl get pods -n ingress-nginx
kubectl get ingressclass

Beklenen çıktı

🌟  The 'ingress' addon is enabled
NAME                                        READY   STATUS      RESTARTS   AGE
ingress-nginx-controller-7c6974c4d8-x9k2m   1/1     Running     0          60s
NAME    CONTROLLER             PARAMETERS   AGE
nginx   k8s.io/ingress-nginx   <none>       60s

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Controller kurulu değilken bir Ingress oluşturursan ne olur?

  • Kubernetes controller'ı kendisi kurar
  • Servisler silinir
  • Nesne kaydedilir ama hiçbir trafik yönlendirilmez Doğru cevap
  • Hata verir

Açıklama: Ingress bir istektir; onu yerine getiren yazılım ayrıca çalışmalıdır.

2 Hangi controller'ın işleyeceğini seç.

Soru
spec:
  ____: nginx
Cevap
spec:
  ingressClassName: nginx

Açıklama: ingressClassName bir IngressClass adıdır.

3 Eşleştir.

Kavram Anlamı
ingress-nginx nginx tabanlı controller
Traefik Başka bir controller
IngressClass Controller tanımı
ingressClassName Ingress'in seçimi

İleri seviye bölümündeki tüm dersler