Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Container Storage är en molnbaserad volymhanterings-, distributions- och orkestreringstjänst som skapats internt för containrar. Den här snabbstarten visar hur du ansluter till ett Linux-baserat AKS-kluster (Azure Kubernetes Service), installerar Azure Container Storage (version 1.x.x) och skapar en lagringspool med Azure CLI.
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.
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 kommandotaz aks install-cli.Kontrollera om målregionen stöds i Azure Container Storage-regioner.
Om du inte redan har skapat ett AKS-kluster följer du anvisningarna för att installera ett AKS-kluster.
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 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>
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 så kan du installera det lokalt genom att köra kommandot az aks install-cli.
Konfigurera
kubectlför att ansluta till klustret med hjälp avaz aks get-credentialskommandot . 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>Kontrollera anslutningen till klustret med hjälp av
kubectl getkommandot . Det här kommandot returnerar en lista över klusternoderna.kubectl get nodesFö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.6Anteckna namnet på nodpoolen. I det här exemplet skulle det vara nodepool1.
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 dina 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 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-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.
Anmärkning
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 antingen rollen Azure Container Storage-ägare eller Azure Container Storage-deltagare 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 |
|---|---|---|
| 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.
- 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 VM SKU som stöder lokala NVMe-datadiskar, till exempel Lagringsoptimerade VM-SKU:er eller GPU-accelererade VM-SKU:er.
- 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.
Installera Azure Container Storage i ditt AKS-kluster
Installationskommandot skiljer sig beroende på om du redan har en förhandsversionsinstans av Azure Container Storage som körs i AKS-klustret eller om du installerar Azure Container Storage i klustret för första gången.
Uppgradera en förhandsgranskningsinstallation till GA
Om du redan har en förhandsversion av Azure Container Storage som körs i klustret rekommenderar vi att du uppdaterar till den senaste allmänt tillgängliga versionen (GA) genom att köra följande kommando. Om du installerar Azure Container Storage för första gången i klustret fortsätter du i stället med att installera Azure Container Storage och skapa en lagringspool. Du kan också installera Azure Container Storage på specifika nodpooler.
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable
Kom ihåg att ersätta <cluster-name> och <resource-group> med dina egna värden.
Installera Azure Container Storage och skapa en lagringspool
Kontrollera att AKS-klustret uppfyller kraven för den virtuella datorn innan du installerar det.
Kör 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 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, 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 kan du läsa Azure Container Storage lagringspoolparametrar.
*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.
Om du använder ett AKS-kluster med flera zoner med Azure Elastic SAN: Du måste använda ett zonredundant lagring (ZRS) elastiskt SAN. Standardvärdet för en elastisk SAN-lagringspool är lokalt redundant lagring (LRS). Om du vill aktivera ZRS för Elastic SAN använder du elasticSan för lagringspooltypen --storage-pool-sku Premium_ZRS och lägger till flaggan i följande CLI-kommando.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1
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.
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.
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>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>medazureDisk,ephemeralDiskellerelasticSan. Om du väljerephemeralDiskkan du också ange alternativet --storage-pool-och värdena kan varaNVMeellerTemp.az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --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, ephemeralDisk eller 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> --container-storage-version 1
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.
Tips/Råd
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.
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.
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, ephemeralDisk eller elasticSan.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>
Anmärkning
Om du har en befintlig lagringspool av den typ som du försöker inaktivera, kommer lagringspooltypen inte att inaktiveras.
Nästa steg
Om du vill skapa volymer väljer du länken för den lagringstyp som du har valt.