Kurz: Instalace služby Azure Container Storage ve verzi Preview pro použití 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 kurzu vytvoříte cluster Azure Kubernetes Service (AKS) a nainstalujete do clusteru službu Azure Container Storage. Případně můžete službu Azure Container Storage nainstalovat pomocí rychlého startu místo ručních kroků v tomto kurzu.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

  • Vytvoření skupiny zdrojů
  • Volba možnosti úložiště dat a typu virtuálního počítače
  • Vytvoření clusteru AKS
  • Připojení ke clusteru
  • Označení fondu uzlů
  • Přiřazení role přispěvatele ke spravované identitě AKS
  • Instalace rozšíření Azure Container Storage

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.

Poznámka:

Pokud už máte nasazený cluster AKS, pokračujte Připojení do clusteru.

Začínáme

  • Poznamenejte si ID předplatného Azure. Pokud chcete jako úložiště dat použít disky Azure nebo dočasný disk, doporučujeme použít předplatné, pro které máte roli přispěvatele Kubernetes. Pokud chcete jako úložiště dat používat Azure Elastic SAN, budete potřebovat roli vlastníka předplatného Azure.

  • Spusťte Azure Cloud Shell nebo pokud používáte místní instalaci, přihlaste se k Azure CLI 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.

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>

Registrace poskytovatelů prostředků

Poskytovatelé Microsoft.ContainerService prostředků musí Microsoft.KubernetesConfiguration být zaregistrovaní ve vašem předplatném Azure. Pokud chcete zaregistrovat tyto poskytovatele, spusťte následující příkaz:

az provider register --namespace Microsoft.ContainerService --wait 
az provider register --namespace Microsoft.KubernetesConfiguration --wait 

Pokud chcete zkontrolovat, jestli jsou tito poskytovatelé úspěšně zaregistrovaní, spusťte následující příkaz:

az provider list --query "[?namespace=='Microsoft.ContainerService'].registrationState"
az provider list --query "[?namespace=='Microsoft.KubernetesConfiguration'].registrationState"

Vytvoření skupiny zdrojů

Skupina prostředků Azure je logická skupina, která obsahuje vaše prostředky Azure, které chcete spravovat jako skupinu. Při vytváření skupiny prostředků se zobrazí výzva k zadání umístění. Toto umístění je:

  • Umístění úložiště metadat vaší skupiny prostředků
  • Pokud během vytváření prostředků nezadáte jinou oblast, budou se vaše prostředky spouštět v Azure.

Pomocí příkazu vytvořte skupinu az group create prostředků. Nahraďte <resource-group-name> názvem skupiny prostředků, kterou chcete vytvořit, a nahraďte <location> oblastí Azure, jako je eastus, westus2, westus3 nebo westeurope.

az group create --name <resource-group-name> --location <location>

Pokud se skupina prostředků úspěšně vytvořila, zobrazí se výstup podobný tomuto:

{
  "id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
  "location": "eastus",
  "managedBy": null,
  "name": "myContainerStorageRG",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Volba možnosti úložiště dat a typu virtuálního počítače

Před vytvořením clusteru byste měli vědět, která možnost back-endového úložiště se nakonec rozhodnete vytvořit fond úložiště. Důvodem je to, že různé služby úložiště fungují nejlépe s různými typy virtuálních počítačů jako uzly clusteru a cluster nasadíte před vytvořením fondu úložiště.

Možnosti úložiště dat

  • 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í CD/CI 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 AKS a je extrémně citlivá na latenci (nízká latence pod ms), takže je nejvhodnější pro aplikace bez požadavků na stálost dat nebo s podporou integrované replikace dat, jako je Cassandra. AKS zjistí dostupné dočasné úložiště na uzlech AKS a získá jednotky pro nasazení svazku.

Typy virtuálních počítačů

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

Pokud máte v úmyslu používat Azure Elastic SAN nebo Disky Azure se službou Azure Container Storage, měli byste zvolit typ virtuálního počítače pro obecné účely, například standard_d4s_v5 pro uzly clusteru.

Pokud máte v úmyslu použít dočasný disk, zvolte typ virtuálního počítače optimalizovaného pro úložiště, například standard_l8s_v3.

Důležité

Musíte zvolit typ virtuálního počítače, který podporuje Azure Premium Storage.

Vytvoření clusteru AKS

Spuštěním následujícího příkazu vytvořte cluster AKS založený na Linuxu a povolte spravovanou identitu přiřazenou systémem. Pokud už máte cluster AKS, který chcete použít, můžete tento krok přeskočit.

Nahraďte <resource-group> názvem skupiny prostředků, kterou jste vytvořili, názvem clusteru, <cluster-name> který chcete vytvořit, a <vm-type> typem virtuálního počítače, který jste vybrali v předchozím kroku. V tomto příkladu vytvoříme cluster se třemi uzly. Pokud chcete větší cluster, zvyšte ho --node-count .

az aks create -g <resource-group> -n <cluster-name> --node-count 3 -s <vm-type> --generate-ssh-keys

Nasazení může trvat několik minut.

Poznámka:

Když vytvoříte cluster AKS, AKS automaticky vytvoří druhou skupinu prostředků pro uložení prostředků AKS. Tato druhá skupina prostředků se řídí konvencí MC_YourResourceGroup_YourAKSClusterName_Regionpojmenování . Další informace najdete v tématu Proč jsou dvě skupiny prostředků vytvořené pomocí AKS?.

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.

Označení fondu uzlů

Dále musíte aktualizovat popisek fondu uzlů, aby se fond uzlů přidružil ke správnému vstupně-výstupnímu modulu pro Azure Container Storage.

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. Před instalací služby Azure Container Storage musíte aktualizovat popisek fondu uzlů uživatele, jak je popsáno v této části. 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ů agenta nebo systému 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.

Spuštěním následujícího příkazu aktualizujte popisek fondu uzlů. Nezapomeňte nahradit <resource-group> a <cluster-name> nahradit vlastními hodnotami a nahradit <nodepool-name> názvem fondu uzlů.

az aks nodepool update --resource-group <resource-group> --cluster-name <cluster-name> --name <nodepool-name> --labels acstor.azure.com/io-engine=acstor

Fond uzlů můžete ověřit tak, že se přihlásíte k webu Azure Portal a přejdete do clusteru AKS. Přejděte na Nastavení > Fondy uzlů, vyberte fond uzlů a v části Taints a popisky byste měli vidět Labels: acstor.azure.com/io-engine:acstor.

Přiřazení role přispěvatele ke spravované identitě AKS

Azure Container Service je samostatná služba od AKS, takže budete muset udělit oprávnění, aby služba Azure Container Storage mohla zřídit úložiště pro váš cluster. Konkrétně musíte přiřadit předdefinované role Přispěvatel Azure RBAC spravované identitě AKS. Můžete to provést pomocí webu Azure Portal nebo Azure CLI. K tomu budete potřebovat roli Vlastník vašeho předplatného Azure. Pokud nemáte dostatečná oprávnění, požádejte správce, aby provedl tento postup.

  1. Přihlaste se k webu Azure Portal a vyhledejte a vyberte služby Kubernetes.

  2. Vyhledejte a vyberte cluster AKS. V levém navigačním panelu vyberte Nastavení> Properties.

  3. V části Skupina prostředků infrastruktury by se měla zobrazit odkaz na skupinu prostředků, kterou AKS vytvořila při vytváření clusteru. Vyberte ji.

  4. V levém podokně vyberte Řízení přístupu (IAM ).

  5. Vyberte Přidat > přiřazení role.

  6. V části Typ přiřazení vyberte Role privilegovaného správce a potom Přispěvatel a pak vyberte Další. Pokud v předplatném nemáte roli Vlastník, nebudete moct přidat roli Přispěvatel.

    Snímek obrazovky znázorňující, jak pomocí webu Azure Portal přidat roli Přispěvatel do spravované identity AKS

  7. V části Přiřadit přístup vyberte Spravovaná identita.

  8. V části Členové klikněte na + Vybrat členy. Zobrazí se nabídka Vybrat spravované identity.

  9. V části Spravovaná identita vyberte spravovanou identitu přiřazenou uživatelem.

  10. V části Vybrat vyhledejte a vyberte spravovanou identitu s názvem clusteru a -agentpool připojenou.

  11. Klikněte na Vybrat a pak zkontrolovat a přiřadit.

Instalace služby Azure Container Storage

Při počáteční instalaci se ke stažení nového rozšíření používají příkazy Rozhraní příkazového řádku Azure Arc. Nahraďte <cluster-name> a <resource-group> nahraďte vlastními hodnotami. Hodnota <extension-name> může být libovolná. Jde jenom o popisek rozšíření, které instalujete.

Během instalace můžete být požádáni o instalaci k8s-extension. Vyberte Y.

az k8s-extension create --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name <extension-name> --extension-type microsoft.azurecontainerstorage --scope cluster --release-train stable --release-namespace acstor

Dokončení instalace trvá 10 až 15 minut. Pokud chcete zkontrolovat, jestli se instalace dokončila správně, spuštěním následujícího příkazu a zajištěním úspěšné provisioningStateinstalace:

az k8s-extension list --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type managedClusters

Blahopřejeme, úspěšně jste nainstalovali Službu Azure Container Storage. Teď máte nové třídy úložiště, které můžete použít pro úlohy Kubernetes.

Další kroky

Teď můžete vytvořit fond úložiště a trvalou deklaraci identity svazku a pak nasadit pod a připojit trvalý svazek. Postupujte podle pokynů v příslušném článku s postupy.