Linux

Kubernetes İngress Nedir?

nginx general
Share

Kubernetes Ingress, Kubernetes kapsayıcısında çalışan uygulamaların dış dünyayla iletişim kurmasına izin veren bir yönetim kaynağıdır. Ingress, Kubernetes cluster’ı içindeki hizmetlerin dış dünya ile iletişim kurmasını sağlayan bir API nesnesidir.

Ingress, birden fazla hizmete aynı IP adresi ve aynı HTTP portu üzerinden erişilmesini sağlar ve ayrıca URL yol tabanlı yönlendirme sağlayabilir. Ingress, ayrıca SSL/TLS şifrelemesi ve yük dengeleme gibi özellikleri de destekler.

Ingress, birçok farklı Ingress Controller tarafından desteklenir. Ingress Controller, Ingress kaynaklarını işleyerek, hizmetleri dış dünyaya açar ve yönlendirmeleri yapar. Örneğin, NGINX, Traefik, Istio gibi popüler Ingress Controller’lar vardır.

Özetle, Kubernetes Ingress, Kubernetes kapsayıcısında çalışan hizmetlerin dış dünyayla iletişim kurmasını sağlayan bir yönetim kaynağıdır. Ingress, birden fazla hizmete aynı IP adresi ve aynı HTTP portu üzerinden erişilmesine izin verir ve ayrıca URL yol tabanlı yönlendirme, SSL/TLS şifrelemesi ve yük dengeleme gibi özellikleri de destekler.

Kubernetes ingress Kurulumu

Kubernetes Ingress Controller kurulumu, kullanılan Ingress Controller ve Kubernetes cluster’ın yapılandırmasına bağlı olarak değişebilir. Bununla birlikte, genel olarak, Ingress Controller kurulumu şu adımları içerir:

  1. İlk olarak, Kubernetes cluster’ınızda bir Ingress Controller yüklemeniz gerekiyor. Popüler Ingress Controller’lar arasında NGINX, Traefik ve Istio yer almaktadır. Ingress Controller’ın kurulumu, seçilen araca göre farklılık gösterebilir. Örneğin, NGINX Ingress Controller’ı yüklemek için, aşağıdaki komutları kullanabilirsiniz:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.3/deploy/static/provider/cloud/deploy.yaml

  1. Ingress Controller’ın yüklenmesinin ardından, bir Ingress kaynağı oluşturmanız gerekiyor. Örneğin, aşağıdaki YAML dosyasıyla bir Ingress kaynağı oluşturabilirsiniz:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /app1
        pathType: Prefix
        backend:
          service:
            name: app1-service
            port:
              number: 80
      - path: /app2
        pathType: Prefix
        backend:
          service:
            name: app2-service
            port:
              number: 80

Bu örnekte, example.com alan adına yapılan istekler /app1 ve /app2 URL path’leri için Ingress ile yönlendirilir ve her biri farklı bir Kubernetes hizmetine yönlendirilir.

  1. Son olarak, Ingress kaynağını Kubernetes cluster’ına yüklemelisiniz. Örneğin, aşağıdaki komutları kullanarak Ingress kaynağını yükleyebilirsiniz:
kubectl apply -f my-ingress.yaml

Ingress Controller ve Ingress kaynağının kurulumu tamamlandığında, Kubernetes cluster’ınızda çalışan hizmetlerin dış dünyayla iletişim kurmasına izin veren bir yönlendirme yapılandırması oluşturulmuş olur. Ancak, Ingress Controller’ın yapılandırması ve kullanımı şirketinizin gereksinimlerine bağlı olarak değişebilir ve bu nedenle daha ayrıntılı bir kurulum kılavuzu veya dokümantasyonu kullanmanız önerilir.