Az Azure Arc-kompatibilis Kubernetes-fürtök platformproblémáinak elhárítása
Ez a dokumentum hibaelhárítási útmutatókat tartalmaz az Azure Arc-kompatibilis Kubernetes-kapcsolatokkal, engedélyekkel és ügynökökkel kapcsolatos problémákhoz. Hibaelhárítási útmutatókat is tartalmaz az Azure GitOpshoz, amelyek az Azure Arc-kompatibilis Kubernetesben vagy az Azure Kubernetes Service-fürtökben is használhatók.
Ha segítségre van szüksége a bővítményekkel kapcsolatos problémák elhárításához, például GitOps (Flux v2), Azure Monitor Container Elemzések, Open Service Mesh, tekintse meg az Azure Arc-kompatibilis Kubernetes-fürtök bővítményproblémáinak hibaelhárítását.
Azure CLI
A cli-parancsok használata az connectedk8s
az k8s-configuration
előtt győződjön meg arról, hogy az Azure CLI a megfelelő Azure-előfizetésen működik.
az account set --subscription 'subscriptionId'
az account show
Azure Arc-ügynökök
Az Azure Arc-kompatibilis Kubernetes összes ügynöke podként van üzembe helyezve a azure-arc
névtérben. Minden podnak futnia kell, és át kell adnia az állapot-ellenőrzéseket.
Először ellenőrizze az Azure Arc Helm-diagram kiadását:
$ helm --namespace default status azure-arc
NAME: azure-arc
LAST DEPLOYED: Fri Apr 3 11:13:10 2020
NAMESPACE: default
STATUS: deployed
REVISION: 5
TEST SUITE: None
Ha a Helm Chart-kiadás nem található vagy hiányzik, próbálja meg újra csatlakoztatni a fürtöt az Azure Archoz .
Ha a Helm-diagram kiadása jelen STATUS: deployed
van, ellenőrizze az ügynökök állapotát a következő használatával kubectl
:
$ kubectl -n azure-arc get deployments,pods
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/cluster-metadata-operator 1/1 1 1 3d19h
deployment.apps/clusterconnect-agent 1/1 1 1 3d19h
deployment.apps/clusteridentityoperator 1/1 1 1 3d19h
deployment.apps/config-agent 1/1 1 1 3d19h
deployment.apps/controller-manager 1/1 1 1 3d19h
deployment.apps/extension-events-collector 1/1 1 1 3d19h
deployment.apps/extension-manager 1/1 1 1 3d19h
deployment.apps/flux-logs-agent 1/1 1 1 3d19h
deployment.apps/kube-aad-proxy 1/1 1 1 3d19h
deployment.apps/metrics-agent 1/1 1 1 3d19h
deployment.apps/resource-sync-agent 1/1 1 1 3d19h
NAME READY STATUS RESTARTS AGE
pod/cluster-metadata-operator-74747b975-9phtz 2/2 Running 0 3d19h
pod/clusterconnect-agent-cf4c7849c-88fmf 3/3 Running 0 3d19h
pod/clusteridentityoperator-79bdfd945f-pt2rv 2/2 Running 0 3d19h
pod/config-agent-67bcb94b7c-d67t8 1/2 Running 0 3d19h
pod/controller-manager-559dd48b64-v6rmk 2/2 Running 0 3d19h
pod/extension-events-collector-85f4fbff69-55zmt 2/2 Running 0 3d19h
pod/extension-manager-7c7668446b-69gps 3/3 Running 0 3d19h
pod/flux-logs-agent-fc7c6c959-vgqvm 1/1 Running 0 3d19h
pod/kube-aad-proxy-84d668c44b-j457m 2/2 Running 0 3d19h
pod/metrics-agent-58fb8554df-5ll67 2/2 Running 0 3d19h
pod/resource-sync-agent-dbf5db848-c9lg8 2/2 Running 0 3d19h
Minden podnak ugyanúgy kell megjelennieSTATUS
, mint 3/3
Running
az oszlopban vagy 2/2
alattREADY
. Naplók lekérése és azokat a podokat írja le, amely egy Error
vagy CrashLoopBackOff
több podot ad vissza. Ha valamelyik pod elakadt állapotban Pending
, előfordulhat, hogy nincs elegendő erőforrás a fürtcsomópontokon. A fürt vertikális felskálázásával ezek a podok állapotra Running
válthatnak.
Erőforrás-kiépítési hiba/Szolgáltatás időtúllépési hibája
Ha ezeket a hibákat látja, ellenőrizze az Azure állapotát , hogy vannak-e olyan aktív események, amelyek hatással vannak az Azure Arc-kompatibilis Kubernetes szolgáltatás állapotára. Ha igen, várja meg, amíg a szolgáltatásesemény feloldva van, majd próbálkozzon újra az előkészítéssel a meglévő csatlakoztatott fürterőforrás törlése után. Ha nincsenek szolgáltatási események, és az előkészítés során továbbra is problémákba ütközik, nyisson meg egy támogatási jegyet, hogy kivizsgálhassuk a problémát.
Túlhasználati jogcímekkel kapcsolatos hiba
Ha túlhasználati jogcímet kap, győződjön meg arról, hogy a szolgáltatásnév nem része több mint 200 Microsoft Entra-csoportnak. Ha ez a helyzet, létre kell hoznia és használnia kell egy másik szolgáltatásnevet, amely nem tagja több mint 200 csoportnak, vagy el kell távolítania az eredeti szolgáltatásnevet néhány csoportjából, és újra kell próbálkoznia.
Túlhasználati jogcím akkor is előfordulhat, ha a kimenő proxykörnyezetet úgy konfigurálta, hogy nem engedélyezte a végpont https://<region>.obo.arc.azure.com:8084/
számára a kimenő forgalmat.
Ha egyik sem érvényes, nyisson meg egy támogatási kérést, hogy megvizsgálhassuk a problémát.
Kubernetes-fürtök Azure Archoz való csatlakoztatásával kapcsolatos problémák
A fürtök Azure Arcba való Csatlakozás azure-előfizetéshez való hozzáférést és cluster-admin
a célfürthöz való hozzáférést igényel. Ha nem éri el a fürtöt, vagy ha nem rendelkezik megfelelő engedélyekkel, a fürt Azure Archoz való csatlakoztatása sikertelen lesz. Győződjön meg arról, hogy teljesítette a fürt csatlakoztatásának összes előfeltételét.
Tipp.
A kapcsolati problémák elhárításáról az Arc-kompatibilis Kubernetes-fürtök kapcsolati problémáinak diagnosztizálása című témakörben talál vizuális útmutatót.
DNS-feloldással kapcsolatos problémák
A DNS-feloldással kapcsolatos problémák megoldásához látogasson el a DNS-feloldás hibakereséséhez a fürtön.
Kimenő hálózati csatlakozási problémák
A fürtből kimenő hálózati kapcsolattal kapcsolatos problémák különböző okokból merülhetnek fel. Először győződjön meg arról, hogy az összes hálózati követelmény teljesült.
Ha csatlakozási problémákat tapasztal, és a fürt egy kimenő proxykiszolgáló mögött található, győződjön meg arról, hogy a fürt előkészítése során proxyparamétereket adott át, és hogy a proxy megfelelően van konfigurálva. További információ: Csatlakozás kimenő proxykiszolgáló használatával.
A következőhöz hasonló hibaüzenet jelenhet meg:
An exception has occurred while trying to execute the cluster diagnostic checks in the cluster. Exception: Unable to pull cluster-diagnostic-checks helm chart from the registry 'mcr.microsoft.com/azurearck8s/helmchart/stable/clusterdiagnosticchecks:0.1.2': Error: failed to do request: Head "https://mcr.microsoft.com/v2/azurearck8s/helmchart/stable/clusterdiagnosticchecks/manifests/0.1.2": dial tcp xx.xx.xx.219:443: i/o timeout
Ez a hiba akkor fordul elő, ha a https://k8connecthelm.azureedge.net
végpont le van tiltva. Győződjön meg arról, hogy a hálózat engedélyezi a végponthoz való csatlakozást, és megfelel az összes többi hálózati követelménynek.
Nem sikerült lekérni az MSI-tanúsítványt
Az MSI-tanúsítvány lekérésével kapcsolatos problémák általában hálózati problémák miatt jelentkeznek. Ellenőrizze, hogy az összes hálózati követelmény teljesült-e, majd próbálkozzon újra.
Nem megfelelő fürtengedélyek
Ha a megadott kubeconfig fájl nem rendelkezik megfelelő engedélyekkel az Azure Arc-ügynökök telepítéséhez, az Azure CLI-parancs hibát ad vissza: Error: list: failed to list: secrets is forbidden: User "myuser" cannot list resource "secrets" in API group "" at the cluster scope
A probléma megoldásához győződjön meg arról, hogy a fürtöt az Azure Archoz csatlakozó felhasználóhoz van hozzárendelve a cluster-admin
szerepkör.
Nem sikerült csatlakoztatni az OpenShift-fürtöt az Azure Archoz
Ha az connectedk8s connect
az OpenShift-fürt Azure Archoz való csatlakoztatása időtúllépést és hibát jelent:
Győződjön meg arról, hogy az OpenShift-fürt megfelel a verzió előfeltételeinek: 4.5.41+ vagy 4.6.35+ vagy 4.7.18+.
Futtatás
az connectedk8s connnect
előtt futtassa ezt a parancsot a fürtön:oc adm policy add-scc-to-user privileged system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
Telepítési időtúllépések
A Kubernetes-fürtök Azure Arc-kompatibilis Kubernetes-hez való Csatlakozás az Azure Arc-ügynökök telepítését igényli a fürtön. Ha a fürt lassú internetkapcsolaton fut, az ügynökök tárolólemezkép-lekérése hosszabb időt vehet igénybe, mint az Azure CLI időtúllépései.
Helm-időtúllépési hiba
Előfordulhat, hogy megjelenik a hiba Unable to install helm release: Error: UPGRADE Failed: time out waiting for the condition
. A probléma megoldásához próbálkozzon a következő lépésekkel:
Futtassa az alábbi parancsot:
kubectl get pods -n azure-arc
Ellenőrizze, hogy a
clusterconnect-agent
podok vagy aconfig-agent
podok megjelennek-ecrashloopbackoff
, vagy ha nem minden tároló fut:NAME READY STATUS RESTARTS AGE cluster-metadata-operator-664bc5f4d-chgkl 2/2 Running 0 4m14s clusterconnect-agent-7cb8b565c7-wklsh 2/3 CrashLoopBackOff 0 1m15s clusteridentityoperator-76d645d8bf-5qx5c 2/2 Running 0 4m15s config-agent-65d5df564f-lffqm 1/2 CrashLoopBackOff 0 1m14s
Ha ez
azure-identity-certificate
nem jelenik meg, a rendszer által hozzárendelt felügyelt identitás nincs telepítve.kubectl get secret -n azure-arc -o yaml | grep name:
name: azure-identity-certificate
A probléma megoldásához próbálja meg törölni az Arc-telepítést a
az connectedk8s delete
parancs futtatásával és újratelepítésével. Ha a probléma továbbra is fennáll, az a proxybeállításokkal kapcsolatos probléma lehet. Ebben az esetben próbáljon meg proxyn keresztül csatlakoztatni a fürtöt az Azure Archoz, hogy proxyn keresztül csatlakoztassa a fürtöt az Archoz. Azt is ellenőrizze, hogy az összes hálózati előfeltétel teljesült-e.Ha a
clusterconnect-agent
podok futnakconfig-agent
, de akube-aad-proxy
pod hiányzik, ellenőrizze a pod biztonsági szabályzatait. Ez a pod aazure-arc-kube-aad-proxy-sa
szolgáltatásfiókot használja, amely nem rendelkezik rendszergazdai engedélyekkel, de a gazdagép elérési útjának csatlakoztatásához szükséges.Ha a
kube-aad-proxy
pod elakadt állapotbanContainerCreating
, ellenőrizze, hogy a kube-aad-proxy tanúsítvány le lett-e töltve a fürtre.kubectl get secret -n azure-arc -o yaml | grep name:
name: kube-aad-proxy-certificate
Ha a tanúsítvány hiányzik, törölje az üzembe helyezést, és próbálkozzon újra az előkészítéssel a fürt másik nevével. Ha a probléma továbbra is fennáll, nyisson meg egy támogatási kérést.
CryptoHash-modul hibája
Amikor a Kubernetes-fürtöket az Azure Arc platformra kísérli meg előkészíteni, a helyi környezet (például az ügyfélkonzol) a következő hibaüzenetet adja vissza:
Cannot load native module 'Crypto.Hash._MD5'
Előfordulhat, hogy a függő modulok nem tölthetők le sikeresen a bővítmények connectedk8s
hozzáadásakor és k8s-configuration
az Azure CLI-vel vagy az Azure PowerShell-lel. A probléma megoldásához manuálisan távolítsa el, majd adja hozzá a bővítményeket a helyi környezetben.
A bővítmények eltávolításához használja a következőt:
az extension remove --name connectedk8s
az extension remove --name k8s-configuration
A bővítmények hozzáadásához használja a következőt:
az extension add --name connectedk8s
az extension add --name k8s-configuration
Fürtcsatlakozás problémái
Ha a fürt kimenő proxy vagy tűzfal mögött található, ellenőrizze, hogy engedélyezve *.servicebus.windows.net
vannak-e a websocket-kapcsolatok, amelyek kifejezetten a Fürt Csatlakozás szolgáltatáshoz szükségesek. Emellett győződjön meg arról, hogy az connectedk8s
Azure CLI-bővítmény legújabb verzióját használja, ha problémákat tapasztal a fürtcsatlakozással.
Ha a podok és kube-aad-proxy
a clusterconnect-agent
podok hiányoznak, akkor a fürt kapcsolódási funkciója valószínűleg le van tiltva a fürtön. Ha igen, az connectedk8s proxy
akkor nem sikerül munkamenetet létrehozni a fürttel, és hibaüzenet jelenhet meg az olvasás során Cannot connect to the hybrid connection because no agent is connected in the target arc resource.
A hiba elhárításához engedélyezze a fürt kapcsolódási funkcióját a fürtön:
az connectedk8s enable-features --features cluster-connect -n $CLUSTER_NAME -g $RESOURCE_GROUP
További információ: A fürtcsatlakozás használata az Azure Arc-kompatibilis Kubernetes-fürtökhöz való biztonságos csatlakozáshoz.
Egyéni helyek engedélyezése szolgáltatásnévvel
Amikor csatlakoztatja a fürtöt az Azure Archoz, vagy egyéni helyeket engedélyez egy meglévő fürtön, a következő figyelmeztetés jelenhet meg:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Ez a figyelmeztetés akkor fordul elő, ha szolgáltatásnévvel jelentkezik be az Azure-ba, és a szolgáltatásnév nem rendelkezik a szükséges engedélyekkel. A hiba elkerülése érdekében kövesse az alábbi lépéseket:
Jelentkezzen be az Azure CLI-be a felhasználói fiókjával. Az Azure Arc szolgáltatás által használt Microsoft Entra-alkalmazás objektumazonosítójának lekérése:
az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query objectId -o tsv
Jelentkezzen be az Azure CLI-be a szolgáltatásnév használatával.
<objectId>
Az előző lépésben megadott érték használatával engedélyezze az egyéni helyeket a fürtön:- Ha egyéni helyeket szeretne engedélyezni a fürt Archoz való csatlakoztatásakor, futtassa a
az connectedk8s connect -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId>
- Ha egyéni helyeket szeretne engedélyezni egy meglévő Azure Arc-kompatibilis Kubernetes-fürtön, futtassa a
az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId> --features cluster-connect custom-locations
- Ha egyéni helyeket szeretne engedélyezni a fürt Archoz való csatlakoztatásakor, futtassa a
További lépések
- Vizualizációs útmutató a kapcsolati problémák diagnosztizálásához.
- Tekintse meg a fürtbővítményekkel kapcsolatos hibaelhárítási tippeket.