Megosztás:


Az Azure Container Storage telepítése az Azure Kubernetes Service-hez való használatra

Az Azure Container Storage egy felhőalapú kötetkezelési, üzembe helyezési és vezénylési szolgáltatás, amely tárolókhoz készült. Ezzel az oktatóanyaggal telepítheti az Azure Container Storage legújabb éles verzióját egy Azure Kubernetes Service-fürtre (AKS), akár új fürtöt hoz létre, akár egy meglévő fürtön engedélyezi a szolgáltatást.

Ez a cikk bemutatja, hogyan telepítheti az Azure Container Storage-t két támogatott folyamattal (csak telepítő vagy telepítő + tároló típusa), hogyan aktiválódik az illesztőprogram-telepítés, és hogyan ellenőrizheti és háríthatja el az üzembe helyezést. Az Azure Container Storage telepíti a Tárolótároló interfészt (CSI) megvalósító illesztőprogramokat.

Ha az Azure Container Storage nyílt forráskódú verzióját részesíti előnyben, a helyi-csi-driver adattárban talál alternatív telepítési utasításokat.

Az oktatóanyag végére a következőket teheti:

  • Az Azure CLI-környezet előkészítése
  • Erőforráscsoport létrehozása vagy kiválasztása a klaszterhez
  • Győződjön meg arról, hogy a csomópontkészlet virtuális géptípusai megfelelnek a telepítési feltételeknek
  • Az Azure Container Storage telepítése új AKS-fürt létrehozásával vagy meglévő fürtön való engedélyezésével

Fontos

Ez a cikk az Azure Container Storage-ra (2.x.x-es verzió) vonatkozik. A korábbi verziókról lásd az Azure Container Storage (1.x.x verzió) dokumentációját. Ha már telepítve van az Azure Container Storage (1.x.x verzió) az AKS-fürtön, távolítsa el az alábbi lépések végrehajtásával.

Előfeltételek

  • Ha nincs Azure-előfizetésed, hozz létre egy ingyenes fiókot mielőtt elkezdenéd.

  • Ez a cikk az Azure CLI 2.83.0-s vagy újabb verzióját igényli. További információ: Az Azure CLI telepítése. Tiltsa le a bővítményeket, például aks-preview ha problémák lépnek fel. Szükség szerint telepítse vagy frissítse a bővítményeket:

    • az extension add --upgrade --name k8s-extension
    • az extension add --upgrade --name elastic-san (Csak rugalmas SAN)
  • Szüksége van a Kubernetes parancssori ügyfélre. kubectl Az Azure Cloud Shell használata esetén már telepítve van. A az aks install-cli parancs futtatásával telepítheti helyileg.

  • Ellenőrizze, hogy a célrégió támogatott-e az Azure Container Storage-régiókban.

  • A csomópontkészlet konfigurációjának megtervezése:

    • Használja a Linuxot operációsrendszer-típusként (a Windows nem támogatott).
    • Válasszon ki egy virtuálisgép-termékváltozatot, amely támogatja a helyi NVMe-adatlemezeket, ha a helyi NVMe-tárolótípust szeretné használni, például tárolóoptimalizált vagy GPU-gyorsított virtuális gépeket.
    • Meglévő klaszterek esetén az Azure Container Storage engedélyezése előtt győződjön meg arról, hogy a csomópontkészletek már használatban vannak egy támogatott VM SKU-val.
  • Ha először használja az Elastic SAN-t az előfizetésben, futtassa ezt az egyszeri regisztrációs parancsot:

    az provider register --namespace Microsoft.ElasticSan
    

Előfizetési környezet beállítása

Az Azure-előfizetés környezetének beállítása a az account set paranccsal. Az előfizetésazonosítókat a az account list --output table futtatásával tekintheti meg. Cserélje ki <subscription-id> az előfizetés azonosítójával.

az account set --subscription <subscription-id>

Erőforráscsoport létrehozása

Az Azure-erőforráscsoportok az erőforrások logikai tárolói. Erőforráscsoport létrehozásakor meg kell adnia egy helyet. Ez a hely tárolja az erőforráscsoport metaadatait, és az explicit régió nélkül létrehozott erőforrások alapértelmezett régiójaként szolgál.

Hozzon létre egy erőforráscsoportot az group create használatával. Cserélje le <resource-group-name> az erőforráscsoport nevére és <location> egy Olyan Azure-régióra, mint a eastus, westus2, westus3vagy westeurope. Ha egy meglévő AKS-fürtön engedélyezi az Azure Container Storage-t, használja azt az erőforráscsoportot, amely már üzemelteti a fürtöt.

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

Ha az erőforráscsoport létrehozása sikeresen megtörtént, az alábbi példához hasonló kimenet jelenik meg:

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

Telepítse az Azure Container Storage-t egy új AKS-fürtre

Válassza ki a környezetnek megfelelő forgatókönyvet.

Fontos

Az Azure Container Storage alapértelmezés szerint telepíti a legújabb főverziót. A --container-storage-version használatával rögzítheti a főverziót. Az alverziók és javító verziók nem rögzíthetők.

Kizárólag telepítővel történő telepítés

Az alábbi parancs futtatásával hozzon létre egy új AKS-fürtöt és telepítse az Azure Container Storage-t. Cserélje le a <cluster-name> és <resource-group> helyőrzőket a saját értékeire, és adja meg, hogy melyik virtuális gép típusát szeretné használni.

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

Az üzembe helyezés akár 5 percet is igénybe vehet. A CSI-illesztőprogramok telepítése elhalasztva, amíg létre nem hoz egy tárolási osztályt, vagy később nem engedélyezi a tárolótípust.

Kövesse a helyi NVMe tárolási osztály vagy rugalmas SAN-tárolóosztály létrehozásához szükséges utasításokat.

Telepítő + tártípus telepítése

Az alábbi parancs futtatásával hozzon létre egy új AKS-fürtöt és telepítse az Azure Container Storage-t. Cserélje le a <cluster-name> és <resource-group> helyőrzőket a saját értékeire, és adja meg, hogy melyik virtuális gép típusát szeretné használni.

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

Ez a parancs telepíti a telepítőt, telepíti az ephemeralDisk illesztőprogramot, és létrehoz egy alapértelmezett tárolási osztályt. Telepítheti és használhatja a helyi NVMe-t és az Elastic SAN-t is vesszővel elválasztott értékekkel, például ephemeralDisk,elasticSan.

A meglévő AKS-fürtre történő Azure Container Storage telepítése

Kizárólag telepítővel történő telepítés

Futtassa a következő parancsot az Azure Container Storage meglévő AKS-fürtön való engedélyezéséhez. Cserélje le a <cluster-name> és <resource-group> értékeket a saját értékeire.

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

Az üzembe helyezés akár 5 percet is igénybe vehet. Amikor befejeződött, az Azure Container Storage telepítő összetevője telepítve van a fürtre. A CSI-illesztőprogramok telepítése elhalasztva, amíg létre nem hoz egy tárolási osztályt, vagy később nem engedélyezi a tárolótípust. Kövesse a helyi NVMe tárolási osztály vagy rugalmas SAN-tárolóosztály létrehozásához szükséges utasításokat.

Telepítő + tártípus telepítése

Futtassa a következő parancsot az Azure Container Storage meglévő AKS-fürtön való engedélyezéséhez. Cserélje le a <cluster-name> és <resource-group> címkét a saját értékeire, és adja meg, hogy melyik tárolási típust szeretné használni.

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

Ez a parancs telepíti a telepítőt, telepíti az Elastic SAN CSI-illesztőprogramot, és létrehoz egy alapértelmezett tárolási osztályt. Telepítheti és használhatja a helyi NVMe-t és az Elastic SAN-t is vesszővel elválasztott értékekkel, például ephemeralDisk,elasticSan.

  • Terraform előkészítése és hitelesítés az Azure-ban
  • Az erőforráscsoportot és az AKS-fürt konfigurációját határozza meg
  • Győződjön meg arról, hogy a csomópontkészlet virtuális géptípusai megfelelnek a telepítési feltételeknek
  • A Terraform alkalmazása az Azure Container Storage üzembe helyezésére vagy meglévő fürtön való engedélyezésére

