Kubernetes İngress Nedir?
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:
- İ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
- 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.
- 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.