Självstudie: Installera Förhandsversionen av Azure Container Storage för användning med Azure Kubernetes Service

Azure Container Storage är en molnbaserad volymhanterings-, distributions- och orkestreringstjänst som skapats internt för containrar. I den här självstudien skapar du ett AKS-kluster (Azure Kubernetes Service) och installerar Azure Container Storage i klustret. Du kan också installera Azure Container Storage med hjälp av en snabbstart i stället för att följa de manuella stegen i den här självstudien.

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

  • Skapa en resursgrupp
  • Välj ett alternativ för datalagring och VM-typ
  • Skapa ett AKS-kluster
  • Anslut till klustret
  • Märka nodpoolen
  • Tilldela rollen Deltagare till AKS-hanterad identitet
  • Installera Azure Container Storage-tillägget

Förutsättningar

  • Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

  • Den här artikeln kräver den senaste versionen (2.35.0 eller senare) av Azure CLI. Se Så här installerar du Azure CLI. Om du använder Bash-miljön i Azure Cloud Shell är den senaste versionen redan installerad. Om du planerar att köra kommandona lokalt i stället för i Azure Cloud Shell ska du köra dem med administratörsbehörighet. Mer information finns i Komma igång med Azure Cloud Shell.

  • Du behöver Kubernetes kommandoradsklient, kubectl. Det är redan installerat om du använder Azure Cloud Shell, eller om du kan installera det lokalt genom att az aks install-cli köra kommandot .

Kommentar

Om du redan har ett AKS-kluster distribuerat fortsätter du till Anslut till klustret.

Komma igång

  • Anteckna ditt Azure-prenumerations-ID. Vi rekommenderar att du använder en prenumeration där du har en Kubernetes-deltagarroll om du vill använda Azure Disks eller Ephemeral Disk som datalagring. Om du vill använda Azure Elastic SAN som datalagring behöver du en ägarroll i Azure-prenumerationen.

  • Starta Azure Cloud Shell eller logga in på Azure CLI med kommandot az login om du använder en lokal installation.

  • Om du använder Azure Cloud Shell kan du uppmanas att montera lagring. Välj den Azure-prenumeration där du vill skapa lagringskontot och välj Skapa.

Ange prenumerationskontext

Ange din Azure-prenumerationskontext med hjälp av az account set kommandot . Du kan visa prenumerations-ID:t för alla prenumerationer som du har åtkomst till genom att köra az account list --output table kommandot . Kom ihåg att ersätta <subscription-id> med ditt prenumerations-ID.

az account set --subscription <subscription-id>

Registrera resursprovidrar

Resursprovidrar Microsoft.ContainerService och Microsoft.KubernetesConfiguration måste vara registrerade i din Azure-prenumeration. Om du vill registrera dessa leverantörer kör du följande kommando:

az provider register --namespace Microsoft.ContainerService --wait 
az provider register --namespace Microsoft.KubernetesConfiguration --wait 

Kontrollera om dessa leverantörer har registrerats genom att köra följande kommando:

az provider list --query "[?namespace=='Microsoft.ContainerService'].registrationState"
az provider list --query "[?namespace=='Microsoft.KubernetesConfiguration'].registrationState"

Skapa en resursgrupp

En Azure-resursgrupp är en logisk grupp som innehåller dina Azure-resurser som du vill hantera som en grupp. När du skapar en resursgrupp uppmanas du att ange en plats. Den här platsen är:

  • Lagringsplatsen för dina resursgruppsmetadata.
  • Var dina resurser ska köras i Azure om du inte anger någon annan region när resursen skapas.

Skapa en resursgrupp med kommandot az group create . Ersätt <resource-group-name> med namnet på den resursgrupp som du vill skapa och ersätt <location> med en Azure-region som eastus, westus2, westus3 eller westeurope.

az group create --name <resource-group-name> --location <location>

Om resursgruppen har skapats visas utdata som liknar följande:

