Snabbstart: Använda Azure Container Storage Preview med Azure Kubernetes Service

Azure Container Storage är en molnbaserad volymhanterings-, distributions- och orkestreringstjänst som skapats internt för containrar. Den här snabbstarten visar hur du skapar ett Linux-baserat AKS-kluster (Azure Kubernetes Service), installerar Azure Container Storage och skapar en lagringspool med Hjälp av Azure CLI.

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 .

Komma igång

  • Anteckna ditt Azure-prenumerations-ID. Om du vill använda Azure Elastic SAN som datalagring behöver du en roll som azure-rollbaserad åtkomstkontroll (Azure RBAC) i Azure-prenumerationen. Åtkomst på ägarnivå ger Azure Container Storage-tillägget rätt behörighet att interagera med Elastic SAN:s API. Om du planerar att använda Azure Disks eller Ephemeral Disk som datalagring behöver du inte särskilda behörigheter för din prenumeration.

  • Starta Azure Cloud Shell, eller logga in på Azure 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.

Installera det nödvändiga tillägget

Lägg till eller uppgradera till den senaste versionen av k8s-extension genom att köra följande kommando.

az extension add --upgrade --name k8s-extension

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>

Skapa en resursgrupp

En Azure-resursgrupp är en logisk grupp som innehåller dina Azure-resurser som du vill hantera som en grupp. Om du redan har en resursgrupp som du vill använda kan du hoppa över det här avsnittet.

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> med namnet på den resursgrupp som du vill skapa och ersätt <location> med en Azure-region som eastus, westus2, westus3 eller westeurope. Se den här listan över Azure-regioner där Azure Container Storage är tillgängligt.

az group create --name <resource-group> --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 för lagringspoolen

