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


Szolgáltatási megbízó használata Azure Kubernetes Service (AKS) szolgáltatással

Az AKS-fürtökhöz microsoft Entra szolgáltatásnévre vagy felügyelt identitásra van szükség más Azure-erőforrások, például az Azure Load Balancer vagy az Azure Container Registry (ACR) dinamikus létrehozásához és kezeléséhez.

Az optimális biztonság és a könnyű használat érdekében a Microsoft azt javasolja, hogy a szolgáltatásnevek helyett felügyelt identitásokat használjon az AKS-fürtökről más Azure-erőforrásokhoz való hozzáférés engedélyezéséhez. A felügyelt identitás egy speciális szolgáltatásnévtípus, amely a Microsoft Entra hitelesítő adatainak beszerzésére használható anélkül, hogy a hitelesítő adatokat kezelnie és biztonságossá kellene tenni. A felügyelt identitás fürttel való használatáról további információt a Felügyelt identitás használata az AKS-ben című témakörben talál.

Ez a cikk bemutatja, hogyan hozhat létre és használhat egyszerű szolgáltatást az AKS-fürtökkel.

Mielőtt elkezdené

Microsoft Entra-szolgáltatásnév létrehozásához rendelkeznie kell engedéllyel ahhoz, hogy regisztráljon egy alkalmazást a Microsoft Entra-bérlőjénél, és hozzárendelje az alkalmazást egy szerepkörhöz az előfizetésében. Ha nem rendelkezik a szükséges engedélyekkel, meg kell kérnie a Microsoft Entra-azonosítót vagy az előfizetés rendszergazdáját, hogy rendelje hozzá a szükséges engedélyeket, vagy hozzon létre előre egy szolgáltatásnevet az AKS-fürthöz való használatra.

Ha egy másik Microsoft Entra-bérlőtől származó szolgáltatásnevet használ, a fürt üzembe helyezésekor elérhető engedélyeket más szempontok is figyelembe veszik. Előfordulhat, hogy nem rendelkezik a címtáradatok olvasására és írására vonatkozó megfelelő engedélyekkel. További információ: Mik az alapértelmezett felhasználói engedélyek a Microsoft Entra-azonosítóban?

Előfeltételek

  • Az Azure CLI használata esetén az Azure CLI 2.0.59-es vagy újabb verziójára lesz szüksége. A verzió azonosításához futtassa a következőt: az --version. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése.
  • Az Azure PowerShell használata esetén az Azure PowerShell 5.0.0-s vagy újabb verziójára lesz szüksége. A verzió azonosításához futtassa a következőt: Get-InstalledModule -Name Az. Ha telepítenie vagy frissítenie kell, olvassa el az Azure Az PowerShell-modul telepítését ismertető témakört.

Egyszerű szolgáltatás létrehozása