{
  "id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
  "location": "eastus",
  "managedBy": null,
  "name": "myContainerStorageRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Välj ett alternativ för datalagring och typ av virtuell dator

Innan du skapar klustret bör du förstå vilket serverdelslagringsalternativ du slutligen väljer att skapa din lagringspool. Det beror på att olika lagringstjänster fungerar bäst med olika typer av virtuella datorer (VM) som klusternoder, och du distribuerar klustret innan du skapar lagringspoolen.

Alternativ för datalagring

  • Azure Elastic SAN: Azure Elastic SAN passar bra för allmänna databaser, strömnings- och meddelandetjänster, CD/CI-miljöer och andra arbetsbelastningar på nivå 1/nivå 2. Lagring etableras på begäran per skapad ögonblicksbild av volymer och volymer. Flera kluster kan komma åt ett enda SAN samtidigt, men beständiga volymer kan bara kopplas av en konsument i taget.

  • Azure Disks: Azure-diskar passar bra för databaser som MySQL, MongoDB och PostgreSQL. Lagring etableras per målstorlek för containerlagringspoolen och maximal volymstorlek.

  • Tillfällig disk: Det här alternativet använder lokala NVMe- eller temp SSD-enheter på AKS-noderna och är extremt svarstidskänsligt (låg fördröjning under ms), så det är bäst för program utan krav på datahållbarhet eller med inbyggt stöd för datareplikering, till exempel Cassandra. AKS identifierar den tillgängliga tillfälliga lagringen på AKS-noder och hämtar enheterna för volymdistribution.

VM-typer

Om du vill använda Azure Container Storage behöver du en nodpool på minst tre virtuella Linux-datorer. Varje virtuell dator bör ha minst fyra virtuella processorer (vCPU:er). Azure Container Storage använder en kärna för I/O-bearbetning på varje virtuell dator som tillägget distribueras till.

Om du tänker använda Azure Elastic SAN eller Azure Disks med Azure Container Storage bör du välja en allmän typ av virtuell dator, till exempel standard_d4s_v5 för klusternoderna.

Om du tänker använda Tillfällig disk väljer du en lagringsoptimerad VM-typ , till exempel standard_l8s_v3.

Viktigt!

Du måste välja en vm-typ som stöder Azure Premium Storage.

Skapa AKS-kluster

Kör följande kommando för att skapa ett Linux-baserat AKS-kluster och aktivera en systemtilldelad hanterad identitet. Om du redan har ett AKS-kluster som du vill använda kan du hoppa över det här steget.

Ersätt <resource-group> med namnet på resursgruppen som du skapade, <cluster-name> med namnet på klustret som du vill skapa och <vm-type> med den typ av virtuell dator som du valde i föregående steg. I det här exemplet skapar vi ett kluster med tre noder. --node-count Öka om du vill ha ett större kluster.

az aks create -g <resource-group> -n <cluster-name> --node-count 3 -s <vm-type> --generate-ssh-keys

Det tar några minuter att slutföra distributionen.

Kommentar

När du skapar ett AKS-kluster skapar AKS automatiskt en andra resursgrupp för att lagra AKS-resurserna. Den andra resursgruppen följer namngivningskonventionen MC_YourResourceGroup_YourAKSClusterName_Region. Mer information finns i Varför skapas två resursgrupper med AKS?.

Anslut till klustret

Om du vill ansluta till klustret använder du Kubernetes kommandoradsklient, kubectl. Det är redan installerat om du använder Azure Cloud Shell, eller om du kan installera det lokalt genom att az aks install-cli köra kommandot .

  1. Konfigurera kubectl för att ansluta till klustret med hjälp av az aks get-credentials kommandot . Följande kommando:

    • Laddar ned autentiseringsuppgifter och konfigurerar Kubernetes CLI för att använda dem.
    • Använder ~/.kube/config, standardplatsen för Kubernetes-konfigurationsfilen. Du kan ange en annan plats för kubernetes-konfigurationsfilen med argumentet --file .
    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Kontrollera anslutningen till klustret med hjälp av kubectl get kommandot . Det här kommandot returnerar en lista över klusternoderna.

    kubectl get nodes
    
  3. Följande utdataexempel visar noderna i klustret. Kontrollera att statusen för alla noder visar Klar:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.25.6
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.25.6
    

    Anteckna namnet på nodpoolen. I det här exemplet skulle det vara nodepool1.

Märka nodpoolen

Därefter måste du uppdatera nodpoolens etikett för att associera nodpoolen med rätt I/O-motor för Azure Container Storage.

Viktigt!

Om du har skapat ditt AKS-kluster med hjälp av Azure-portalen: Klustret kommer sannolikt att ha en användarnodpool och en system-/agentnodpool. Innan du kan installera Azure Container Storage måste du uppdatera användarnodpoolsetiketten enligt beskrivningen i det här avsnittet. Men om klustret bara består av en systemnodpool, vilket är fallet med test-/dev-kluster som skapats med Azure-portalen, måste du först lägga till en ny användarnodpool och sedan märka den. Detta beror på att när du skapar ett AKS-kluster med azure-portalen läggs en taint CriticalAddOnsOnly till i agenten/systemnodpoolen, vilket blockerar installationen av Azure Container Storage i systemnodpoolen. Den här tainten läggs inte till när ett AKS-kluster skapas med hjälp av Azure CLI.

Kör följande kommando för att uppdatera nodpooletiketten. Kom ihåg att ersätta <resource-group> och <cluster-name> med dina egna värden och ersätt <nodepool-name> med namnet på nodpoolen.

az aks nodepool update --resource-group <resource-group> --cluster-name <cluster-name> --name <nodepool-name> --labels acstor.azure.com/io-engine=acstor

Du kan kontrollera att nodpoolen är korrekt märkt genom att logga in på Azure-portalen och navigera till ditt AKS-kluster. Gå till Inställningar > Node-pooler, välj din nodpool och under Taints och etiketter bör du se Labels: acstor.azure.com/io-engine:acstor.

Tilldela rollen Deltagare till AKS-hanterad identitet

Azure Container Service är en separat tjänst från AKS, så du måste bevilja behörigheter så att Azure Container Storage kan etablera lagring för klustret. Mer specifikt måste du tilldela den inbyggda rollen Deltagare i Azure RBAC till den AKS-hanterade identiteten. Du kan göra detta med hjälp av Azure-portalen eller Azure CLI. Du behöver en ägarroll för din Azure-prenumeration för att kunna göra detta. Om du inte har tillräcklig behörighet ber du administratören att utföra de här stegen.

  1. Logga in på Azure-portalen och sök efter och välj Kubernetes-tjänster.

  2. Leta upp och välj ditt AKS-kluster. Välj Inställningar> Egenskaper i det vänstra navigeringsfältet.

  3. Under Infrastrukturresursgrupp bör du se en länk till den resursgrupp som AKS skapade när du skapade klustret. Välj den.

  4. Välj Åtkomstkontroll (IAM) i det vänstra fönstret.

  5. Välj Lägg till lägg till > rolltilldelning.

  6. Under Tilldelningstyp väljer du Privilegierade administratörsroller och sedan Deltagare och sedan Nästa. Om du inte har rollen Ägare i prenumerationen kan du inte lägga till rollen Deltagare.

    Skärmbild som visar hur du använder Azure-portalen för att lägga till deltagarrollen i den AKS-hanterade identiteten.

  7. Under Tilldela åtkomst till väljer du Hanterad identitet.

  8. Under Medlemmar klickar du på + Välj medlemmar. Menyn Välj hanterade identiteter visas.

  9. Under Hanterad identitet väljer du Användartilldelad hanterad identitet.

  10. Under Välj söker du efter och väljer den hanterade identiteten med ditt klusternamn och -agentpool läggs till.

  11. Klicka på Välj och sedan på Granska + tilldela.

Installera Azure Container Storage

Den första installationen använder Azure Arc CLI-kommandon för att ladda ned ett nytt tillägg. Ersätt <cluster-name> och <resource-group> med dina egna värden. Värdet <extension-name> kan vara vad du vill. Det är bara en etikett för tillägget som du installerar.

Under installationen kan du bli ombedd att installera k8s-extension. Välj Y.

az k8s-extension create --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name <extension-name> --extension-type microsoft.azurecontainerstorage --scope cluster --release-train stable --release-namespace acstor

Installationen tar 10–15 minuter att slutföra. Du kan kontrollera om installationen har slutförts korrekt genom att köra följande kommando och se till att provisioningState det står Lyckades:

az k8s-extension list --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type managedClusters

Grattis, du har installerat Azure Container Storage. Nu har du nya lagringsklasser som du kan använda för dina Kubernetes-arbetsbelastningar.

Nästa steg

Nu kan du skapa en lagringspool och beständiga volymanspråk och sedan distribuera en podd och bifoga en beständig volym. Följ stegen i lämplig instruktioner-artikel.