Megosztás a következőn keresztül:


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

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ó.

Képernyőkép az Azure Portalról, az AKS-bővítmény megtekintése.

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-systemtalá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.

Képernyőkép az Azure Portalról, és tekintse meg a Service Connector által létrehozott Kubernetes-erőforrásokat.

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épernyőkép az Azure Portalról, amely lehetővé teszi a CSI-illesztő számára a kulcsvault használatát a kapcsolat létrehozásakor.

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.

Képernyőkép az Azure Portalról, amely a számítási feladatok identitásának használatával hoz létre kapcsolatot.

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 Principala 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.

  1. Telepítse az k8s-extension Azure CLI-bővítményt.
az extension add --name k8s-extension
  1. 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.

  1. Csatlakozzon az AKS-fürthöz.

    az aks get-credentials \
        --resource-group MyClusterResourceGroup \
        --name MyCluster
    
  2. 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
    
  3. 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. Ha sc-job nem létezik a névtérben sc-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.