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.
Az ALB-vezérlő felelős az Átjáró API és a Bejövő API konfigurációjának a Kubernetesen belüli fordításáért az Application Gateway for Containers terheléselosztási szabályainak érdekében. Az alábbi útmutató végigvezeti az AKS által felügyelt Átjáró API és az Application Gateway for Containers ALB Controller bővítményeinek új vagy meglévő Azure Kubernetes Service-fürtön való engedélyezéséhez szükséges lépéseket.
Előfeltételek
A fürt ALB-vezérlő bővítményének engedélyezése előtt a következő feladatokat kell elvégeznie:
Készítse elő az Azure-előfizetését és az ügyfélalkalmazást
az-cli.# Sign in to your Azure subscription. SUBSCRIPTION_ID='<your subscription id>' az login az account set --subscription $SUBSCRIPTION_ID # Register required resource providers on Azure. az provider register --namespace Microsoft.ContainerService az provider register --namespace Microsoft.Network az provider register --namespace Microsoft.NetworkFunction az provider register --namespace Microsoft.ServiceNetworking # Install Azure CLI extensions. az extension add --name alb az extension add --name aks-previewBővítményfunkció regisztrálása
# Register required preview features az feature register --namespace "Microsoft.ContainerService" --name "ManagedGatewayAPIPreview" az feature register --namespace "Microsoft.ContainerService" --name "ApplicationLoadBalancerPreview"
AKS-fürt beállítása az AKS-bővítménnyel
Az AKS-bővítményt új vagy meglévő fürtökön lehet engedélyezni.
A bővítmény sikeres üzembe helyezéséhez a következő AKS-fürtkövetelmények szükségesek:
- Olyan régióban kell lennie, ahol elérhető az Application Gateway for Containers.
- Azure CNI-t vagy Azure CNI overlay hálózatot kell használnia.
- Engedélyezve kell lennie a számítási feladat identitásának funkciójának. Megtudhatja, hogyan engedélyezheti a számítási feladatok identitását egy meglévő AKS-fürtön.
- Támogatott AKS Kubernetes-verziót kell használnia.
Megjegyzés:
Bár a bővítmény engedélyezése minden régióban regisztrálja és telepíti az ALB-vezérlőt, az Application Gateway for Containers-erőforrások üzembe helyezése sikertelen lesz, ha nem olyan régióban van üzembe helyezve , ahol elérhető az Application Gateway for Containers.
Figyelmeztetés
Az Application Gateway for Containers AKS bővítmény engedélyezése egy AKS Automatikus klaszterhez jelenleg nem támogatott.
Új klaszter
Az alábbi parancsokkal hozzon létre egy új AKS-fürtöt az Azure CNI-vel, a számítási feladatok identitásának engedélyezésével, az átjáró API-bővítményével és az Application Gateway for Containers bővítmény engedélyezésével.
AKS_NAME='<your cluster name>'
RESOURCE_GROUP='<your resource group name>'
LOCATION='northeurope'
VM_SIZE='<the size of the vm in AKS>' # The size needs to be available in your location
az group create --name $RESOURCE_GROUP --location $LOCATION
az aks create \
--resource-group $RESOURCE_GROUP \
--name $AKS_NAME \
--location $LOCATION \
--node-vm-size $VM_SIZE \
--network-plugin azure \
--enable-oidc-issuer \
--enable-workload-identity \
--enable-gateway-api \
--enable-application-load-balancer \
--generate-ssh-key
Megjegyzés:
A Gateway API használatával más szolgáltatásokkal való ütközés elkerülése érdekében az Application Gateawy for Containers bővítmény használatához az AKS Gateway API bővítményre van szükség.
Meglévő klaszter
Előfeltételek hozzáadása meglévő fürthöz
Ha meglévő fürtöt használ, győződjön meg arról, hogy engedélyezi a számítási feladatok identitásának támogatását az AKS-fürtön. A számítási feladatok identitásai a következő parancsokkal engedélyezhetők:
AKS_NAME='<your cluster name>'
RESOURCE_GROUP='<your resource group name>'
az aks update -g $RESOURCE_GROUP -n $AKS_NAME --enable-oidc-issuer --enable-workload-identity --no-wait
Az ALB Controller bővítmény telepítése
Meglévő fürttel engedélyezheti a Gateway API-t és az Alkalmazás átjáró bővítményeket konténerekhez az alábbi parancsokkal:
AKS_NAME='<your cluster name>'
RESOURCE_GROUP='<your resource group name>'
# Update the AKS cluster
az aks update --name ${AKS_NAME} --resource-group ${RESOURCE_GROUP} --enable-gateway-api --enable-application-load-balancer
Az ALB-vezérlő telepítésének ellenőrzése
ALB-vezérlő podok ellenőrzése
Ellenőrizze, hogy az ALB-vezérlő podjai futnak-e a kube-system névtérben:
kubectl get pods -n kube-system | grep alb-controller
Két alb-controller podot kell látnod Running állapotban:
| NÉV | KÉSZ | STATUS | ÚJRAINDUL | KOR |
|---|---|---|---|---|
| alb-controller-6648c5d5c-sddd9t | 1/1 | Running | 0 | 4 nap 6 óra |
| alb-controller-6648c5d5c-au234 | 1/1 | Running | 0 | 4 nap 6 óra |
GatewayClass ellenőrzése
Ellenőrizze, hogy a GatewayClass azure-alb-external telepítve van-e a fürtön:
kubectl get gatewayclass azure-alb-external -o yaml
Bővítményerőforrások ellenőrzése az Azure Portalon
Lépjen az AKS-fürt (csomópont) MC_ erőforráscsoportjába. A bővítmény által automatikusan létrehozott alábbi erőforrásoknak kell megjelennie:
Felügyelt identitás
A rendszer létrehoz egy identitást applicationloadbalancer-<cluster-name> a következő szerepkör-hozzárendelésekkel:
| Role | Scope |
|---|---|
| Hálózati közreműködő | MC-erőforráscsoport |
| AppGw for Containers Beállításkezelő | MC-erőforráscsoport |
| Olvasó | MC-erőforráscsoport |
Az applicationloadbalancer-<cluster-name> identitás egy összevont identitás hitelesítő adataival rendelkezik, amely a következő tulajdonságokkal van konfigurálva:
- Név: aksfic
- Névtér: kube-system
- Szolgáltatásfiók: alb-controller-sa
Figyelmeztetés
Nem támogatott az identitás vagy a névtér módosítása a bővítményrel való integráció kiépítésekor. Ha testre szeretné szabni az üzembe helyezést, fontolja meg az üzembe helyezést a Helm használatával.
Alhálózat
aks-appgateway nevű alhálózat, melyen engedélyezett az alhálózat-delegálás Microsoft.ServiceNetworking/TrafficController
Látnia kell, hogy a GatewayClass olyan feltétellel rendelkezik, amelyet Érvényes GatewayClass olvassa. Ez a feltétel azt jelzi, hogy be van állítva egy alapértelmezett GatewayClass, és hogy az erre a GatewayClass-ra hivatkozó átjáró-erőforrásokat az ALB-vezérlő automatikusan kezeli.
apiVersion: gateway.networking.k8s.io/v1beta1
kind: GatewayClass
metadata:
creationTimestamp: "2023-07-31T13:07:00Z"
generation: 1
name: azure-alb-external
resourceVersion: "64270"
uid: 6c1443af-63e6-4b79-952f-6c3af1f1c41e
spec:
controllerName: alb.networking.azure.io/alb-controller
status:
conditions:
- lastTransitionTime: "2023-07-31T13:07:23Z"
message: Valid GatewayClass
observedGeneration: 1
reason: Accepted
status: "True"
type: Accepted
Következő lépések
Most, hogy sikeresen telepített egy ALB-vezérlőt a fürtön, kiépítheti az Application Gateway for Containers erőforrásait az Azure-ban.
A következő lépés az ALB-vezérlő csatlakoztatása az Application Gateway for Containershez. A hivatkozás létrehozása az üzembe helyezési stratégiától függ.
A tárolókhoz készült Application Gateway kezelésére két üzembehelyezési stratégia létezik:
-
Saját (BYO) üzembe helyezés: Ebben az üzembe helyezési stratégiában az Application Gateway for Containers erőforrás, a társítási erőforrás és a frontend erőforrás üzembe helyezése és életciklusa az Azure Portal, a CLI, a PowerShell, a Terraform stb. használatával történik, és ezek a Kubernetes konfigurációjában kerülnek hivatkozásra.
- BYO-telepítés használatához lásd: Application Gateway létrehozása tárolókhoz – saját üzembe helyezés.
-
Az ALB-vezérlő felügyeli: Ebben az üzembehelyezési stratégiában a Kubernetesben üzembe helyezett ALB-vezérlő felelős az Application Gateway for Containers erőforrás és annak alerőforrásai életciklusáért. Az ALB-vezérlő létrehoz egy Application Gateway for Containers-erőforrást, amikor egy ApplicationLoadBalancer egyéni erőforrás van definiálva a fürtön. A szolgáltatás életciklusa az egyéni erőforrás életciklusán alapul.
- Az ALB által felügyelt üzembe helyezés használatáról az Application Gateway létrehozása az ALB-vezérlő által felügyelt tárolókhoz című témakörben olvashat.
Kipróbálandó példaforgatókönyvek
Application Gateway eltávolítása tárolókhoz és ALB-vezérlőhöz
Ha el szeretné távolítani az ALB Controller bővítményt, hajtsa végre az alábbi lépéseket.
Az ALB-vezérlő bővítményének letiltása
Tiltsa le az ALB Controller bővítményt a fürtön:
AKS_NAME='<your cluster name>'
RESOURCE_GROUP='<your resource group name>'
# Update the AKS cluster
az aks update --name ${AKS_NAME} --resource-group ${RESOURCE_GROUP} --disable-gateway-api --disable-application-load-balancer
Az erőforráscsoport törlése
Az összes erőforrás, például az Application Gateway for Containers teljes törléséhez törölje az erőforráscsoportot:
az group delete --resource-group $RESOURCE_GROUP