Kapsayıcılar için Application Gateway ile SSL boşaltma - Giriş API'si
Bu belge, Giriş API'sinden Giriş kaynağını kullanan örnek bir uygulama ayarlamanıza yardımcı olur:
Background
Kapsayıcılar için Application Gateway, daha iyi arka uç performansı için SSL boşaltmayı etkinleştirir. Aşağıdaki örnek senaryoya bakın:
Önkoşullar
BYO dağıtım stratejisini izlerseniz Kapsayıcılar için Application Gateway kaynaklarınızı ve ALB Denetleyicisi'ni ayarladığınızdan emin olun
ALB yönetilen dağıtım stratejisini izlerseniz, ApplicationLoadBalancer özel kaynağı aracılığıyla ALB Denetleyicinizi ve Kapsayıcılar için Application Gateway kaynaklarınızı sağladığınızdan emin olun.
Örnek bir HTTPS uygulaması dağıtma: TLS/SSL boşaltmayı göstermek üzere örnek bir web uygulaması oluşturmak için kümenize aşağıdaki deployment.yaml dosyasını uygulayın.
kubectl apply -f https://trafficcontrollerdocs.blob.core.windows.net/examples/https-scenario/ssl-termination/deployment.yaml
Bu komut kümenizde aşağıdakileri oluşturur:
- adlı bir ad alanı
test-infra
- ad alanında çağrılan
echo
test-infra
bir hizmet - ad alanında
test-infra
adlıecho
bir dağıtım - ad alanında
test-infra
adlılistener-tls-secret
bir gizli dizi
- adlı bir ad alanı
Gerekli Giriş API'si kaynaklarını dağıtma
- Giriş oluşturma
kubectl apply -f - <<EOF
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-01
namespace: test-infra
annotations:
alb.networking.azure.io/alb-name: alb-test
alb.networking.azure.io/alb-namespace: alb-test-infra
spec:
ingressClassName: azure-alb-external
tls:
- hosts:
- example.com
secretName: listener-tls-secret
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: echo
port:
number: 80
EOF
Not
ALB Denetleyicisi ARM'de Kapsayıcılar için Application Gateway kaynaklarını oluşturduğunda, bir ön uç kaynağı için şu adlandırma kuralını kullanır: fe-8< rastgele oluşturulan karakterler>
Azure'da oluşturulan ön ucun adını değiştirmek isterseniz kendi dağıtım stratejinizi getirin seçeneğini uygulamayı göz önünde bulundurun.
Giriş kaynağı oluşturulduğunda, durumun yük dengeleyicinizin ana bilgisayar adını gösterdiğinden ve her iki bağlantı noktasının da istekleri dinlediğinden emin olun.
kubectl get ingress ingress-01 -n test-infra -o yaml
Başarılı Giriş oluşturma işleminin örnek çıktısı.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
alb.networking.azure.io/alb-frontend: FRONTEND_NAME
alb.networking.azure.io/alb-id: /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/yyyyyyyy/providers/Microsoft.ServiceNetworking/trafficControllers/zzzzzz
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"networking.k8s.io/v1","kind":"Ingress","metadata":{"annotations":{"alb.networking.azure.io/alb-frontend":"FRONTEND_NAME","alb.networking.azure.io/alb-id":"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/yyyyyyyy/providers/Microsoft.ServiceNetworking/trafficControllers/zzzzzz"},"name"
:"ingress-01","namespace":"test-infra"},"spec":{"ingressClassName":"azure-alb-external","rules":[{"host":"example.com","http":{"paths":[{"backend":{"service":{"name":"echo","port":{"number":80}}},"path":"/","pathType":"Prefix"}]}}],"tls":[{"hosts":["example.com"],"secretName":"listener-tls-secret"}]}}
creationTimestamp: "2023-07-22T18:02:13Z"
generation: 2
name: ingress-01
namespace: test-infra
resourceVersion: "278238"
uid: 17c34774-1d92-413e-85ec-c5a8da45989d
spec:
ingressClassName: azure-alb-external
rules:
- host: example.com
http:
paths:
- backend:
service:
name: echo
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- example.com
secretName: listener-tls-secret
status:
loadBalancer:
ingress:
- hostname: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.fzyy.alb.azure.com
ports:
- port: 80
protocol: TCP
- port: 443
protocol: TCP
Uygulamaya erişimi test etme
Artık ön uçta atanan FQDN aracılığıyla örnek uygulamamıza trafik göndermeye hazırız. FQDN'yi almak için aşağıdaki komutu kullanın.
fqdn=$(kubectl get ingress ingress-01 -n test-infra -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
Bu FQDN'nin kümelenmesi, HTTPRoute'ta yapılandırıldığı gibi arka uçtan yanıt döndürmelidir.
fqdnIp=$(dig +short $fqdn)
curl -vik --resolve example.com:443:$fqdnIp https://example.com
Tebrikler, ALB Denetleyicisi'ni yüklediniz, bir arka uç uygulaması dağıttınız ve trafiği Kapsayıcılar için Application Gateway'de Giriş yoluyla uygulamaya yönlendirdiniz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin