Udostępnij przez


Samouczek: instalowanie usługi Azure Container Storage do użycia z usługą Azure Kubernetes Service

Azure Container Storage to oparta na chmurze usługa zarządzania woluminami, wdrażania i orkiestracji, stworzona natywnie dla kontenerów. Użyj tego samouczka, aby zainstalować najnowszą wersję produkcyjną usługi Azure Container Storage w klastrze usługi Azure Kubernetes Service (AKS), niezależnie od tego, czy tworzysz nowy klaster, czy włączasz usługę w istniejącym wdrożeniu.

Jeśli wolisz wersję typu open source usługi Azure Container Storage, odwiedź repozytorium sterownika local-csi-driver , aby uzyskać instrukcje dotyczące instalacji alternatywnej.

Po ukończeniu tego samouczka wykonasz następujące elementy:

  • Przygotowywanie środowiska Azure CLI
  • Tworzenie lub wybieranie grupy zasobów dla klastra
  • Potwierdź, że typy maszyn wirtualnych w puli węzłów spełniają wymagania instalacji
  • Instalowanie Azure Container Storage poprzez utworzenie nowego klastra AKS lub włączenie go w istniejącym klastrze

Ważne

Ten artykuł dotyczy usługi Azure Container Storage (wersja 2.x.x). Aby zapoznać się z wcześniejszymi wersjami, zobacz dokumentację usługi Azure Container Storage (wersja 1.x.x). Jeśli masz już zainstalowaną usługę Azure Container Storage (w wersji 1.x.x) w klastrze usługi AKS, usuń ją, wykonując następujące kroki.

Wymagania wstępne

  • Utwórz subskrypcję platformy Azure, jeśli jeszcze jej nie masz, tworząc bezpłatne konto.

  • Upewnij się, że region docelowy jest obsługiwany, przeglądając dostępność regionalną usługi Azure Container Storage.

  • Zaplanuj konfigurację puli węzłów:

  • Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure (2.77.0 lub nowszą), a następnie zaloguj się przy użyciu polecenia az login. Unikaj korzystania z usługi Azure Cloud Shell (ponieważ az upgrade nie jest dostępna) i wyłącz rozszerzenia powodujące konflikt, takie jak aks-preview w przypadku wystąpienia problemów.

  • Zainstaluj klienta wiersza polecenia platformy Kubernetes, kubectl. Możesz zainstalować go lokalnie, uruchamiając polecenie az aks install-cli.

Zainstaluj wymaganą wtyczkę

Dodaj lub zaktualizuj do najnowszej wersji k8s-extension wykonując poniższe polecenie.

az extension add --upgrade --name k8s-extension

Ustaw kontekst subskrypcji

Ustaw kontekst subskrypcji platformy Azure przy użyciu polecenia az account set. Możesz wyświetlić identyfikatory subskrypcji dla wszystkich subskrypcji, do których masz dostęp, uruchamiając az account list --output table polecenie . Pamiętaj, aby zastąpić <subscription-id> swoim identyfikatorem subskrypcji.

az account set --subscription <subscription-id>

Tworzenie grupy zasobów

Grupa zasobów platformy Azure to grupa logiczna zawierająca zasoby platformy Azure, którymi chcesz zarządzać jako grupa. Podczas tworzenia grupy zasobów zostanie wyświetlony monit o określenie lokalizacji. Ta lokalizacja to:

  • Lokalizacja magazynu metadanych grupy zasobów.
  • Gdzie zasoby działają na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobów.

Utwórz grupę zasobów przy użyciu polecenia az group create. Zastąp <resource-group-name> ciąg nazwą grupy zasobów, którą chcesz utworzyć, i zastąp <location> ciąg regionem platformy Azure, takim jak eastus, westus2, westus3 lub westeurope. Jeśli włączasz usługę Azure Container Storage w istniejącym klastrze usługi AKS, użyj grupy zasobów, która już hostuje klaster.

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

Jeśli grupa zasobów zostanie utworzona pomyślnie, zobaczysz dane wyjściowe podobne do tego przykładu:

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

