Dela via


Självstudie: Installera Azure Container Storage (version 1.x.x) 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 (version 1.x.x) i klustret. Om du redan har distribuerat ett AKS-kluster rekommenderar vi att du installerar Azure Container Storage (version 1.x.x) med hjälp av den här snabbstarten i stället för att följa de manuella stegen i den här självstudien.

Viktigt!

Den här artikeln beskriver hur du installerar Azure Container Storage (version 1.x.x), som nu uttryckligen kräver en parameter för versionstappning --container-storage-version 1 för installation. Azure Container Storage (version 2.x.x) är nu tillgängligt.

  • 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 Azure Container Storage-operatör till AKS hanterad identitet
  • Installera Azure Container Storage (version 1.x.x)

Förutsättningar

  • Om du inte har en Azure-prenumeration, skapa ett gratis konto innan du börjar.

  • Den här artikeln kräver den senaste versionen 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 Kom igång med Azure Cloud Shell.

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

  • Kontrollera om målregionen stöds i Azure Container Storage-regioner.

Komma igång

  • Anteckna ditt Azure-prenumerations-ID. Om du vill använda Azure Elastic SAN som datalagring behöver du antingen rollen Azure Container Storage-ägare eller Rollen Azure Container Storage-deltagare tilldelad till Azure-prenumerationen. Med åtkomst på ägarnivå kan du installera Azure Container Storage-tillägget, ge åtkomst till dess lagringsresurser och ge dig behörighet att konfigurera din Azure Elastic SAN-resurs. Med åtkomst på deltagarnivå kan du installera tillägget och ge åtkomst till dess lagringsresurser. 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 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.

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. 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 framgångsrikt, 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 backend-lagringsalternativ du slutligen väljer för 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 tillhandahålls på begäran per skapad volym och volymögonblicksbild. 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 tilldelas baserat på storleken på målcontainerlagringspoolen 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.

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
Elastiskt SAN-nätverk i Azure  None None
Azure-diskar 1 1 GiB
Tillfällig disk – Temp SSD 1 1 GiB
Tillfällig disk – lokal NVMe (standardnivå) 25% kärnor (prestandanivån kan uppdateras)* 1 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 lagringspool av typen Ephemeral Disk – Local NVMe med standardprestandanivå gäller att om du använder flera olika VM SKU-typer för dina klusternoder, tillämpas de 25 % av förbrukade processorkärnor på den minsta SKU som används. 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. Du kan uppdatera prestandanivån för att använda en större procentandel kärnor och uppnå större IOPS.

Se till att VM-typen för klustret uppfyller följande villkor

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.

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.

Skapa ett nytt AKS-kluster och installera Azure Container Storage

Om du redan har distribuerat ett AKS-kluster följer du installationsanvisningarna i den här snabbstarten.

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 ephemeralDiskmåste 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. Om du anger lokal NVMe för din lagringspooltyp måste du ange antalet noder till 4 eller högre, annars kan kommandot inte köras.

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 installerar Azure Container Storage dataplanskomponenterna som standard. Annars har användarna möjlighet att skicka önskad nodpool till acstor via Azure CLI. Om klustret bara har systemnodpoolen kommer det att märkas och användas för Azure Container Storage som standard. Det är viktigt att observera att endast dataplanskomponenter begränsas till den märkta nodpoolen. Kontrollplanskomponenterna i Azure Container Storage är inte begränsade till de märkta noderna och kan också installeras 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> --container-storage-version 1 --generate-ssh-keys

Driftsättningen 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 någon roll som Azure Container Storage-ägare eller Azure Container Storage-deltagare tilldelad till Azure-prenumerationen kommer Azure Container Storage-installationen att misslyckas och en lagringspool skapas inte. Om du försöker aktivera Azure Elastic SAN som ytterligare en lagringspooltyp utan någon av dessa roller, påverkas inte dina tidigare installations- och lagringspooler och en elastisk SAN-lagringspool skapas inte.

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

Om Message inte säger StoragePool is ready betyder det att lagringspoolen fortfarande skapas eller har stött på ett problem. Mer information finns i Felsöka Azure Container Storage.

Nästa steg

Välj länken för den lagringstyp som du valde och följ anvisningarna för att skapa volymer.