Giriş denetleyicisi dağıtma
Şunlar için geçerlidir: Azure Yerel 22H2'de AKS, Windows Server'da AKS
Giriş denetleyicisi, Kubernetes kümesindeki hizmetlere dış erişim sağlayan bir Kubernetes kaynağıdır. Giriş, operatörün bir hizmeti genellikle HTTP veya HTTPS olmak üzere dış ağ isteklerine sunmasına olanak tanır. Belirli hizmetlere ulaşan gelen bağlantıları tanımlayan bir kural kümesi oluşturarak erişimi yapılandırabilirsiniz.
Giriş denetleyicisi, Kubernetes hizmetleri için yapılandırılabilir trafik yönlendirmesi sağlayan yazılımdır. Tek tek Kubernetes hizmetlerinde giriş kurallarını ve yolları yapılandırmak için Kubernetes giriş kaynakları kullanılır. Giriş denetleyicisi ve giriş kuralları kullanarak, trafiği bir Kubernetes kümesindeki birden çok hizmete yönlendirmek için tek bir IP adresi kullanabilirsiniz.
Denetleyiciyi ortamınıza dağıtdıktan sonra giriş bildirimini oluşturup dağıtabilirsiniz. Şu anda NGINX giriş denetleyicisini kullanarak AKS Arc'ta giriş kullanıyorsunuz. NGINX giriş denetleyicisini yükleme, yapılandırma ve kullanma hakkında bilgi için bkz . Bildirimlerle Yükleme.
Giriş, NodePort ve LoadBalancer'dan benzersiz bir şekilde farklıdır ve kümenize giden trafik yönlendirmesini daha az maliyetli bir şekilde geliştirir. NodePort hizmetlerini tanımlamak çok sayıda rastgele bağlantı noktası oluşturur ve LoadBalancer hizmetlerini tanımlamak bulut kaynaklarının maliyetini istediğinizden daha fazla artırır. Bir giriş denetleyicisi tanımladığınızda, trafik yönlendirme kurallarını kümenizin parçası olarak çalışan tek bir kaynakta birleştirirsiniz. NodePort ve LoadBalancer, hizmetin türünde bu değeri belirterek bir hizmeti kullanıma sunmanıza olanak sağlarken, giriş hizmet için bağımsız bir kaynaktır. Giriş, hizmetten ayrı olarak tanımlanır, oluşturulur ve yok edilir.
Girişi, kullanım örneğine bağlı olarak çeşitli yollarla dağıtabilirsiniz. Giriş kaynakları, giriş denetleyicisinin nasıl çalıştığını belirlemek üzere yapılandırmayı güncelleştirmek için kullanılır.
Dışarıdan erişilebilen URL'ler aracılığıyla hizmetleri kullanıma açmak için girişi kullanma
Giriş kullanma örneği aşağıdaki YAML bildiriminde gösterilmiştir. , ingress.class
meta veriler içinde görünür (bu örnekte ), ingress-nginx
ve bu ayar NGINX giriş denetleyicisinin izlemesi ve güncelleştirmesi için gerekenleri bilmesini sağlar:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hello-world
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: test.example.com
http:
paths:
- path: /hello-world
pathType: Prefix
backend:
service:
name: hello-world
port:
number: 8080
spec
bölümünde nelerin yapılandırıldığı hakkında bilgi sağlanır. Bu örnekte, bir kural (veya kural kümesi) tanımlanır ve aşağıdaki öğeleri içerir:
- Kuralların uygulandığı konak.
- Trafiğin HTTP veya HTTPS olup olmadığı.
- İzlenen yol.
- Trafiğin gönderildiği iç hizmet ve bağlantı noktası.
Trafiğin yükünü dengelemek için girişi kullanma
Aşağıdaki örnekte, bildirime bir uygulamanın farklı arka uçları arasında yük dengelemeye izin veren başka bir yol eklenmiştir. Bu örnekte, işleç trafiği bölebilir ve açıklanan yola göre farklı hizmet uç noktalarına ve dağıtımlara gönderebilir. Her yolun arkasında, daha fazla trafik alan uç noktalar için yararlı olan bir dağıtım ve hizmet bulunur:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hello-world-and-earth
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: test.example.com
http:
paths:
- path: /hello-world
pathType: Prefix
backend:
service:
name: hello-world
port:
number: 8080
- path: /hello-earth
pathType: Prefix
backend:
service:
name: hello-earth
port:
number: 8080
HTTP trafiğini aynı IP adresinde birden çok ana bilgisayar adına yönlendirmek için girişi kullanın
Her konak için farklı bir giriş kaynağı kullanabilirsiniz ve bu sayede trafiği birden çok ana bilgisayar adıyla denetleyebilirsiniz. Farklı bir giriş kaynağı kullanmak için, birden çok ana bilgisayar adını LoadBalancer hizmeti için kullanılan aynı genel IP adresine işaret edin. Aşağıdaki bildirim dosyasında, üretim sürümü hello-world
eklendi. Konak adı prod.example.com
kullanılır ve trafik yeni hizmete hello-world-prod
işaret edilir. Trafik yük dengeleyici IP adresi üzerinden gelir ve ana bilgisayar adına ve sağladığınız yola göre yönlendirilir:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: hello-world-prod
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: test.example.com
http:
paths:
- path: /hello-world
pathType: Prefix
backend:
service:
name: hello-world-test
port:
number: 8080
- host: prod.example.com
http:
paths:
- path: /hello-world
pathType: Prefix
backend:
service:
name: hello-world-prod
port:
number: 8080
Sonraki adımlar
Daha fazla bilgi için aşağıdaki bağlantılara bakın: