Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Container Storage , kapsayıcılar için oluşturulmuş bulut tabanlı bir birim yönetimi, dağıtımı ve düzenleme hizmetidir. İster yeni bir küme oluşturun ister hizmeti mevcut bir kümede etkinleştirin, Azure Kubernetes Service (AKS) kümesine Azure Container Storage'ın en son üretim sürümünü yüklemek için bu öğreticiyi kullanın.
Bu makalede desteklenen iki akışı (yalnızca yükleyici veya yükleyici + depolama türü) kullanarak Azure Container Storage'ın nasıl yükleneceği, sürücü yükleme işleminin nasıl tetiklendiği ve dağıtımınızın nasıl doğrulanıp sorun giderilme adımları açıklanmaktadır. Azure Container Storage, Kapsayıcı Depolama Arabirimi'ni (CSI) uygulayan sürücüleri yükler.
Azure Container Storage'ın açık kaynak sürümünü tercih ediyorsanız alternatif yükleme yönergeleri için local-csi-driver deposuna bakın.
Bu eğitimin sonunda şunları yapabilirsiniz:
- Azure CLI ortamınızı hazırlama
- Kümeniz için kaynak grubu oluşturma veya seçme
- Düğüm havuzu sanal makine türlerinizin yükleme ölçütlerine uygun olduğunu onaylayın
- Yeni bir AKS kümesi oluşturarak veya mevcut bir kümede etkinleştirerek Azure Container Storage'ı yükleme
Önemli
Bu makale Azure Container Storage (sürüm 2.x.x) için geçerlidir. Önceki sürümler için Bkz. Azure Container Storage (sürüm 1.x.x) belgeleri. AKS kümenizde Zaten Azure Container Storage (sürüm 1.x.x) yüklüyse , aşağıdaki adımları izleyerek kaldırın.
Önkoşullar
Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
Bu makale, Azure CLI sürüm v2.83.0 veya üzerini gerektirir. Daha fazla bilgi için bkz. Azure CLI'yi yükleme. Sorunlar oluşursa
aks-previewgibi uzantıları devre dışı bırakın. Uzantıları gerektiği gibi yükleyin veya güncelleştirin:az extension add --upgrade --name k8s-extension-
az extension add --upgrade --name elastic-san(Yalnızca elastik SAN)
Kubernetes komut satırı istemcisine ihtiyacınız vardır.
kubectlAzure Cloud Shell kullanıyorsanız zaten yüklüdür. komutunu çalıştırarakaz aks install-cliyerel olarak yükleyebilirsiniz.Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.
Düğüm havuzu yapılandırmanızı planlama:
- İşletim sistemi türü olarak Linux kullanın (Windows desteklenmez).
- Depolama için iyileştirilmiş veya GPU hızlandırılmış VM'ler gibi yerel NVMe depolama türünü kullanmayı planlıyorsanız yerel NVMe veri disklerini destekleyen bir sanal makine (VM) SKU'su seçin.
- Mevcut kümeler için, Azure Container Storage'ı etkinleştirmeden önce düğüm havuzlarının desteklenen bir VM SKU'su kullandığına emin olun.
Elastik SAN'ı abonelikte ilk kez kullanıyorsanız şu tek seferlik kayıt komutunu çalıştırın:
az provider register --namespace Microsoft.ElasticSan
Abonelik bağlamı ayarlama
komutunu kullanarak az account set Azure aboneliği bağlamınızı ayarlayın. komutunu çalıştırarak az account list --output tableabonelik kimliklerini görüntüleyebilirsiniz. "<subscription-id>'yi abonelik kimliğiniz ile değiştirin."
az account set --subscription <subscription-id>
Kaynak grubu oluşturma
Azure kaynak grubu, kaynaklar için mantıksal bir kapsayıcıdır. Kaynak grubu oluşturduğunuzda bir konum belirtirsiniz. Bu konum kaynak grubu meta verilerini depolar ve açık bölge olmadan oluşturduğunuz kaynaklar için varsayılan bölge olarak görev görür.
kullanarak az group createbir kaynak grubu oluşturun.
<resource-group-name> öğesini kaynak grubunuzun adıyla ve <location>, eastus, westus2 veya westus3 gibi bir Azure bölgesiyle değiştirin. Mevcut bir AKS kümesinde Azure Container Storage'ı etkinleştirirseniz, kümeyi zaten barındıran kaynak grubunu kullanın.
az group create --name <resource-group-name> --location <location>
Kaynak grubu başarıyla oluşturulursa, şu örneğe benzer bir çıktı görürsünüz:
{
"id": "/subscriptions/<guid>/resourceGroups/myContainerStorageRG",
"location": "eastus",
"managedBy": null,
"name": "myContainerStorageRG",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null
}
Azure Container Storage'ı yeni bir AKS kümesine yükleme
Ortamınızla eşleşen senaryoyu seçin.
Önemli
Azure Container Storage varsayılan olarak en son ana sürümü yükler.
--container-storage-version ile bir ana sürümü sabitleyebilirsiniz. Küçük veya yama sürümlerini sabitleyemezsiniz.
Sadece yükleyici kurulumu
Yeni bir AKS kümesi oluşturmak ve Azure Container Storage'ı yüklemek için aşağıdaki komutu çalıştırın. ve <cluster-name> değerlerini kendi değerlerinizle değiştirin <resource-group> ve kullanmak istediğiniz VM türünü belirtin.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage --generate-ssh-keys
Dağıtım 5 dakika kadar sürebilir. Bir depolama sınıfı oluşturana veya depolama türünü daha sonra etkinleştirene kadar CSI sürücü yüklemesi ertelenebilir.
Yerel NVMe depolama sınıfı veya Elastik SAN depolama sınıfı oluşturma yönergelerini izleyin.
Yükleyici + depolama türü yükleme
Yeni bir AKS kümesi oluşturmak ve Azure Container Storage'ı yüklemek için aşağıdaki komutu çalıştırın. ve <cluster-name> değerlerini kendi değerlerinizle değiştirin <resource-group> ve kullanmak istediğiniz VM türünü belirtin.
az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_L8s_v3 --enable-azure-container-storage ephemeralDisk --generate-ssh-keys
Bu komut yükleyiciyi yükler, yerel NVMe CSI sürücüsünü dağıtır ve adlı local-csivarsayılan bir depolama sınıfı oluşturur. gibi ephemeralDisk elasticSanbir liste sağlayarak hem yerel NVMe hem de Elastic SAN yükleyebilir ve kullanabilirsiniz.
Azure Container Storage'ı var olan bir AKS kümesine yükleme
Sadece yükleyici kurulumu
Mevcut aks kümesinde Azure Container Storage'ı etkinleştirmek için aşağıdaki komutu çalıştırın. ve <cluster-name> değerlerini kendi değerlerinizle değiştirin<resource-group>.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage
Dağıtım 5 dakika kadar sürebilir. Tamamlandığında, kümede Azure Container Storage yükleyici bileşeni yüklü olur. Bir depolama sınıfı oluşturana veya depolama türünü daha sonra etkinleştirene kadar CSI sürücü yüklemesi ertelenebilir. Yerel NVMe depolama sınıfı veya Elastik SAN depolama sınıfı oluşturma yönergelerini izleyin.
Yükleyici + depolama türü yükleme
Mevcut aks kümesinde Azure Container Storage'ı etkinleştirmek için aşağıdaki komutu çalıştırın. ve <cluster-name> değerlerini kendi değerlerinizle değiştirin <resource-group> ve kullanmak istediğiniz depolama türünü belirtin.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage elasticSan
Bu komut yükleyiciyi yükler, Elastik SAN CSI sürücüsünü dağıtır ve adlı azuresan-csivarsayılan bir depolama sınıfı oluşturur. gibi ephemeralDisk elasticSanbir liste sağlayarak hem yerel NVMe hem de Elastic SAN yükleyebilir ve kullanabilirsiniz.
- Terraform'ı hazırlama ve Azure'da kimlik doğrulaması
- Kaynak grubunuzu ve AKS kümesi yapılandırmanızı tanımlama
- Düğüm havuzu sanal makine türlerinizin yükleme ölçütlerine uygun olduğunu onaylayın
- Azure Container Storage dağıtımını yapmak veya mevcut bir kümede etkinleştirmek amacıyla Terraform'ı uygula.
Önemli
Bu makale Azure Container Storage (sürüm 2.x.x) için geçerlidir. Önceki sürümler için Bkz. Azure Container Storage (sürüm 1.x.x) belgeleri. AKS kümenizde Zaten Azure Container Storage (sürüm 1.x.x) yüklüyse , aşağıdaki adımları izleyerek kaldırın.
Önkoşullar
Eğer bir Azure aboneliğiniz yoksa, başlamadan önce ücretsiz bir hesap oluşturun.
Bu makale, Azure CLI sürüm v2.83.0 veya üzerini gerektirir. Daha fazla bilgi için bkz. Azure CLI'yi yükleme. Sorunlar oluşursa
aks-previewgibi uzantıları devre dışı bırakın. Uzantıları gerektiği gibi yükleyin veya güncelleştirin:az extension add --upgrade --name k8s-extension-
az extension add --upgrade --name elastic-san(Yalnızca elastik SAN)
Kubernetes komut satırı istemcisine ihtiyacınız vardır.
kubectlAzure Cloud Shell kullanıyorsanız zaten yüklüdür. komutunu çalıştırarakaz aks install-cliyerel olarak yükleyebilirsiniz.Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.
Düğüm havuzu yapılandırmanızı planlama:
- İşletim sistemi türü olarak Linux kullanın (Windows desteklenmez).
- Depolama için iyileştirilmiş veya GPU hızlandırmalı VM'ler gibi yerel NVMe veri disklerini destekleyen bir sanal makine (VM) SKU'su seçin.
- Mevcut kümeler için, Azure Container Storage'ı etkinleştirmeden önce düğüm havuzlarının desteklenen bir VM SKU'su kullandığına emin olun.
Terraform sürüm 1.5 veya üzerini yükleyin ve ile
terraform versionyüklemeyi onaylayın. Terraform, Azure CLI kimlik doğrulamanızı yeniden kullanabilir.Elastik SAN'ı abonelikte ilk kez kullanıyorsanız şu tek seferlik kayıt komutunu çalıştırın:
az provider register --namespace Microsoft.ElasticSan
Abonelik bağlamı ayarlama
Terraform, birden çok yöntemle hedef Azure aboneliğini belirleyebilir:
-
subscription_idsağlayıcı bloğunda -
ARM_SUBSCRIPTION_IDortam değişkeni - Azure CLI varsayılan aboneliği
- Yönetilen kimlik (Azure'da çalışırken)
Yerel kullanım için Azure CLI bağlamını ayarlayın:
az account set --subscription <subscription-id>
Terraform ile abonelikte ilk kez dağıtım yaparsanız şu tek seferlik kayıt komutunu çalıştırın:
az provider register --namespace Microsoft.KubernetesConfiguration
# Wait for registration to complete (can take a few minutes)
az provider show --namespace Microsoft.KubernetesConfiguration --query "registrationState" -o tsv
Azure Container Storage'ı yeni bir AKS kümesine yükleme
Önemli
Azure Container Storage, kullanılabilir en son sürümü yükler ve kendisini otomatik olarak güncelleştirir. El ile sürüm seçimi desteklenmez.
Boş bir çalışma dizininde, AKS kümesinin aşağıdaki minimum yapılandırmasına sahip bir dosya oluşturun
main.tf. Gereksinimlerinizi karşılamak için kaynak adlarını, konumları ve VM boyutlarını güncelleştirin.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" }AzureRM sağlayıcısını indirmek için çalışma dizinini başlatın.
terraform initPlanlanan değişiklikleri gözden geçirin.
terraform planKaynak grubunu, AKS kümesini ve Azure Container Storage uzantısını oluşturmak için yapılandırmayı uygulayın. Dağıtım genellikle 5 dakika sürer.
terraform apply
Tamamlandığında, kümede Azure Container Storage yükleyici bileşeni yüklü olur. Siz bir depolama sınıfı oluşturana kadar CSI sürücüsü yüklemesi ertelenebilir. Yerel NVMe depolama sınıfı veya Elastik SAN depolama sınıfı oluşturma yönergelerini izleyin.
Azure Container Storage'ı var olan bir AKS kümesine yükleme
AKS kümeniz zaten varsa ve bunu Terraform dışında yönetiyorsanız, yalnızca uzantı kaynağını yazarak Azure Container Storage'ı etkinleştirmeye devam edebilirsiniz. Küme kimliğini aramak için bir veri kaynağı kullanın.
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"
}
Hedeflenen kümeye Azure Container Storage'ı yüklemek için, terraform init komutunu (eğer bu yeni bir çalışma diziniyse) ve ardından terraform apply komutunu çalıştırın. Dağıtım genellikle 5 dakika sürer.
Tamamlandığında, kümede Azure Container Storage yükleyici bileşeni yüklü olur. Siz bir depolama sınıfı oluşturana kadar CSI sürücüsü yüklemesi ertelenebilir. Yerel NVMe depolama sınıfı veya Elastik SAN depolama sınıfı oluşturma yönergelerini izleyin.
Yüklemeyi doğrulama
AKS kümesine bağlanma
Doğrulama komutlarını çalıştırmadan önce yerel kubeconfig'inizin hedef kümeye ayarlandığından emin olun:
az aks get-credentials --resource-group <resource-group-name> --name <cluster-name>
Birden çok kümeyi yönetiyorsanız, var olan bağlamı değiştirmek için ekleyin --overwrite-existing veya benzersiz bir bağlam adı ayarlamak için kullanın --context .
Yükleyiciyi doğrulama (yalnızca yükleyici modu)
Yalnızca yükleyiciyi etkinleştirdikten sonra yükleyicinin mevcut olduğunu doğrulayın:
kubectl get deploy -n kube-system | grep acstor
Beklenen çıkış:
acstor-cluster-manager 2/2 2 2 4d9h
acstor-geneva 2/2 2 2 4d9h
Depolama sınıfı varlığını doğrulama
Depolama sınıfı oluşturduktan veya depolama türünü etkinleştirdikten sonra depolama sınıfını doğrulayın:
kubectl get sc
Örnek çıkış:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
azuresan-csi san.csi.azure.com Delete Immediate false 4d7h
local-csi localdisk.csi.acstor.io Delete WaitForFirstConsumer true 4d5h
Sürücü yüklemesini doğrulama
Depolama sınıfı oluşturma veya depolama türü yükleme işleminden sonra beklenen bileşenleri doğrulayın:
kubectl get pod -n kube-system | grep acstor
Örnek çıkış:
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
Hata ayıklama
Hata ayıklama sürecinde, bileşenler devreye alınırken sistemi izleyin.
kubectl get events -n kube-system --watch
kubectl get pod -n kube-system --watch
Yükleyici tarafından kullanılan HelmRelease ve OCIRepository özel kaynaklarını inceleyin:
kubectl describe helmreleases.helm.installer.acstor.io -n kube-system
kubectl describe ocirepositories.source.installer.acstor.io -n kube-system