Fontos

Ez a cikk az Azure Container Storage-ra (2.x.x-es verzió) vonatkozik. A korábbi verziókról lásd az Azure Container Storage (1.x.x verzió) dokumentációját. Ha már telepítve van az Azure Container Storage (1.x.x verzió) az AKS-fürtön, távolítsa el az alábbi lépések végrehajtásával.

Előfeltételek

  • Ha nincs Azure-előfizetésed, hozz létre egy ingyenes fiókot mielőtt elkezdenéd.

  • Ez a cikk az Azure CLI 2.83.0-s vagy újabb verzióját igényli. További információ: Az Azure CLI telepítése. Tiltsa le a bővítményeket, például aks-preview ha problémák lépnek fel. Szükség szerint telepítse vagy frissítse a bővítményeket:

    • az extension add --upgrade --name k8s-extension
    • az extension add --upgrade --name elastic-san (Csak rugalmas SAN)
  • Szüksége van a Kubernetes parancssori ügyfélre. kubectl Az Azure Cloud Shell használata esetén már telepítve van. A az aks install-cli parancs futtatásával telepítheti helyileg.

  • Ellenőrizze, hogy a célrégió támogatott-e az Azure Container Storage-régiókban.

  • A csomópontkészlet konfigurációjának megtervezése:

    • Használja a Linuxot operációsrendszer-típusként (a Windows nem támogatott).
    • Válasszon ki egy virtuálisgép-termékváltozatot, amely támogatja a helyi NVMe-adatlemezeket, például a tárolóoptimalizált vagy a GPU-gyorsított virtuális gépeket.
    • Meglévő klaszterek esetén az Azure Container Storage engedélyezése előtt győződjön meg arról, hogy a csomópontkészletek már használatban vannak egy támogatott VM SKU-val.
  • Telepítse a Terraform 1.5-ös vagy újabb verzióját, és erősítse meg a telepítést a következővel terraform version: . A Terraform újra felhasználhatja az Azure CLI-hitelesítést.

  • Ha először használja az Elastic SAN-t az előfizetésben, futtassa ezt az egyszeri regisztrációs parancsot:

    az provider register --namespace Microsoft.ElasticSan
    

Előfizetési környezet beállítása

A Terraform több módszerrel is meghatározhatja a cél Azure-előfizetést:

  • subscription_id a szolgáltatói blokkban
  • ARM_SUBSCRIPTION_ID környezeti változó
  • Az Azure CLI alapértelmezett előfizetése
  • Felügyelt identitás (az Azure-ban való futtatáskor)

Helyi használatra állítsa be az Azure CLI-környezetet:

az account set --subscription <subscription-id>

Telepítse az Azure Container Storage-t egy új AKS-fürtre

Fontos

Az Azure Container Storage telepíti a legújabb elérhető verziót, és automatikusan frissíti magát. A manuális verzióválasztás nem támogatott.

  1. Egy üres munkakönyvtárban hozzon létre egy main.tf fájlt az AKS-fürt alábbi minimális konfigurációjával. Frissítse az erőforrásneveket, a helyeket és a virtuálisgép-méreteket a követelményeknek megfelelően.

    terraform {
      required_version = ">= 1.5.0"
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~> 4.0"
        }
      }
    }
    
    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" {
      # NOTE: the `name` parameter must be "acstor" for Azure CLI compatibility
      name           = "acstor"
      cluster_id     = azurerm_kubernetes_cluster.aks.id
      extension_type = "microsoft.azurecontainerstoragev2"
    }
    
  2. Indítsa el a munkakönyvtárat az AzureRM provider letöltéséhez.

    terraform init
    
  3. Tekintse át a tervezett módosításokat.

    terraform plan
    
  4. Alkalmazza a konfigurációt az erőforráscsoport, az AKS-fürt és az Azure Container Storage-bővítmény létrehozásához. Az üzembe helyezés általában 5 percet vesz igénybe.

    terraform apply
    