Innan du distribuerar Azure Container Storage måste du bestämma vilket serverdelslagringsalternativ du vill använda för att skapa din lagringspool och beständiga volymer. Det finns för närvarande tre alternativ:

  • Azure Elastic SAN: Azure Elastic SAN passar bra för allmänna databaser, strömnings- och meddelandetjänster, CI/CD-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-enheter eller temporär SSD på AKS-klusternoderna. Det är extremt svarstidskänsligt (låg svarstid 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.

Kommentar

För Azure Elastic SAN och Azure Disks distribuerar Azure Container Storage säkerhetskopieringslagringen åt dig som en del av installationen. Du behöver inte skapa en egen Elastisk SAN- eller Azure-disk. För att kunna använda Elastic SAN behöver du en roll för azure-rollbaserad åtkomstkontroll (Azure RBAC) i Azure-prenumerationen.

Resursförbrukning

Azure Container Storage kräver vissa nodresurser för att köra komponenter för tjänsten. Baserat på valet av lagringspooltyp, som du anger när du installerar Azure Container Storage, är det här de resurser som kommer att förbrukas:

Typ av lagringspool CPU-kärnor RAM
Azure Elastic SAN  Ingen Ingen
Azure-diskar 1 1 GiB
Tillfällig disk – Temp SSD 1 1 GiB
Tillfällig disk – lokal NVMe 25 % av kärnorna (beroende på nodstorlek)* 2 GiB

De resurser som förbrukas är per nod och förbrukas för varje nod i nodpoolen där Azure Container Storage installeras. Om noderna inte har tillräckligt med resurser kan Azure Container Storage inte köras. Kubernetes försöker automatiskt initiera dessa misslyckade poddar på nytt, så om resurserna frigörs kan dessa poddar initieras igen.

*I en lagringspoolstyp Ephemeral Disk – Local NVMe gäller de 25 % av processorkärnorna som förbrukas för den minsta SKU som används om du använder flera VM SKU-typer för dina klusternoder. Om du till exempel använder en blandning av vm-typer med 8 kärnor och 16 kärnor är resursförbrukningen två kärnor.

Välj en VM-typ för klustret

Du anger typ av virtuell dator när du skapar klustret i nästa avsnitt. Följ dessa riktlinjer när du väljer en VM-typ för klusternoderna. Du måste välja en vm-typ som stöder Azure Premium Storage.

  • Om du tänker använda Azure Elastic SAN eller Azure Disks som säkerhetskopieringslagring väljer du en allmän typ av virtuell dator, till exempel standard_d4s_v5.
  • Om du tänker använda Tillfällig disk med lokal NVMe väljer du en lagringsoptimerad VM-typ , till exempel standard_l8s_v3.
  • Om du tänker använda tillfällig disk med temp SSD väljer du en virtuell dator som har en temporär SSD-disk som Ev3 och Esv3-serien.

Skapa ett nytt AKS-kluster och installera Azure Container Storage

Om du redan har ett AKS-kluster distribuerat hoppar du över det här avsnittet och går till Installera Azure Container Storage i ett befintligt AKS-kluster.

Kör följande kommando för att skapa ett nytt AKS-kluster, installera Azure Container Storage och skapa en lagringspool. Ersätt <cluster-name> och <resource-group> med dina egna värden och ange vilken VM-typ du vill använda. Ersätt <storage-pool-type> med azureDisk, ephemeralDiskeller elasticSan. Om du väljer ephemeralDiskkan du också ange --storage-pool-option, och värdena kan vara NVMe eller Temp.

Om du kör det här kommandot aktiveras Azure Container Storage i systemnodpoolen* med tre virtuella Linux-datorer. Som standard heter nodepool1systemnodpoolen . Om du vill aktivera Azure Container Storage i andra nodpooler kan du läsa Installera Azure Container Storage på specifika nodpooler. Om du vill ange ytterligare parametrar för lagringspooler med det här kommandot kan du läsa den här tabellen.

*Om det finns befintliga nodpooler med acstor.azure.com/io-engine:acstor etiketten installeras Azure Container Storage där som standard. Annars installeras den i systemnodpoolen.

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type>

Distributionen tar 10–15 minuter. När det är klart har du ett AKS-kluster med Azure Container Storage installerat, komponenterna för den valda lagringspooltypen aktiverade och en standardlagringspool. Om du vill aktivera ytterligare typer av lagringspooler för att skapa ytterligare lagringspooler kan du läsa Aktivera ytterligare typer av lagringspooler.

Viktigt!

Om du har angett Azure Elastic SAN som säkerhetskopieringslagring för lagringspoolen och du inte har åtkomst på ägarnivå till Azure-prenumerationen installeras endast Azure Container Storage och en lagringspool skapas inte. I det här fallet måste du skapa en elastisk SAN-lagringspool manuellt.

Visa tillgängliga lagringspooler

Kör följande kommando för att hämta listan över tillgängliga lagringspooler:

kubectl get sp -n acstor

Kör följande kommando för att kontrollera statusen för en lagringspool:

kubectl describe sp <storage-pool-name> -n acstor

Message Om inte säger StoragePool is ready, skapar eller stöter lagringspoolen fortfarande på ett problem. Mer information finns i Felsöka Azure Container Storage.

Installera Azure Container Storage på ett befintligt AKS-kluster

Om du redan har ett AKS-kluster som uppfyller kraven för den virtuella datorn kör du följande kommando för att installera Azure Container Storage i klustret och skapa en lagringspool. Ersätt <cluster-name> och <resource-group> med dina egna värden. Ersätt <storage-pool-type> med azureDisk, ephemeraldiskeller elasticSan.

Om du kör det här kommandot aktiveras Azure Container Storage i systemnodpoolen, som som standard heter nodepool1*. Om du vill aktivera den i andra nodpooler kan du läsa Installera Azure Container Storage på specifika nodpooler. Om du vill ange ytterligare parametrar för lagringspoolen kan du läsa den här tabellen.

*Om det finns befintliga nodpooler med acstor.azure.com/io-engine:acstor etiketten installeras Azure Container Storage där som standard. Annars installeras den i systemnodpoolen.

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. 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. Det beror på att när du skapar ett AKS-kluster med hjälp av Azure-portalen läggs en taint CriticalAddOnsOnly till i system-/agentnodpoolen, 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.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>

Distributionen tar 10–15 minuter att slutföra.

Installera Azure Container Storage på specifika nodpooler

Om du vill installera Azure Container Storage på specifika nodpooler följer du de här anvisningarna. Nodpoolerna måste innehålla minst tre virtuella Linux-datorer vardera.

  1. Kör följande kommando för att visa listan över tillgängliga nodpooler. Ersätt <resource-group> och <cluster-name> med dina egna värden.

    az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
    
  2. Kör följande kommando för att installera Azure Container Storage på specifika nodpooler. Ersätt <cluster-name> och <resource-group> med dina egna värden. Ersätt <storage-pool-type> med azureDisk, ephemeraldiskeller elasticSan. Om du väljer ephemeralDiskkan du också ange alternativet --storage-pool-och värdena kan vara NVMe eller Temp.

    az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --azure-container-storage-nodepools <comma separated values of nodepool names>
    

Aktivera ytterligare typer av lagringspooler

Om du vill aktivera en lagringspooltyp som inte ursprungligen var aktiverad under installationen av Azure Container Storage kör du följande kommando. Ersätt <cluster-name> och <resource-group> med dina egna värden. För <storage-pool-type>anger du azureDisk, ephemeralDiskeller elasticSan.

Om du vill ange ytterligare parametrar för lagringspooler med det här kommandot kan du läsa den här tabellen.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>

Om den nya lagringspooltypen som du har aktiverat tar upp fler resurser än den lagringspooltyp som redan är aktiverad ändras resursförbrukningen till det maximala beloppet.

Dricks

Om du har lagt till en ny nodpool i klustret och vill köra Azure Container Storage på nodpoolen kan du ange nodpoolen med --azure-container-storage-nodepools <nodepool-name> när du kör az aks update kommandot.

Inaktivera typer av lagringspooler

Om du inte längre använder en specifik lagringspooltyp och vill inaktivera den för att frigöra resurser i nodpoolen kör du följande kommando. Ersätt <cluster-name> och <resource-group> med dina egna värden. För <storage-pool-type>anger du azureDisk, ephemeralDiskeller elasticSan.

az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>

Kommentar

Om du har en befintlig lagringspool av den typ som du försöker inaktivera inaktivera inaktiveras inte lagringspooltypen.

Nästa steg

Om du vill skapa beständiga volymer väljer du länken för den lagringstyp som du har valt.