Instalowanie usługi Azure Container Storage w klastrze usługi AKS

Wybierz scenariusz zgodny ze swoim środowiskiem.

Ważne

Usługa Azure Container Storage automatycznie instaluje najnowszą dostępną wersję i aktualizuje się automatycznie. Wybór wersji ręcznej nie jest obsługiwany.

Opcja 1. Tworzenie nowego klastra usługi AKS z włączoną usługą Azure Container Storage

Uruchom następujące polecenie, aby utworzyć nowy klaster usługi AKS i zainstalować usługę Azure Container Storage. Zastąp <cluster-name> i <resource-group> własnymi wartościami i określ typ maszyny wirtualnej, którego chcesz użyć.

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage --generate-ssh-keys

Wdrożenie trwa od 5 do 10 minut. Po zakończeniu masz klaster usługi AKS z zainstalowaną usługą Azure Container Storage i wdrożonymi składnikami dla lokalnego typu magazynu NVMe.

Opcja 2. Włączanie usługi Azure Container Storage w istniejącym klastrze usługi AKS

Uruchom następujące polecenie, aby włączyć usługę Azure Container Storage w istniejącym klastrze usługi AKS. Zastąp <cluster-name> i <resource-group> własnymi wartościami.

az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage

Wdrożenie trwa od 5 do 10 minut. Po zakończeniu docelowy klaster usługi AKS ma zainstalowaną usługę Azure Container Storage i wdrożone składniki lokalnego typu magazynu NVMe.

  • Przygotowywanie narzędzia Terraform i uwierzytelnianie na platformie Azure
  • Określ swoją grupę zasobów i konfigurację klastra AKS
  • Potwierdź, że typy maszyn wirtualnych w puli węzłów spełniają wymagania instalacji
  • Stosowanie narzędzia Terraform w celu wdrożenia usługi Azure Container Storage lub włączenia go w istniejącym klastrze

Ważne

Ten artykuł dotyczy usługi Azure Container Storage (wersja 2.x.x). Aby zapoznać się z wcześniejszymi wersjami, zobacz dokumentację usługi Azure Container Storage (wersja 1.x.x). Jeśli masz już zainstalowaną usługę Azure Container Storage (w wersji 1.x.x) w klastrze usługi AKS, usuń ją, wykonując następujące kroki.

Wymagania wstępne

  • Utwórz subskrypcję platformy Azure, jeśli jeszcze jej nie masz, tworząc bezpłatne konto.

  • Sprawdź, czy region docelowy jest obsługiwany, sprawdzając dostępność regionalną usługi Azure Container Storage.

  • Zaplanuj konfigurację puli węzłów:

  • Zainstaluj interfejs wiersza polecenia platformy Azure w wersji 2.77.0 lub nowszej, a następnie zaloguj się przy użyciu polecenia az login.

  • Zainstaluj program Terraform w wersji 1.5 lub nowszej i potwierdź instalację za pomocą polecenia terraform version. Terraform może ponownie użyć uwierzytelniania Azure CLI.

  • Zainstaluj kubectl , aby można było zweryfikować klaster po wdrożeniu. W razie potrzeby uruchom polecenie az aks install-cli , aby zainstalować go lokalnie.

Ustaw kontekst subskrypcji

Narzędzie Terraform może określić docelową subskrypcję platformy Azure za pomocą różnych środków:

  • subscription_id w bloku dostawcy
  • ARM_SUBSCRIPTION_ID zmienna środowiskowa
  • Domyślna subskrypcja Azure CLI
  • Tożsamość zarządzana (w przypadku uruchamiania na platformie Azure)

W przypadku użycia lokalnego ustaw kontekst interfejsu wiersza polecenia platformy Azure:

az account set --subscription <subscription-id>

Instalowanie usługi Azure Container Storage w klastrze usługi AKS

Wybierz scenariusz zgodny ze swoim środowiskiem.

Ważne

Usługa Azure Container Storage automatycznie instaluje najnowszą dostępną wersję i aktualizuje się automatycznie. Wybór wersji ręcznej nie jest obsługiwany.