Amikor befejeződött, az Azure Container Storage telepítő összetevője telepítve van a fürtre. A CSI-illesztőprogram telepítése elhalasztva, amíg létre nem hoz egy tárosztályt. Kövesse a helyi NVMe tárolási osztály vagy rugalmas SAN-tárolóosztály létrehozásához szükséges utasításokat.

A meglévő AKS-fürtre történő Azure Container Storage telepítése

Ha az AKS-fürt már létezik, és a Terraformon kívül kezeli, akkor is engedélyezheti az Azure Container Storage-t azáltal, hogy csak a bővítményerőforrást hozza létre. Adatforrás használatával keresse meg a fürtazonosítót.

terraform {
  required_version = ">= 1.5.0"
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "~> 4.0"
    }
  }
}

provider "azurerm" {
  features {}
}

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

resource "azurerm_kubernetes_cluster_extension" "container_storage" {
  # NOTE: the `name` parameter must be "acstor" for Azure CLI compatibility
  name           = "acstor"
  cluster_id     = data.azurerm_kubernetes_cluster.existing.id
  extension_type = "microsoft.azurecontainerstoragev2"
}

Elsőként futtassa a terraform init parancsot (ha ez egy új munkakönyvtár), majd a terraform apply parancsot a célfürtre az Azure Container Storage telepítéséhez. Az üzembe helyezés általában 5 percet vesz igénybe.

Amikor befejeződött, az Azure Container Storage telepítő összetevője telepítve van a fürtre. A CSI-illesztőprogram telepítése elhalasztva, amíg létre nem hoz egy tárosztályt. Kövesse a helyi NVMe tárolási osztály vagy rugalmas SAN-tárolóosztály létrehozásához szükséges utasításokat.

Telepítés ellenőrzése

A telepítő ellenőrzése (csak telepítő mód)

Miután kizárólag a telepítőt engedélyezte, ellenőrizze, hogy a telepítő jelen van:

kubectl get deploy -n kube-system | grep acstor

Várt kimenet:

acstor-cluster-manager                2/2     2            2           4d9h
acstor-geneva                         2/2     2            2           4d9h

Tárosztály jelenlétének ellenőrzése

Miután létrehozott egy tárolási osztályt, vagy engedélyezte a tárolási típust, ellenőrizze a tárolási osztályt:

kubectl get sc

A kimenet példája:

NAME                    PROVISIONER               RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
azuresan                san.csi.azure.com         Delete          Immediate              false                  4d7h
local                   localdisk.csi.acstor.io   Delete          WaitForFirstConsumer   true                   4d5h

Illesztőprogram telepítésének ellenőrzése

Ellenőrizze a tárolási osztály létrehozása vagy a tárolótípus telepítése után várható összetevőket:

kubectl get pod -n kube-system | grep acstor

A kimenet példája:

pod/acstor-azuresan-csi-driver-jrqd2                       7/7     Running   0               142m
pod/acstor-azuresan-csi-driver-tcdp8                       7/7     Running   0               142m
pod/acstor-cluster-manager-76c67496f9-8ln5d                2/2     Running   0               3h54m
pod/acstor-cluster-manager-76c67496f9-b4c8q                2/2     Running   0               3h54m
pod/acstor-geneva-588bcbcc67-4tr5d                         3/3     Running   0               3h54m
pod/acstor-geneva-588bcbcc67-k7j7k                         3/3     Running   0               3h54m
pod/acstor-node-agent-46v47                                1/1     Running   0               142m
pod/acstor-node-agent-6c99m                                1/1     Running   0               142m
pod/acstor-otel-collector-4lfgz                            1/1     Running   0               142m
pod/acstor-otel-collector-hw9nd                            1/1     Running   0               142m

Hibakeresés

A hibakereséshez figyelje a rendszert a komponensek bevezetésekor:

kubectl get events -n kube-system --watch
kubectl get pod -n kube-system --watch

Vizsgálja meg a telepítő által használt HelmRelease és OCIRepository egyéni erőforrásokat:

kubectl describe helmreleases.helm.installer.acstor.io -n kube-system
kubectl describe ocirepositories.source.installer.acstor.io -n kube-system

Következő lépések