Aracılığıyla paylaş


Giriş denetleyicisi dağıtma

Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde 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-nginxve 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-prodiş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: