Rövid útmutató: Meglévő Kubernetes-fürt csatlakoztatása az Azure Archoz
Ismerkedés az Azure Arc-kompatibilis Kubernetes szolgáltatással az Azure CLI vagy az Azure PowerShell használatával egy meglévő Kubernetes-fürt Azure Archoz való csatlakoztatásához.
A fürtök Azure Archoz való csatlakoztatásának elméleti áttekintését az Azure Arc-kompatibilis Kubernetes-ügynök áttekintésében tekintheti meg. Ha kipróbálná a dolgokat egy minta-/gyakorlatban, látogasson el az Azure Arc jumpstartra.
Előfeltételek
Fontos
Ezen előfeltételek mellett mindenképpen meg kell felelnie az Azure Arc-kompatibilis Kubernetes összes hálózati követelményének.
Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
A Kubernetes alapfogalmainak alapszintű ismerete.
Identitás (felhasználó vagy szolgáltatásnév), amellyel bejelentkezhet az Azure CLI-be , és csatlakoztathatja a fürtöt az Azure Archoz.
Az Azure CLI legújabb verziója.
A connectedk8s Azure CLI-bővítmény legújabb verziója az alábbi parancs futtatásával telepíthető:
az extension add --name connectedk8s
Egy működő Kubernetes-fürt. Ha nincs ilyenje, az alábbi lehetőségek egyikével hozhat létre fürtöt:
Kubernetes-fürt létrehozása a Docker for Mac vagy Windows használatával
Ön által felügyelt Kubernetes-fürt a Fürt API használatával
Feljegyzés
A fürtnek rendelkeznie kell legalább egy operációs rendszer- és architektúratípusú csomóponttel
linux/amd64
és/vagylinux/arm64
. Az ARM64-forgatókönyvekkel kapcsolatos további információkért tekintse meg a fürt követelményeit .
Legalább 850 MB ingyenes a fürtön üzembe helyezendő Arc-ügynökök számára, és az egyetlen PROCESSZOR körülbelül 7%-ának használatára képes kapacitás.
A fürtre mutató kubeconfig-fájl és környezet. Ha többet szeretne megtudni arról, hogy mi a kubeconfig fájl, és hogyan állíthatja be a környezetet a fürtre, tekintse meg ezt a cikket.
Szolgáltatók regisztrálása az Azure Arc-kompatibilis Kuberneteshez
Írja be a következő parancsokat:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
A regisztráció monitorozása. A regisztráció akár 10 percet is igénybe vehet.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o table
A regisztráció után látnia kell ezeknek a névtereknek az
RegistrationState
állapotát.Registered
Erőforráscsoport létrehozása
Futtassa az alábbi parancsot:
az group create --name AzureArcTest --location EastUS --output table
Hozam:
Location Name
---------- ------------
eastus AzureArcTest
Meglévő Kubernetes-fürt csatlakoztatása
Futtassa a következő parancsot a fürt csatlakoztatásához. Ez a parancs üzembe helyezi az Azure Arc-ügynököket a fürtön, és telepíti a Helm 3.6.3-at az .azure
üzembehelyezési gép mappájába. Ez a Helm 3-telepítés csak az Azure Archoz használható, és nem távolítja el és nem módosítja a Helm korábban telepített verzióit a gépen.
Ebben a példában a fürt neve AzureArcTest1.
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Hozam:
Helm release deployment succeeded
{
"aadProfile": {
"clientAppId": "",
"serverAppId": "",
"tenantId": ""
},
"agentPublicKeyCertificate": "xxxxxxxxxxxxxxxxxxx",
"agentVersion": null,
"connectivityStatus": "Connecting",
"distribution": "gke",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1",
"identity": {
"principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "SystemAssigned"
},
"infrastructure": "gcp",
"kubernetesVersion": null,
"lastConnectivityTime": null,
"location": "eastus",
"managedIdentityCertificateExpirationTime": null,
"name": "AzureArcTest1",
"offering": null,
"provisioningState": "Succeeded",
"resourceGroup": "AzureArcTest",
"tags": {},
"totalCoreCount": null,
"totalNodeCount": null,
"type": "Microsoft.Kubernetes/connectedClusters"
}
Tipp.
A fenti parancs a megadott helyparaméter nélkül hozza létre az Azure Arc-kompatibilis Kubernetes-erőforrást az erőforráscsoporttal azonos helyen. Ha az Azure Arc-kompatibilis Kubernetes-erőforrást egy másik helyen szeretné létrehozni, adja meg vagy --location <region>
-l <region>
futtassa a az connectedk8s connect
parancsot.
Csatlakozás kimenő proxykiszolgálóval
Ha a fürt egy kimenő proxykiszolgáló mögött található, a kéréseket a kimenő proxykiszolgálón keresztül kell irányítani.
Az üzembehelyezési gépen állítsa be az Azure CLI-hez szükséges környezeti változókat a kimenő proxykiszolgáló használatához:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>
A Kubernetes-fürtön futtassa a kapcsolódási parancsot a
proxy-https
megadott paraméterekkel.proxy-http
Ha a proxykiszolgáló HTTP és HTTPS protokollal is be van állítva, mindenképpen használja--proxy-http
a HTTP-proxyt és--proxy-https
a HTTPS-proxyt. Ha a proxykiszolgáló csak HTTP-t használ, ezt az értéket mindkét paraméterhez használhatja.az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --proxy-cert <path-to-cert-file>
Feljegyzés
- Néhány hálózati kérést, például a fürtön belüli szolgáltatások közötti kommunikációt tartalmazókat el kell különíteni a kimenő kommunikációhoz használt, proxykiszolgálón keresztül továbbított forgalomtól. A
--proxy-skip-range
paraméterrel vesszővel elválasztott módon adhatja meg a CIDR-tartományt és a végpontokat, hogy az ügynökök és a végpontok közötti kommunikáció ne a kimenő proxyn keresztül menjen. Legalább a fürt szolgáltatásainak CIDR-tartományát meg kell adni a paraméter értékeként. Tegyük fel például, hogykubectl get svc -A
visszaadja azoknak a szolgáltatásoknak a listáját, amelyekben az összes szolgáltatás FürtIP-értékei szerepelnek a tartományban10.0.0.0/16
. Ezután a megadott--proxy-skip-range
érték a következő10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc
: . --proxy-http
,--proxy-https
és--proxy-skip-range
a legtöbb kimenő proxykörnyezet esetében várható.--proxy-cert
csak akkor szükséges, ha a proxy által várt megbízható tanúsítványokat kell injektálnia az ügynök podok megbízható tanúsítványtárolójába.- A kimenő proxyt úgy kell konfigurálni, hogy engedélyezze a WebSocket-kapcsolatokat.
Azon kimenő proxykiszolgálók esetében, ahol csak megbízható tanúsítványt kell megadni a proxykiszolgáló végpontjának bemenetei nélkül, az connectedk8s connect
csak a --proxy-cert
megadott bemenettel futtatható. Ha több megbízható tanúsítványra van szükség, a kombinált tanúsítványlánc egyetlen fájlban is megadható a --proxy-cert
paraméterrel.
Feljegyzés
--custom-ca-cert
a aliasa.--proxy-cert
Mindkét paraméter felcserélhető. Ha mindkét paramétert ugyanabban a parancsban adja át, az az utolsóként átadott paramétert fogja tiszteletben tartani.
Futtassa a kapcsolódási parancsot a --proxy-cert
megadott paraméterrel:
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>
Fürtkapcsolat ellenőrzése
Futtassa az alábbi parancsot:
az connectedk8s list --resource-group AzureArcTest --output table
Hozam:
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Feljegyzés
A fürt előkészítése után kb. 5–10 perc kell ahhoz, hogy a fürt metaadatai (a fürt verziója, az ügynök verziója, csomópontok száma stb.) megjelenjenek az Azure Portalon, az Azure Arc-kompatibilis Kubernetes-erőforrás áttekintési oldalán.
Tipp.
Ha segítségre van szüksége a fürt csatlakoztatása során felmerülő problémák elhárításához, olvassa el az Azure Arc-kompatibilis Kubernetes-fürtök csatlakozási problémáinak diagnosztizálásával foglalkozó témakört.
Azure Arc-ügynökök megtekintése a Kuberneteshez
Az Azure Arc-kompatibilis Kubernetes több ügynököt helyez üzembe a azure-arc
névtérben.
Tekintse meg ezeket az üzemelő példányokat és podokat a következőkkel:
kubectl get deployments,pods -n azure-arc
Ellenőrizze, hogy az összes pod állapota van-e
Running
.Hozam:
NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/cluster-metadata-operator 1/1 1 1 13d deployment.apps/clusterconnect-agent 1/1 1 1 13d deployment.apps/clusteridentityoperator 1/1 1 1 13d deployment.apps/config-agent 1/1 1 1 13d deployment.apps/controller-manager 1/1 1 1 13d deployment.apps/extension-manager 1/1 1 1 13d deployment.apps/flux-logs-agent 1/1 1 1 13d deployment.apps/kube-aad-proxy 1/1 1 1 13d deployment.apps/metrics-agent 1/1 1 1 13d deployment.apps/resource-sync-agent 1/1 1 1 13d NAME READY STATUS RESTARTS AGE pod/cluster-metadata-operator-9568b899c-2stjn 2/2 Running 0 13d pod/clusterconnect-agent-576758886d-vggmv 3/3 Running 0 13d pod/clusteridentityoperator-6f59466c87-mm96j 2/2 Running 0 13d pod/config-agent-7cbd6cb89f-9fdnt 2/2 Running 0 13d pod/controller-manager-df6d56db5-kxmfj 2/2 Running 0 13d pod/extension-manager-58c94c5b89-c6q72 2/2 Running 0 13d pod/flux-logs-agent-6db9687fcb-rmxww 1/1 Running 0 13d pod/kube-aad-proxy-67b87b9f55-bthqv 2/2 Running 0 13d pod/metrics-agent-575c565fd9-k5j2t 2/2 Running 0 13d pod/resource-sync-agent-6bbd8bcd86-x5bk5 2/2 Running 0 13d
További információ ezekről az ügynökökről: Azure Arc-kompatibilis Kubernetes-ügynök áttekintése.
Az erőforrások eltávolítása
Az Azure CLI használatával törölheti az Azure Arc-kompatibilis Kubernetes-erőforrást, a társított konfigurációs erőforrásokat és a fürtön futó összes ügynököt az alábbi paranccsal:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Ha a törlési folyamat sikertelen, a következő paranccsal kényszerítse ki a törlést (ha -y
meg szeretné kerülni a megerősítési kérést):
az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force
Ez a parancs akkor is használható, ha problémákat tapasztal egy új fürttelepítés létrehozásakor (mert a korábban létrehozott erőforrásokat nem távolítja el teljesen).
Feljegyzés
Ha törli az Azure Arc-kompatibilis Kubernetes-erőforrást az Azure Portal használatával, eltávolítja a társított konfigurációs erőforrásokat, de a fürtön futó ügynököket nem távolítja el. Ajánlott eljárás az Azure Arc-kompatibilis Kubernetes-erőforrás az connectedk8s delete
törlése az erőforrás törlése helyett az Azure Portalon.
Következő lépések
- Megtudhatja, hogyan helyezhet üzembe konfigurációkat a GitOps használatával a Flux v2-vel.
- Az Azure Arc-kompatibilis Kubernetes gyakori hibáinak elhárítása.
- Az Azure Arc-kompatibilis Kubernetes automatizált forgatókönyveit az Azure Arc Jumpstarttal tapasztalhatja meg.