A Service Connector használata az Azure Kubernetes Service-ben (AKS)
Az Azure Kubernetes Service (AKS) a Service Connector által támogatott számítási szolgáltatások egyike. A cikk célja, hogy segítsen megérteni:
- Milyen műveleteket hajt végre a fürt egy szolgáltatáskapcsolat létrehozásakor.
- A Service Connector által létrehozott kubernetes-erőforrások használata.
- A Service Connector naplóinak hibaelhárítása és megtekintése egy AKS-fürtben.
Előfeltételek
- Ez az útmutató feltételezi, hogy már ismeri a Service Connector alapfogalmait.
Milyen műveleteket végez a Service Connector a fürtön?
A szolgáltatáskapcsolat létrehozásakor kiválasztott különböző célszolgáltatásoktól és hitelesítési típusoktól függően a Service Connector különböző műveleteket hajt végre az AKS-fürtön. Az alábbiakban a Service Connector által végrehajtott lehetséges műveleteket soroljuk fel.
A Service Connector kubernetes bővítményének hozzáadása
A rendszer a szolgáltatáskapcsolat első létrehozásakor hozzáad egy kubernetes-bővítményt sc-extension
a fürthöz. Később a bővítmény segít kubernetes-erőforrásokat létrehozni a felhasználó fürtjében, amikor szolgáltatáskapcsolati kérés érkezik a Service Connectorhoz. A bővítmény az AKS-fürtben az Azure Portalon, a Bővítmények + alkalmazások menüben található.
A bővítmény a fürtkapcsolatok metaadatainak tárolására is kiterjed. A bővítmény eltávolítása a fürt összes kapcsolatát elérhetetlenné teszi. A bővítmény operátora a fürt névterében sc-system
található.
Kubernetes-erőforrások létrehozása
A Service Connector létrehoz néhány kubernetes-erőforrást a felhasználó által a szolgáltatáskapcsolat létrehozásakor megadott névtérhez. A Kubernetes-erőforrások tárolják a kapcsolati információkat, amelyekre a felhasználó számítási feladatdefiníciói vagy alkalmazáskódja szükség van a célszolgáltatásokhoz való beszélgetéshez. A különböző hitelesítési típusoktól függően különböző kubernetes-erőforrások jönnek létre. Az és Service Principal
a Connection String
hitelesítési típusok esetében létrejön egy kubernetes-titkos kód. Workload Identity
A hitelesítési típushoz a kubernetes-titkos kód mellett egy kubernetes-szolgáltatásfiók is létrejön.
A Service Connector által létrehozott kubernetes-erőforrásokat az Azure Portalon, a Service Connector menüben találja az Azure Portalon.
A szolgáltatáskapcsolat törlése nem törli a társított Kubernetes-erőforrást. Szükség esetén távolítsa el manuálisan az erőforrást, például a kubectl delete paranccsal.
A azureKeyvaultSecretsProvider
bővítmény engedélyezése
Ha a célszolgáltatás az Azure Key Vault, és a Titkos tár CSI-illesztőprogramja engedélyezve van egy szolgáltatáskapcsolat létrehozásakor, a Service Connector engedélyezi a azureKeyvaultSecretsProvider
fürt bővítményét.
Kövesse a Csatlakozás az Azure Key Vaulthoz a CSI illesztőprogram-oktatóanyagávalaz Azure Key Vaulthoz való csatlakozás beállításához a Secret Store CSI-illesztőprogram használatával.
A számítási feladatok identitásának és az OpenID Connect (OIDC) kiállítójának engedélyezése
Ha a hitelesítési típus szolgáltatáskapcsolat létrehozásakor történik Workload Identity
, a Service Connector engedélyezi a számítási feladatok identitását és az OIDC-kiállítót a fürt számára.
Ha a hitelesítési típus az Workload Identity
, egy felhasználó által hozzárendelt felügyelt identitásra van szükség az összevont identitás hitelesítő adatainak létrehozásához. További információ a számítási feladatok identitásáról, vagy az oktatóanyagotkövetve állíthat be kapcsolatot az Azure Storage-hoz számítási feladat identitásával.
A szolgáltatás-összekötő által létrehozott kubernetes-erőforrások használata
A különböző kubernetes-erőforrások akkor jönnek létre, ha a célszolgáltatás típusa és a hitelesítési típus eltérő. A következő szakaszok bemutatják, hogyan használhatja a Service Connector által létrehozott kubernetes-erőforrásokat a fürt számítási feladatainak definíciójában és alkalmazáskódjaiban.
Kubernetes-titkos kód
A kubernetes-titkos kód akkor jön létre, ha a hitelesítési típus vagy Service Principal
a Connection String
. A fürt számítási feladatainak definíciója közvetlenül hivatkozhat a titkos kódra. A következő snnipet egy példa.
apiVersion: batch/v1
kind: Job
metadata:
namespace: default
name: sc-sample-job
spec:
template:
spec:
containers:
- name: raw-linux
image: alpine
command: ['printenv']
envFrom:
- secretRef:
name: <SecretCreatedByServiceConnector>
restartPolicy: OnFailure
Ezután az alkalmazáskódok felhasználhatják a környezeti változó titkos kódjában lévő kapcsolati sztring. A mintakódot ellenőrizve többet tudhat meg a környezeti változók nevéről, és arról, hogyan használhatja őket az alkalmazáskódokban a különböző célszolgáltatásokban való hitelesítéshez.
Kubernetes-szolgáltatásfiók
A kubernetes szolgáltatásfiók és a titkos kód is létrejön, ha a hitelesítési típus .Workload Identity
A fürt számítási feladatainak definíciója hivatkozhat a szolgáltatásfiókra és a titkos kódra a számítási feladat identitásán keresztüli hitelesítéshez. Az alábbi kódrészlet egy példát mutat be.
apiVersion: batch/v1
kind: Job
metadata:
namespace: default
name: sc-sample-job
labels:
azure.workload.identity/use: "true"
spec:
template:
spec:
serviceAccountName: <ServiceAccountCreatedByServiceConnector>
containers:
- name: raw-linux
image: alpine
command: ['printenv']
envFrom:
- secretRef:
name: <SecretCreatedByServiceConnector>
restartPolicy: OnFailure
Az oktatóanyagból megtudhatja , hogyan csatlakozhat az Azure Storage-hoz számítási feladat identitásával.
Naplók hibaelhárítása és megtekintése
Ha hiba történik, és nem lehet elhárítani a szolgáltatáskapcsolat létrehozásakor végzett újrapróbálkozással, az alábbi módszerek segíthetnek további információk gyűjtésében a hibaelhárításhoz.
A Service Connector kubernetes bővítményének ellenőrzése
A Service Connector Kubernetes-bővítmény az Azure Arc-kompatibilis Kubernetes-fürtbővítményekre épül. Az alábbi parancsokkal kivizsgálhatja, hogy vannak-e hibák a bővítmény telepítése vagy frissítése során.
- Telepítse az
k8s-extension
Azure CLI-bővítményt.
az extension add --name k8s-extension
- A Service Connector bővítmény állapotának lekérése. Ellenőrizze a
statuses
parancs kimenetében található tulajdonságot, és ellenőrizze, hogy vannak-e hibák.
az k8s-extension show \
--resource-group MyClusterResourceGroup \
--cluster-name MyCluster \
--cluster-type managedClusters \
--name sc-extension
Kubernetes-fürtnaplók ellenőrzése
Ha hiba történt a bővítmény telepítése során, és a tulajdonságban lévő statuses
hibaüzenet nem nyújt elegendő információt a történtekről, a kubernetes-naplókat az alábbi lépésekkel ellenőrizheti.
Csatlakozzon az AKS-fürthöz.
az aks get-credentials \ --resource-group MyClusterResourceGroup \ --name MyCluster
A Service Connector-bővítmény helm-diagramon keresztül települ a névtérbe
sc-system
, és a következő parancsokkal ellenőrizheti a névteret és a helm kiadását.- Ellenőrizze, hogy létezik-e névtér.
kubectl get ns
- Ellenőrizze a helm kiadási állapotát.
helm list -n sc-system
A bővítmény telepítése vagy frissítése során egy kubernetes-feladat, az úgynevezett
sc-job
kubernetes-feladat hozza létre a szolgáltatáskapcsolat kubernetes-erőforrásait. A feladatvégrehajtási hiba általában a bővítmény hibáját okozza. Ellenőrizze a feladat állapotát az alábbi parancsok futtatásával. Hasc-job
nem létezik a névtérbensc-system
, azt sikeresen végre kellett volna hajtani. Ezt a feladatot úgy tervezték, hogy a sikeres végrehajtás után automatikusan törlődjön.- Ellenőrizze, hogy létezik-e a feladat.
kubectl get job -n sc-system
- A feladat állapotának lekérése.
kubectl describe job/sc-job -n sc-system
- A feladatnaplók megtekintése.
kubectl logs job/sc-job -n sc-system
Gyakori hibák és elhárítások
Ütközés
Hibaüzenet:Operation returned an invalid status code: Conflict
.
Ok: Ez a hiba általában akkor fordul elő, ha szolgáltatáskapcsolatot próbál létrehozni, miközben az AKS -fürt (Azure Kubernetes Service) frissítési állapotban van. A szolgáltatáskapcsolat frissítése ütközik a folyamatban lévő frissítéssel. Ez akkor is előfordulhat, ha az előfizetés nem lesz újraküldve az Microsoft.KubernetesConfiguration
erőforrás-szolgáltató számára.
Kezelés:
Futtassa az alábbi parancsot annak biztosításához, hogy az előfizetés regisztrálva legyen az erőforrás-szolgáltatóhoz
Microsoft.KubernetesConfiguration
.az provider register -n Microsoft.KubernetesConfiguration
Győződjön meg arról, hogy a fürt "Sikeres" állapotban van, és próbálkozzon újra a létrehozással.
Időkorlát
Hibaüzenet:
Long running operation failed with status 'Failed'. Unable to get a response from the Agent in time
.Timed out waiting for the resource to come to a ready/completed state
Ok: Ez a hiba gyakran akkor fordul elő, ha a Service Connector-fürtbővítmény létrehozásához vagy frissítéséhez használt Kubernetes-feladat erőforráskorlátozások vagy egyéb problémák miatt nem ütemezhető.
Megoldás: A kubernetes-fürt naplóinak ellenőrzése a részletes okok azonosításához és megoldásához. Gyakori probléma, hogy a preempció miatt nem érhetők el csomópontok. Ebben az esetben fontolja meg további csomópontok hozzáadását vagy a csomópontok automatikus skálázásának engedélyezését.
Jogosulatlan erőforrás-hozzáférés
Hibaüzenet:You do not have permission to perform ... If access was recently granted, please refresh your credentials
.
Ok: A Service Connector engedélyekkel rendelkezik a csatlakoztatni kívánt Azure-erőforrások üzemeltetéséhez, hogy a kapcsolati műveleteket az Ön nevében hajthassa végre. Ez a hiba azt jelzi, hogy bizonyos Azure-erőforrásokhoz nem rendelkezik szükséges engedélyekkel.
Kockázatcsökkentés: Ellenőrizze a hibaüzenetben megadott Azure-erőforrások engedélyeit. Szerezze be a szükséges engedélyeket, és próbálkozzon újra a létrehozási folyamatával.
Hiányzó előfizetés-regisztráció
Hibaüzenet:The subscription is not registered to use namespace 'Microsoft.KubernetesConfiguration'
Ok: A Service Connectorhoz regisztrálni kell az előfizetéstMicrosoft.KubernetesConfiguration
, amely az Azure Arc-kompatibilis Kubernetes-fürtbővítmények erőforrás-szolgáltatója.
Kockázatcsökkentés: Regisztrálja az Microsoft.KubernetesConfiguration
erőforrás-szolgáltatót az alábbi parancs futtatásával. Az erőforrás-szolgáltató regisztrációs hibáival kapcsolatos további információkért tekintse meg ezt az oktatóanyagot.
az provider register -n Microsoft.KubernetesConfiguration
Egyéb problémák
Ha a fenti megoldások nem oldják meg a problémát, próbálja meg alaphelyzetbe állítani a szolgáltatás-összekötő fürtbővítményét az eltávolításával, majd próbálkozzon újra a létrehozással. Ez a módszer várhatóan megoldja a Service Connector fürtbővítményével kapcsolatos legtöbb problémát.
A bővítmény alaphelyzetbe állításához használja a következő parancssori felületi parancsokat:
az extension add --name k8s-extension
az k8s-extension delete \
--resource-group <MyClusterResourceGroup> \
--cluster-name <MyCluster> \
--cluster-type managedClusters \
--name sc-extension
Következő lépések
Megtudhatja, hogyan integrálhatja a különböző célszolgáltatásokat, és hogyan tájékozódhat a konfigurációs beállításokról és a hitelesítési módszerekről.