Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek ukazuje použití prostředků příchozího přenosu dat Kubernetes k zveřejnění ukázkové služby Azure Kubernetes Service (AKS) prostřednictvím služby Azure Application Gateway přes HTTP nebo HTTPS.
Tip
Zvažte službu Application Gateway pro kontejnery pro vaše řešení příchozího přenosu dat Kubernetes.
Prerequisites
- Nainstalovaný
ingress-azureHelm chart:- Nasazení Greenfieldu: Pokud začínáte úplně od začátku, projděte si tyto pokyny k instalaci, které popisují postup nasazení clusteru AKS se službou Application Gateway a instalaci kontroleru příchozího přenosu dat služby Application Gateway (AGIC) do clusteru AKS.
- Nasazení Brownfieldu: Pokud máte existující cluster AKS a nasazení služby Application Gateway, přečtěte si tyto pokyny k instalaci AGIC v clusteru AKS.
- Pokud chcete pro tuto aplikaci použít HTTPS, certifikát x509 a jeho privátní klíč.
Nasazení aplikace guestbooku
Aplikace guestbook je kanonická aplikace Kubernetes, která se skládá z front-endu webového uživatelského rozhraní, back-endu a databáze Redis.
Ve výchozím nastavení guestbook zpřístupňuje aplikaci prostřednictvím služby s názvem frontend na portu 80. Bez prostředku příchozího přenosu dat Kubernetes není služba přístupná mimo cluster AKS. Použijete aplikaci a nastavíte prostředky příchozího přenosu dat pro přístup k aplikaci prostřednictvím protokolu HTTP a HTTPS.
guestbook Nasazení aplikace:
Stáhněte si
guestbook-all-in-one.yamlz této stránky GitHubu.Nasazení
guestbook-all-in-one.yamldo clusteru AKS spuštěním tohoto příkazu:kubectl apply -f guestbook-all-in-one.yaml
Zveřejnění služeb přes PROTOKOL HTTP
Pokud chcete aplikaci guestbook zpřístupnit, použijte následující ingress zdroj:
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
Tento ingres zpřístupňuje službu frontend z deploymentu guestbook-all-in-one jako výchozí backend nasazení Application Gateway.
Uložte předchozí prostředek příchozího přenosu dat jako ing-guestbook.yaml:
Nasazení
ing-guestbook.yamlspuštěním tohoto příkazu:kubectl apply -f ing-guestbook.yamlZkontrolujte protokol ingress kontroléru pro stav nasazení.
guestbook Aplikace by teď měla být dostupná. Dostupnost můžete zkontrolovat tak, že navštívíte veřejnou adresu nasazení služby Application Gateway.
Zveřejnění služeb přes HTTPS
Bez zadaného názvu hostitele
Pokud nezadáte název hostitele, guestbook bude služba dostupná ve všech názvech hostitelů, které odkazují na nasazení služby Application Gateway.
Před nasazením prostředku příchozího přenosu dat vytvořte tajný klíč Kubernetes pro hostování certifikátu a privátního klíče:
kubectl create secret tls <guestbook-secret-name> --key <path-to-key> --cert <path-to-cert>Definujte následující prostředek příchozího přenosu dat.
secretNameV části nahraďte<guestbook-secret-name>názvem tajného kódu.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: 80Uložte prostředek příchozího přenosu dat do souboru s názvem
ing-guestbook-tls.yaml.Nasazení
ing-guestbook-tls.yamlspuštěním tohoto příkazu:kubectl apply -f ing-guestbook-tls.yamlZkontrolujte protokol ingress kontroléru pro stav nasazení.
guestbook Aplikace je teď dostupná na HTTP i HTTPS.
Se zadaným názvem hostitele
Můžete také zadat název hostitele pro prostředek ingress k multiplexování konfigurací TLS a služeb. Když zadáte název hostitele, guestbook bude služba dostupná pouze na zadaném hostiteli.
Definujte následující prostředek příchozího přenosu dat.
secretNameV části nahraďte<guestbook-secret-name>názvem tajného kódu. V částechhostsahostnahraďte<guestbook.contoso.com>názvem hostitele.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: 80Nasazení
ing-guestbook-tls-sni.yamlspuštěním tohoto příkazu:kubectl apply -f ing-guestbook-tls-sni.yamlZkontrolujte protokol ingress kontroléru pro stav nasazení.
guestbook Aplikace je teď dostupná na http i HTTPS, pouze na zadaném hostiteli.
Integrace s ostatními službami
Pomocí následujícího ingress prostředku přidejte cesty a přesměrujte je na jiné služby:
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