Opcja 1. Tworzenie nowego klastra usługi AKS z włączoną usługą Azure Container Storage

  1. W pustym katalogu roboczym utwórz plik main.tf z następującą minimalną konfiguracją klastra AKS. Zaktualizuj nazwy zasobów, lokalizacje i rozmiary maszyn wirtualnych, aby spełnić wymagania.

    terraform {
      required_version = ">= 1.5.0"
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~> 4.x"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
    resource "azurerm_resource_group" "rg" {
      name     = "demo-aks-rg"
      location = "eastus"
    }
    
    resource "azurerm_kubernetes_cluster" "aks" {
      name                = "demo-aks-cluster"
      dns_prefix          = "demo-aks"
      location            = azurerm_resource_group.rg.location
      resource_group_name = azurerm_resource_group.rg.name
    
      default_node_pool {
        name       = "systempool"
        vm_size    = "Standard_L8s_v3"
        node_count = 3
      }
    
      identity {
        type = "SystemAssigned"
      }
    }
    
    resource "azurerm_kubernetes_cluster_extension" "container_storage" {
      name           = "microsoft-azurecontainerstorage"
      cluster_id     = azurerm_kubernetes_cluster.aks.id
      extension_type = "microsoft.azurecontainerstoragev2"
    
      configuration_settings = {
        enable-azure-container-storage = "true"
      }
    }
    
  2. Zainicjuj katalog roboczy, aby pobrać dostawcę AzureRM.

    terraform init
    
  3. Przejrzyj planowane zmiany.

    terraform plan
    
  4. Zastosuj konfigurację, aby utworzyć grupę zasobów, klaster usługi AKS i rozszerzenie usługi Azure Container Storage. Wdrożenie zwykle trwa od 5 do 10 minut.

    terraform apply
    

Opcja 2. Włączanie usługi Azure Container Storage w istniejącym klastrze usługi AKS

Jeśli klaster usługi AKS już istnieje i zarządzasz nim poza programem Terraform, nadal możesz włączyć usługę Azure Container Storage, tworząc tylko zasób rozszerzenia. Użyj źródła danych, aby wyszukać identyfikator klastra.

terraform {
  required_version = ">= 1.5.0"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 4.x"
    }
  }
}

provider "azurerm" {
  features {}
}

data "azurerm_kubernetes_cluster" "existing" {
  name                = "existing-aks"
  resource_group_name = "existing-aks-rg"
}

resource "azurerm_kubernetes_cluster_extension" "container_storage" {
  name           = "microsoft-azurecontainerstorage"
  cluster_id     = data.azurerm_kubernetes_cluster.existing.id
  extension_type = "microsoft.azurecontainerstoragev2"

  configuration_settings = {
    enable-azure-container-storage = "true"
  }
}

Uruchom polecenie terraform init (jeśli jest to nowy katalog roboczy), a następnie terraform apply zainstaluj usługę Azure Container Storage w docelowym klastrze.

Nawiązywanie połączenia z klastrem i weryfikowanie stanu

Po zakończeniu instalacji skonfiguruj połączenie kubectl z klastrem i sprawdź, czy węzły są gotowe.

  1. Pobierz poświadczenia klastra i skonfiguruj interfejs wiersza polecenia platformy Kubernetes do ich użycia. Domyślnie poświadczenia są przechowywane w pliku ~/.kube/config. W razie potrzeby podaj inną ścieżkę przy użyciu argumentu --file .

    az aks get-credentials --resource-group <resource-group> --name <cluster-name>
    
  2. Sprawdź połączenie, wyświetlając listę węzłów klastra.

    kubectl get nodes
    
  3. Upewnij się, że wszystkie węzły zgłaszają status Ready, podobny do poniższego wyniku:

    NAME                                STATUS   ROLES   AGE   VERSION
    aks-nodepool1-34832848-vmss000000   Ready    agent   80m   v1.32.6
    aks-nodepool1-34832848-vmss000001   Ready    agent   80m   v1.32.6
    aks-nodepool1-34832848-vmss000002   Ready    agent   80m   v1.32.6
    

Dalsze kroki