Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, HTTP veya HTTPS üzerinden Azure Application Gateway aracılığıyla örnek bir Azure Kubernetes Service (AKS) hizmetini kullanıma sunma amacıyla Kubernetes giriş kaynaklarının kullanımı gösterilmektedir.
Tip
Kubernetes giriş çözümünüz için Application Gateway for Containers'ı göz önünde bulundurun.
Prerequisites
- Yüklü
ingress-azureHelm şeması:- Yeşil alan dağıtımı: Sıfırdan başlıyorsanız, Application Gateway ile AKS kümesi dağıtma ve AKS kümesine Application Gateway Giriş Denetleyicisi'ni (AGIC) yükleme adımlarını özetleyen bu yükleme yönergelerine bakın.
- Brownfield dağıtımı: Mevcut bir AKS kümeniz ve Application Gateway dağıtımınız varsa AKS kümesine AGIC yüklemek için bu yönergelere bakın.
- Bu uygulamada HTTPS kullanmak istiyorsanız bir x509 sertifikası ve özel anahtarı.
Konuk defteri uygulamasını dağıtın.
Uygulama guestbook , web kullanıcı arabirimi ön ucu, arka uç ve Redis veritabanından oluşan kurallı bir Kubernetes uygulamasıdır.
Varsayılan olarak, guestbook uygulamasını bağlantı noktasında frontendadıyla 80 bir hizmet aracılığıyla kullanıma sunar. Kubernetes giriş kaynağı olmadan hizmete AKS kümesi dışından erişilemez. Uygulamayı kullanır ve HTTP ve HTTPS aracılığıyla uygulamaya erişmek için giriş kaynaklarını ayarlarsınız.
guestbook uygulamasını dağıtmak için:
Şu komutu çalıştırarak AKS kümenize dağıtın
guestbook-all-in-one.yaml:kubectl apply -f guestbook-all-in-one.yaml
HTTP üzerinden hizmetleri kullanıma sunma
Uygulamayı kullanıma açmak guestbook için aşağıdaki giriş kaynağını kullanın:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: guestbook
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- http:
paths:
- backend:
serviceName: frontend
servicePort: 80
Bu giriş, frontend dağıtımının guestbook-all-in-one hizmetini, Application Gateway dağıtımının varsayılan arka ucu olarak kullanıma sunar.
Önceki giriş kaynağını olarak ing-guestbook.yamlkaydedin:
Şu komutu çalıştırarak dağıtın
ing-guestbook.yaml:kubectl apply -f ing-guestbook.yamlDağıtım durumu için giriş denetleyicisinin günlüğünü denetleyin.
guestbook Artık uygulama kullanılabilir olmalıdır. Application Gateway dağıtımının genel adresini ziyaret ederek kullanılabilirliği de kontrol edebilirsiniz.
HIZMETLERI HTTPS üzerinden kullanıma sunma
Belirtilmiş bir ana bilgisayar adı olmadan
Bir konak adı belirtmezseniz, guestbook hizmet Application Gateway dağıtımına işaret eden tüm konak adlarında kullanılabilir.
Giriş kaynağını dağıtmadan önce sertifikayı ve özel anahtarı barındırmak için bir Kubernetes gizli anahtarı oluşturun.
kubectl create secret tls <guestbook-secret-name> --key <path-to-key> --cert <path-to-cert>Aşağıdaki giriş kaynağını tanımlayın.
secretNamebölümünde<guestbook-secret-name>değerini gizli dizinizin adıyla değiştirin.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: guestbook annotations: kubernetes.io/ingress.class: azure/application-gateway spec: tls: - secretName: <guestbook-secret-name> rules: - http: paths: - backend: serviceName: frontend servicePort: 80Giriş kaynağını adlı
ing-guestbook-tls.yamlbir dosyada depolayın.Şu komutu çalıştırarak dağıtın
ing-guestbook-tls.yaml:kubectl apply -f ing-guestbook-tls.yamlDağıtım durumu için giriş denetleyicisinin günlüğünü denetleyin.
guestbook Artık uygulama hem HTTP hem de HTTPS üzerinde kullanılabilir.
Belirtilen ana bilgisayar adıyla
Giriş kaynağındaki ana bilgisayar adını, TLS yapılandırmaları ve hizmetleri çoğullamak için de belirtebilirsiniz. Bir konak adı belirttiğinizde guestbook , hizmet yalnızca belirtilen konakta kullanılabilir.
Aşağıdaki giriş kaynağını tanımlayın.
secretNamebölümünde<guestbook-secret-name>değerini gizli dizinizin adıyla değiştirin.hostsvehostbölümlerinde<guestbook.contoso.com>öğesini ana bilgisayar adınız ile değiştirin.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: guestbook annotations: kubernetes.io/ingress.class: azure/application-gateway spec: tls: - hosts: - <guestbook.contoso.com> secretName: <guestbook-secret-name> rules: - host: <guestbook.contoso.com> http: paths: - backend: serviceName: frontend servicePort: 80Şu komutu çalıştırarak dağıtın
ing-guestbook-tls-sni.yaml:kubectl apply -f ing-guestbook-tls-sni.yamlDağıtım durumu için giriş denetleyicisinin günlüğünü denetleyin.
guestbook Artık uygulama hem HTTP hem de HTTPS üzerinde, yalnızca belirtilen konakta kullanılabilir.
Diğer hizmetlerle tümleştirme
Yol eklemek ve bu yolları diğer hizmetlere yeniden yönlendirmek için aşağıdaki giriş kaynağını kullanın:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: guestbook
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- http:
paths:
- path: </other/*>
backend:
serviceName: <other-service>
servicePort: 80
- backend:
serviceName: frontend
servicePort: 80