Hozzon létre egy egyszerű szolgáltatást a fürt létrehozása előtt.

  1. Hozzon létre egy egyszerű szolgáltatást a az ad sp create-for-rbac paranccsal.

    az ad sp create-for-rbac --name myAKSClusterServicePrincipal
    

    A kimenetnek hasonlónak kell lennie a következő példakimenethez:

    {
      "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "displayName": "myAKSClusterServicePrincipal",
      "name": "http://myAKSClusterServicePrincipal",
      "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    }
    
  2. Másolja ki a kimenet értékeitappId.password Ezeket akkor használja, ha AKS-fürtöt hoz létre a következő szakaszban.

Szolgáltatásnév megadása AKS-fürthöz

  • Használjon meglévő szolgáltatásnevet egy új AKS-fürthöz a az aks create paranccsal, és --client-secret a --service-principal paraméterekkel adja meg az appId előző szakaszhoz kapott kimenetet és password kimenetet.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --service-principal <appId> \
        --client-secret <password> \
        --generate-ssh-keys
    

    Feljegyzés

    Ha egy meglévő szolgáltatásnevet használ testre szabott titkos kóddal, győződjön meg arról, hogy a titkos kód nem hosszabb 190 bájtnál.

Hozzáférés delegálása más Azure-erőforrásokhoz

Az AKS-fürt szolgáltatásnevével más erőforrásokhoz is hozzáférhet. Ha például egy meglévő Azure-beli virtuális hálózati alhálózaton szeretné üzembe helyezni az AKS-fürtöt, csatlakozzon az Azure Container Registryhez (ACR), vagy a fürtből származó kulcstartó kulcsait vagy titkos kulcsait, akkor az erőforrásokhoz való hozzáférést delegálnia kell a szolgáltatásnévnek. A hozzáférés delegálásához rendeljen hozzá egy Azure szerepköralapú hozzáférés-vezérlési (Azure RBAC) szerepkört a szolgáltatásnévhez.

Fontos

A fürthöz társított szolgáltatásnévnek adott engedélyek propagálása akár 60 percet is igénybe vehet.

  • Szerepkör-hozzárendelés létrehozása a az role assignment create paranccsal. Adja meg a szolgáltatásnév appID azonosítójának értékét a appId paraméterhez. Adja meg a szerepkör-hozzárendelés hatókörét, például egy erőforráscsoportot vagy egy virtuális hálózati erőforrást. A szerepkör-hozzárendelés határozza meg, hogy a szolgáltatásnév milyen engedélyekkel rendelkezik az erőforráson és milyen hatókörben.

    Ha például a kulcstartó titkos kulcsainak eléréséhez rendeli hozzá a szolgáltatásnév engedélyeit, a következő parancsot használhatja:

    az role assignment create \
        --assignee <appId> \
        --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>" \
        --role "Key Vault Secrets User"
    

    Feljegyzés

    Egy --scope erőforráshoz teljes erőforrás-azonosítónak kell lennie, például /subscriptions/<guid>/resourceGroups/myResourceGroup vagy /subscriptions/<guid>/resourceGroups/myResourceGroupVnet/providers/Microsoft.Network/virtualNetworks/myVnet.

Az alábbi szakaszok részletesen ismertetik azokat a gyakori delegálásokat, amelyeket esetleg egy szolgáltatásnévhez kell hozzárendelnie.

Azure Container Registry

Ha az Azure Container Registryt (ACR) használja tárolórendszerkép-tárolóként, engedélyeket kell adnia az AKS-fürt szolgáltatásnevének a rendszerképek olvasásához és lekéréséhez. Javasoljuk, hogy használja a vagy az aks update a az aks create parancsot egy beállításjegyzékbe való integráláshoz, és rendelje hozzá a szolgáltatásnévnek megfelelő szerepkört. Részletes lépésekért lásd : Hitelesítés az Azure Container Registryvel az Azure Kubernetes Service-ből.

Hálózat

Használhat speciális hálózatkezelést, ha a virtuális hálózat és az alhálózat vagy a nyilvános IP-címek egy másik erőforráscsoportban találhatók. Rendelje hozzá a hálózati közreműködő beépített szerepkörét a virtuális hálózaton belüli alhálózathoz. Másik lehetőségként létrehozhat egy egyéni szerepkört, amely engedélyekkel rendelkezik az adott erőforráscsoportban lévő hálózati erőforrások eléréséhez. További információ: AKS szolgáltatásengedélyek.

Tárolás

Ha egy másik erőforráscsoport meglévő lemezerőforrásait kell elérnie, rendelje hozzá a következő szerepkör-engedélyek egyikét:

  • Hozzon létre egy egyéni szerepkört, és határozza meg a Microsoft.Compute/disks/read és a Microsoft.Compute/disks/write szerepkör engedélyeit, vagy
  • Rendelje hozzá a virtuálisgép-közreműködő beépített szerepkörét az erőforráscsoporthoz.

Azure Container Instances

Ha a Virtual Kubelet használatával integrálható az AKS-sel, és úgy dönt, hogy az Azure Container Instances (ACI) szolgáltatást az AKS-fürttől eltérő erőforráscsoportban futtatja, az AKS-fürt szolgáltatásnévnek közreműködői engedélyeket kell adnia az ACI-erőforráscsoporton.

Egyéb szempontok

Az AKS és a Microsoft Entra szolgáltatásnév használatakor vegye figyelembe a következőket:

  • A Kubernetes szolgáltatásnév része a fürtkonfigurációnak, de ne használja ezt az identitást a fürt üzembe helyezéséhez.
  • Alapértelmezés szerint a szolgáltatásnév hitelesítő adatai egy évig érvényesek. A szolgáltatásnév hitelesítő adatait bármikor frissítheti vagy elforgathatja.
  • Minden szolgáltatásnév egy Microsoft Entra-alkalmazáshoz van társítva. Egy Kubernetes-fürt szolgáltatásnevét bármely érvényes Microsoft Entra-alkalmazásnévvel társíthatja (például: https://www.contoso.org/example). Az alkalmazás URL-címének nem szükséges valódi végpontnak lennie.
  • Amikor megadja a szolgáltatásnév Client ID-ját (Ügyfél-azonosítóját), használja az appId értékét.
  • A Kubernetes-fürt ügynökcsomópont virtuális gépeinél a szolgáltatásnév hitelesítő adatai a /etc/kubernetes/azure.json fájlban vannak tárolva.
  • A parancs használatával az aks create létrehozott AKS-fürt törlésekor a létrehozott szolgáltatásnév nem törlődik automatikusan.
    • A szolgáltatásnév törléséhez kérdezze le a fürt servicePrincipalProfile.clientId azonosítóját, és törölje a az ad sp delete parancs használatával. Cserélje le az -g erőforráscsoport nevének és -n a fürtnév paraméterének értékeit:

      az ad sp delete --id $(az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query servicePrincipalProfile.clientId \
        --output tsv)
      

Hibaelhárítás

Az Azure CLI gyorsítótárazza az AKS-fürtök szolgáltatásnév-hitelesítő adatait. Ha ezek a hitelesítő adatok lejárnak, hibákat tapasztalhat az AKS-fürt üzembe helyezése során. Ha futtatja a az aks create parancsot, és a következőhöz hasonló hibaüzenetet kap, az a gyorsítótárazott szolgáltatásnév hitelesítő adataival kapcsolatos problémát jelezhet:

Operation failed with status: 'Bad Request'.
Details: The credentials in ServicePrincipalProfile were invalid. Please see https://aka.ms/aks-sp-help for more details.
(Details: adal: Refresh request failed. Status Code = '401'.

A szolgáltatásnév hitelesítő adatainak lejárati dátumát a az ad app credential list lekérdezést tartalmazó "[].endDateTime" paranccsal ellenőrizheti.

az ad app credential list \
    --id <app-id> \
    --query "[].endDateTime" \
    --output tsv

A szolgáltatásnév-hitelesítő adatok alapértelmezett lejárati ideje egy év. Ha a hitelesítő adatai egy évnél régebbiek, alaphelyzetbe állíthatja a meglévő hitelesítő adatokat, vagy létrehozhat egy új szolgáltatásnevet.

Az Azure CLI általános hibaelhárítása

Az Azure CLI több rendszerhéj-környezetben is futtatható, de kisebb formátumváltozatokkal. Ha az Azure CLI-parancsokkal nem várt eredményeket kap, olvassa el az Azure CLI sikeres használatát ismertető témakört.

Következő lépések

A Microsoft Entra szolgáltatásnévvel kapcsolatos további információkért tekintse meg az alkalmazás- és szolgáltatásnév-objektumokat.

A hitelesítő adatok frissítéséről további információt az AKS szolgáltatásnév hitelesítő adatainak frissítése vagy elforgatása című témakörben talál.