Rychlý start: Použití služby Azure Container Storage se službou Azure Kubernetes Service
Azure Container Storage je cloudová služba pro správu svazků, nasazení a orchestraci sestavená nativně pro kontejnery. V tomto rychlém startu se dozvíte, jak se připojit ke clusteru Azure Kubernetes Service (AKS) založenému na Linuxu, nainstalovat Službu Azure Container Storage a vytvořit fond úložiště pomocí Azure CLI.
Důležité
Azure Container Storage je teď obecně dostupný (GA) od verze 1.1.0. Pro produkční úlohy se doporučuje verze GA.
Požadavky
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Tento článek vyžaduje nejnovější verzi Azure CLI (2.35.0 nebo novější). Přečtěte si , jak nainstalovat Azure CLI. Pokud používáte prostředí Bash v Azure Cloud Shellu, je už nainstalovaná nejnovější verze. Pokud chcete příkazy spouštět místně místo v Azure Cloud Shellu, nezapomeňte je spustit s oprávněními správce. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Budete potřebovat klienta
kubectl
příkazového řádku Kubernetes. Je už nainstalovaný, pokud používáte Azure Cloud Shell, nebo ho můžete nainstalovat místně spuštěnímaz aks install-cli
příkazu.Zkontrolujte, jestli je vaše cílová oblast podporovaná v oblastech Azure Container Storage.
Pokud jste cluster AKS ještě nevytvořili, postupujte podle pokynů pro instalaci clusteru AKS.
Začínáme
Poznamenejte si ID předplatného Azure. Pokud chcete jako úložiště dat používat Azure Elastic SAN, budete potřebovat roli vlastníka služby Azure Container Storage nebo roli Přispěvatel služby Azure Container Storage přiřazenou k předplatnému Azure. Přístup na úrovni vlastníka umožňuje nainstalovat rozšíření Azure Container Storage, udělit přístup k prostředkům úložiště a udělit vám oprávnění ke konfiguraci prostředku Azure Elastic SAN. Přístup na úrovni přispěvatele umožňuje nainstalovat rozšíření a udělit přístup k prostředkům úložiště. Pokud plánujete používat disky Azure nebo dočasný disk jako datové úložiště, nepotřebujete pro své předplatné speciální oprávnění.
Spusťte Azure Cloud Shell nebo pokud používáte místní instalaci, přihlaste se k Azure pomocí příkazu az login .
Pokud používáte Azure Cloud Shell, může se zobrazit výzva k připojení úložiště. Vyberte předplatné Azure, ve kterém chcete vytvořit účet úložiště, a vyberte Vytvořit.
Instalace požadovaného rozšíření
Spuštěním následujícího příkazu přidejte nebo upgradujte na nejnovější verzi k8s-extension
.
az extension add --upgrade --name k8s-extension
Nastavení kontextu předplatného
Nastavte kontext předplatného Azure pomocí az account set
příkazu. Id předplatného pro všechna předplatná, ke kterým máte přístup, můžete zobrazit spuštěním az account list --output table
příkazu. Nezapomeňte nahradit <subscription-id>
ID předplatného.
az account set --subscription <subscription-id>
Připojení ke clusteru
Pokud se chcete připojit ke clusteru, použijte klienta kubectl
příkazového řádku Kubernetes . Je už nainstalovaný, pokud používáte Azure Cloud Shell, nebo ho můžete nainstalovat místně spuštěním az aks install-cli
příkazu.
Nakonfigurujte
kubectl
připojení ke clusteruaz aks get-credentials
pomocí příkazu. Následující příkaz:- Stáhne přihlašovací údaje a nakonfiguruje rozhraní příkazového řádku Kubernetes tak, aby je používalo.
- Používá
~/.kube/config
výchozí umístění konfiguračního souboru Kubernetes. Pomocí argumentu --file můžete pro konfigurační soubor Kubernetes zadat jiné umístění.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Pomocí příkazu ověřte připojení ke clusteru
kubectl get
. Tento příkaz vrátí seznam uzlů clusteru.kubectl get nodes
Následující příklad výstupu ukazuje uzly v clusteru. Ujistěte se, že stav všech uzlů zobrazuje Připraveno:
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
Poznamenejte si název fondu uzlů. V tomto příkladu by to bylo nodepool1.
Volba možnosti úložiště pro fond úložiště
Před nasazením služby Azure Container Storage se budete muset rozhodnout, kterou možnost back-endového úložiště chcete použít k vytvoření fondu úložiště a svazků. Aktuálně jsou k dispozici tři možnosti:
Azure Elastic SAN: Azure Elastic SAN je vhodný pro databáze pro obecné účely, služby streamování a zasílání zpráv, prostředí CI/CD a další úlohy vrstvy 1/vrstvy 2. Úložiště se zřizuje na vyžádání na vytvořený svazek a snímek svazku. Několik clusterů má současně přístup k jedné síti SAN, ale trvalé svazky je možné připojit pouze jedním příjemcem najednou.
Disky Azure: Disky Azure jsou vhodné pro databáze, jako jsou MySQL, MongoDB a PostgreSQL. Úložiště se zřizuje na každou cílovou velikost fondu úložiště kontejnerů a maximální velikost svazku.
Dočasný disk: Tato možnost používá místní jednotky NVMe nebo dočasné SSD na uzlech clusteru AKS. Je velmi citlivá na latenci (nízká latence pod ms), takže je nejvhodnější pro aplikace bez požadavků na stálost dat nebo s integrovanou podporou replikace dat, jako je Cassandra. AKS zjistí dostupné dočasné úložiště na uzlech AKS a získá jednotky pro nasazení svazku.
Poznámka:
Azure Container Storage pro Azure Elastic SAN a Disky Azure nasadí záložní úložiště za vás jako součást instalace. Nemusíte vytvářet vlastní elastické sítě SAN ani disk Azure. Abyste mohli používat elastickou síť SAN, budete potřebovat roli vlastníka služby Azure Container Storage nebo roli Přispěvatel služby Azure Container Storage v předplatném Azure.
Využití prostředků
Azure Container Storage vyžaduje, aby určité prostředky uzlu spouštěly komponenty pro službu. Na základě výběru typu fondu úložiště, který zadáte při instalaci služby Azure Container Storage, se jedná o prostředky, které budou využity:
Typ fondu úložiště | Jádra procesoru | BERAN |
---|---|---|
Azure Elastic SAN | Nic | Nic |
Disky Azure | 0 | 1 GiB |
Dočasný disk – dočasné SSD | 0 | 1 GiB |
Dočasný disk – Místní NVMe (úroveň Standard) | 25 % jader (úroveň výkonu je možné aktualizovat)* | 1 GiB |
Spotřebované prostředky jsou na jeden uzel a budou spotřebovány pro každý uzel ve fondu uzlů, kde se nainstaluje Azure Container Storage. Pokud vaše uzly nemají dostatek prostředků, azure Container Storage se nepodaří spustit. Kubernetes se automaticky znovu pokusí inicializovat tyto neúspěšné pody, takže pokud se prostředky uvolní, je možné tyto pody znovu inicializovat.
*Pokud pro uzly clusteru používáte více typů skladových položek virtuálního počítače, platí pro nejmenší využitá jádra procesoru 25 % jader procesoru s úrovní výkonu úrovně Standard (výchozí). Pokud například používáte kombinaci typů virtuálních počítačů s 8 jádry a 16 jádry, spotřeba prostředků je 2 jádra. Úroveň výkonu můžete aktualizovat tak, aby používala větší procento jader a dosáhla vyšších IOPS.
Ujistěte se, že typ virtuálního počítače pro váš cluster splňuje následující kritéria.
Pokud chcete použít Azure Container Storage, budete potřebovat fond uzlů alespoň tří virtuálních počítačů s Linuxem. Každý virtuální počítač by měl mít minimálně čtyři virtuální procesory (vCPU). Azure Container Storage bude využívat jedno jádro pro zpracování vstupně-výstupních operací na každém virtuálním počítači, do které se rozšíření nasadí.
Při výběru typu virtuálního počítače pro uzly clusteru postupujte podle těchto pokynů. Musíte zvolit typ virtuálního počítače, který podporuje Azure Premium Storage.
- Pokud chcete jako záložní úložiště používat Azure Elastic SAN nebo Disky Azure, zvolte typ virtuálního počítače pro obecné účely, například standard_d4s_v5.
- Pokud chcete použít dočasný disk s místním nvMe, zvolte skladovou položku virtuálního počítače, která podporuje místní datové disky NVMe, například skladové položky virtuálních počítačů optimalizovaných pro úložiště nebo skladové položky virtuálních počítačů s akcelerovanými GPU.
- Pokud máte v úmyslu používat dočasný disk s dočasným ssd, zvolte virtuální počítač s dočasným diskem SSD, jako je Ev3 a Esv3-series.
Instalace služby Azure Container Storage do clusteru AKS
Instalační příkaz se liší v závislosti na tom, jestli už máte ve svém clusteru AKS spuštěnou instanci služby Azure Container Storage ve verzi Preview nebo jestli službu Azure Container Storage instalujete do clusteru poprvé.
Upgrade instalace verze Preview na ga
Pokud už máte ve svém clusteru spuštěnou instanci služby Azure Container Storage ve verzi Preview, doporučujeme aktualizovat na nejnovější obecně dostupnou verzi (GA) spuštěním následujícího příkazu. Pokud službu Azure Container Storage instalujete poprvé do clusteru, pokračujte instalací služby Azure Container Storage a vytvořením fondu úložiště. Službu Azure Container Storage můžete také nainstalovat do konkrétních fondů uzlů.
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
Nezapomeňte nahradit <cluster-name>
a <resource-group>
použít vlastní hodnoty.
Instalace služby Azure Container Storage a vytvoření fondu úložiště
Před instalací se ujistěte, že váš cluster AKS splňuje požadavky na virtuální počítač.
Spuštěním následujícího příkazu nainstalujte Službu Azure Container Storage do clusteru a vytvořte fond úložiště. Nahraďte <cluster-name>
a <resource-group>
nahraďte vlastními hodnotami. Nahradit <storage-pool-type>
čím azureDisk
, ephemeralDisk
nebo elasticSan
. Pokud vyberete ephemeralDisk
možnost , můžete také zadat --storage-pool-option
a hodnoty mohou být NVMe
nebo Temp
.
Spuštěním tohoto příkazu povolíte službu Azure Container Storage ve fondu systémových uzlů, která má ve výchozím nastavení název nodepool1
*. Pokud ho chcete povolit v jiných fondech uzlů, přečtěte si téma Instalace služby Azure Container Storage do konkrétních fondů uzlů. Pokud chcete zadat další parametry, podívejte se na parametry fondu úložiště azure Container Storage.
*Pokud existují nějaké fondy uzlů s acstor.azure.com/io-engine:acstor
popiskem, služba Azure Container Storage se tam ve výchozím nastavení nainstaluje. Jinak se nainstaluje do fondu systémových uzlů.
Důležité
Pokud jste cluster AKS vytvořili pomocí webu Azure Portal: Cluster bude pravděpodobně mít fond uzlů uživatele a fond uzlů systému nebo agenta. Pokud se ale váš cluster skládá jenom z fondu systémových uzlů, což je případ clusterů pro testování a vývoj vytvořených pomocí webu Azure Portal, musíte nejprve přidat nový fond uzlů uživatele a pak ho označit popiskem. Důvodem je to, že když vytvoříte cluster AKS pomocí webu Azure Portal, přidá se do fondu uzlů systému nebo agenta taint CriticalAddOnsOnly
, který blokuje instalaci služby Azure Container Storage ve fondu systémových uzlů. Tento taint se nepřidá při vytvoření clusteru AKS pomocí Azure CLI.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
Nasazení bude trvat 10 až 15 minut. Po dokončení budete mít cluster AKS s nainstalovanou službou Azure Container Storage, komponenty pro zvolený typ fondu úložiště a výchozí fond úložiště. Pokud chcete povolit další typy fondů úložiště, abyste vytvořili další fondy úložiště, přečtěte si téma Povolení dalších typů fondů úložiště.
Důležité
Pokud jste jako záložní úložiště pro fond úložiště zadali Azure Elastic SAN a nemáte přiřazenou roli vlastníka služby Azure Container Storage ani roli Přispěvatel služby Azure Container Storage přiřazenou k předplatnému Azure, instalace služby Azure Container Storage selže a fond úložiště se nevytvořil. Pokud se pokusíte povolit Azure Elastic SAN jako další typ fondu úložiště bez těchto rolí, vaše předchozí instalace a fondy úložiště zůstanou nedotčené a fond elastického úložiště SAN se nevytvořil.
Instalace služby Azure Container Storage do konkrétních fondů uzlů
Pokud chcete službu Azure Container Storage nainstalovat do konkrétních fondů uzlů, postupujte podle těchto pokynů. Fondy uzlů musí obsahovat alespoň tři virtuální počítače s Linuxem.
Spuštěním následujícího příkazu zobrazte seznam dostupných fondů uzlů. Nahraďte
<resource-group>
a<cluster-name>
nahraďte vlastními hodnotami.az aks nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
Spuštěním následujícího příkazu nainstalujte Službu Azure Container Storage do konkrétních fondů uzlů. Nahraďte
<cluster-name>
a<resource-group>
nahraďte vlastními hodnotami. Nahradit<storage-pool-type>
čímazureDisk
,ephemeralDisk
neboelasticSan
. Pokud vybereteephemeralDisk
možnost - --storage-pool-option, a hodnoty mohou býtNVMe
neboTemp
.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>
Povolení dalších typů fondů úložiště
Pokud chcete povolit typ fondu úložiště, který nebyl původně povolen během instalace služby Azure Container Storage, spusťte následující příkaz. Nahraďte <cluster-name>
a <resource-group>
nahraďte vlastními hodnotami. Pro <storage-pool-type>
, zadat azureDisk
, ephemeralDisk
nebo elasticSan
.
Pokud chcete pomocí tohoto příkazu zadat další parametry fondu úložiště, přečtěte si tuto tabulku.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
Pokud nový typ fondu úložiště, který jste povolili, zabírá více prostředků než typ fondu úložiště, který už je povolený, spotřeba prostředků se změní na maximální velikost.
Tip
Pokud jste do clusteru přidali nový fond uzlů a chcete v daném fondu uzlů spustit Službu Azure Container Storage, můžete při spuštění az aks update
příkazu určit fond --azure-container-storage-nodepools <nodepool-name>
uzlů.
Zobrazení dostupných fondů úložiště
Pokud chcete získat seznam dostupných fondů úložiště, spusťte následující příkaz:
kubectl get sp -n acstor
Pokud chcete zkontrolovat stav fondu úložiště, spusťte následující příkaz:
kubectl describe sp <storage-pool-name> -n acstor
Message
Pokud tomu tak neníStoragePool is ready
, váš fond úložiště stále vytváří nebo narazí na problém. Viz Řešení potíží se službou Azure Container Storage.
Zakázání typů fondů úložiště
Pokud už nepoužíváte konkrétní typ fondu úložiště a chcete ho zakázat, aby se uvolnily prostředky ve fondu uzlů, spusťte následující příkaz. Nahraďte <cluster-name>
a <resource-group>
nahraďte vlastními hodnotami. Pro <storage-pool-type>
, zadat azureDisk
, ephemeralDisk
nebo elasticSan
.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>
Poznámka:
Pokud máte existující fond úložiště typu, který se pokoušíte zakázat, typ fondu úložiště se nezakáže.
Další krok
Pokud chcete vytvořit svazky, vyberte odkaz pro typ záložního úložiště, který jste vybrali.