Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Hypertext Transfer Protocol (HTTP) és a biztonságos (HTTPS) forgalom azure Kubernetes Service-fürtön (AKS) futó alkalmazásokhoz való átirányításának egyik módja a Kubernetes Bejövő forgalom objektum használata. Amikor létrehoz egy Ingress objektumot, amely az alkalmazás-útválasztási bővítmény NGINX Ingress osztályait használja, a bővítmény létrehoz, konfigurál és kezel egy vagy több Ingress vezérlőt az AKS-fürtben.
Ez a cikk bemutatja, hogyan helyezhet üzembe és konfigurálhat egy alapszintű Ingress vezérlőt az AKS-fürtben.
Alkalmazás-útválasztási bővítmény NGINX-funkciókkal
Az NGINX-et tartalmazó alkalmazás-útválasztási bővítmény a következőket biztosítja:
- Felügyelt NGINX bejövőforgalom-vezérlők egyszerű konfigurálása Kubernetes NGINX bejövőforgalom-vezérlő alapján.
- Integráció az Azure DNS-sel a nyilvános és privát zónakezeléshez
- SSL-leállítás az Azure Key Vaultban tárolt tanúsítványokkal.
További konfigurációkért lásd:
- DNS- és SSL-konfiguráció
- Alkalmazásútválasztási kiegészítő konfigurációja
- Konfigurálja a belső NGIX bejövőforgalom-vezérlőt az Azure privát DNS-zónához.
Az Open Service Mesh (OSM) a Cloud Native Computing Foundation (CNCF) általi kivonásával az OSM-et használó alkalmazás-útválasztási bővítmény használata nem ajánlott.
Előfeltételek
- Azure-előfizetés. Ha nem rendelkezik Azure-előfizetéssel, létrehozhat egy ingyenes fiókot.
- Az Azure CLI 2.54.0-s vagy újabb verziója telepítve és konfigurálva van. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
Korlátozások
- Az alkalmazás-útválasztási bővítmény legfeljebb öt Azure DNS-zónát támogat.
- Az alkalmazásirányítási bővítmény csak az felügyelt identitással rendelkező AKS-fürtökön engedélyezhető.
- A bővítményrel integrált összes globális Azure DNS-zónának ugyanabban az erőforráscsoportban kell lennie.
- A bővítményrel integrált összes privát Azure DNS-zónának ugyanabban az erőforráscsoportban kell lennie.
- Az ingress-nginx
ConfigMap
szerkesztése aapp-routing-system
névtérben nem támogatott. - A következő kódrészlet-széljegyzetek le vannak tiltva, és megakadályozzák az Ingress konfigurálását:
load_module
,lua_package
,_by_lua
,location
,root
,proxy_pass
,serviceaccount
,{
,}
,'
.
Alkalmazás-útválasztás engedélyezése az Azure CLI használatával
Engedélyezés új klaszteren
Ha engedélyezni szeretné az alkalmazás-útválasztást egy új fürtön, használja a az aks create
parancsot, és adja meg a jelölőt --enable-app-routing
.
az aks create \
--resource-group <ResourceGroupName> \
--name <ClusterName> \
--location <Location> \
--enable-app-routing \
--generate-ssh-keys
Engedélyez meglévő fürtön
Ha engedélyezni szeretné az alkalmazás-útválasztást egy meglévő fürtön, használja a az aks approuting enable
parancsot.
az aks approuting enable --resource-group <ResourceGroupName> --name <ClusterName>
Csatlakozás az AKS klaszterhez
Ahhoz, hogy csatlakozni tudjon a Kubernetes klaszterhez a helyi számítógépről, használja a Kubernetes kubectl nevű parancssori ügyfelét. A az aks install-cli
parancs használatával helyileg telepítheti. Ha az Azure Cloud Shellt használja, a kubectl
már telepítve van.
Konfigurálja kubectl
a Kubernetes-klaszterhez való csatlakozást az az aks get-credentials paranccsal.
az aks get-credentials --resource-group <ResourceGroupName> --name <ClusterName>
Alkalmazás üzembe helyezése
Az alkalmazás-útválasztási bővítmény a Kubernetes Bejövő forgalom objektumainak megjegyzéseit használja a megfelelő erőforrások létrehozásához.
Hozza létre a példa podok futtatásához hívott
aks-store
alkalmazásnévteret akubectl create namespace
paranccsal.kubectl create namespace aks-store
Telepítse az AKS-tárolóalkalmazást a következő YAML-jegyzékfájl használatával:
kubectl apply -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/sample-manifests/docs/app-routing/aks-store-deployments-and-services.yaml -n aks-store
Ez a jegyzék létrehozza az AKS-tárolóalkalmazáshoz szükséges üzembe helyezéseket és szolgáltatásokat.
Az Ingress objektum létrehozása
Az alkalmazás-útválasztási bővítmény létrehoz egy bejövő osztályt a webapprouting.kubernetes.azure.com nevű fürtön. Amikor ezzel az osztállyal hoz létre egy Ingress objektumot, az aktiválja a bővítményt.
Másolja a következő YAML-jegyzékfájlt egy ingress.yaml nevű új fájlba, és mentse a fájlt a helyi számítógépre.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: store-front namespace: aks-store spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - http: paths: - backend: service: name: store-front port: number: 80 path: / pathType: Prefix
Hozza létre a bejövő erőforrást a
kubectl apply
paranccsal.kubectl apply -f ingress.yaml -n aks-store
A következő példakimenet a létrehozott erőforrást mutatja be:
ingress.networking.k8s.io/store-front created
A felügyelt bejövő forgalom létrehozásának ellenőrzése
Az kubectl get ingress
parancs segítségével ellenőrizheti, hogy a felügyelt Ingress létrejött.
kubectl get ingress -n aks-store
A következő példakimenet a létrehozott kezelt Ingress-t mutatja be:
NAME CLASS HOSTS ADDRESS PORTS AGE
store-front webapprouting.kubernetes.azure.com * 51.8.10.109 80 110s
Ellenőrizheti, hogy az AKS-tároló működik-e, ha a böngészőjét az Ingress vezérlő nyilvános IP-címére irányítja. Keresse meg az IP-címet a kubectl használatával:
kubectl get service -n app-routing-system nginx -o jsonpath="{.status.loadBalancer.ingress[0].ip}"
Az alkalmazás útválasztási bővítményének eltávolítása
A társított névtér eltávolításához használja a kubectl delete namespace
parancsot.
kubectl delete namespace aks-store
Az alkalmazás-útválasztási bővítmény fürtből való eltávolításához használja a az aks approuting disable
parancsot.
az aks approuting disable --name <ClusterName> --resource-group <ResourceGroupName>
Feljegyzés
Annak érdekében, hogy elkerülje a fürtbe irányuló forgalom esetleges megszakadását, amikor az alkalmazás-útválasztási bővítmény le van tiltva, néhány Kubernetes-erőforrás, beleértve a konfigurációtérképeket, a titkos kulcsokat és a vezérlőt futtató üzembe helyezést, a fürtön marad. Ezek az erőforrások az alkalmazás-útválasztási rendszer névterében találhatók. Ezeket az erőforrásokat eltávolíthatja, ha már nincs rájuk szükség a névtér törlésével kubectl delete ns app-routing-system
.
Következő lépések
Az egyéni bejövőforgalom-konfigurációk konfigurálása bemutatja, hogyan hozhat létre speciális bejövőforgalom-konfigurációt, és hogyan konfigurálhat egyéni tartományt az Azure DNS használatával a DNS-zónák kezeléséhez és egy biztonságos bejövő forgalom beállításához.
Az Azure belső terheléselosztóval való integrációhoz és egy privát Azure DNS-zóna konfigurálásához, amely lehetővé teszi a privát végpontok DNS-feloldását meghatározott tartományok megoldására, lásd Az NGINX belső bejövőforgalom-vezérlő konfigurálása az Azure privát DNS-zónához.
Informálódhat arról, hogyan lehet monitorozni az alkalmazás-útválasztási bővítmény ingress-nginx vezérlő metrikáit Prometheus segítségével a Grafanában (előzetes verzió) az alkalmazás teljesítményének és használatának elemzése érdekében.
Azure Kubernetes Service