Sdílet prostřednictvím


Rychlý start: Použití služby Azure Container Storage ve verzi Preview 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.

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 kubectlpří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.

  • 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 kubectlpří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.

  1. Nakonfigurujte kubectl připojení ke clusteru az 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/configvý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>
    
  2. Pomocí příkazu ověřte připojení ke clusteru kubectl get . Tento příkaz vrátí seznam uzlů clusteru.

    kubectl get nodes
    
  3. 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 25 % jader (v závislosti na velikosti uzlu)* 2 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 pro uzly clusteru více typů skladových položek virtuálního počítače, platí 25 % spotřebovaných jader procesoru na nejmenší použitou skladovou položku. 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.

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 máte v úmyslu používat dočasný disk s místním nvMe, zvolte typ virtuálního počítače optimalizovaného pro úložiště, například standard_l8s_v3.
  • 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

Pokud váš cluster AKS splňuje požadavky na virtuální počítač, spusťte následující příkaz, který nainstaluje Službu Azure Container Storage do clusteru a vytvoří fond úložiště. Nahraďte <cluster-name> a <resource-group> nahraďte vlastními hodnotami. Nahradit <storage-pool-type> čím azureDisk, ephemeraldisknebo elasticSan. Pokud vyberete ephemeralDiskmožnost , můžete také zadat --storage-pool-optiona 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 fondu úložiště, přečtěte si tuto tabulku.

*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, nainstaluje se jenom Azure Container Storage a fond úložiště se nevytvořil. V takovém případě budete muset ručně vytvořit fond úložiště elastické sítě SAN.

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.

  1. 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>
    
  2. 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> čím azureDisk, ephemeraldisknebo elasticSan. Pokud vyberete ephemeralDiskmožnost - --storage-pool-option, a hodnoty mohou být NVMe nebo 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>
    

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, ephemeralDisknebo 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, ephemeralDisknebo 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.