Öğretici: Azure Kubernetes Service ile kullanmak üzere Azure Container Storage'ı (sürüm 1.x.x) yükleme

Azure Container Storage, kapsayıcılar için yerel olarak oluşturulmuş bulut tabanlı bir birim yönetimi, dağıtımı ve düzenleme hizmetidir. Bu öğreticide bir Azure Kubernetes Service (AKS) kümesi oluşturacak ve kümeye Azure Container Storage (sürüm 1.x.x) yükleyebilirsiniz. Zaten dağıtılmış bir AKS kümeniz varsa, bu öğreticideki el ile uygulanan adımları yerine bu Hızlı Başlangıç'ı kullanarak Azure Container Storage'ı (sürüm 1.x.x) yüklemenizi öneririz.

Önemli

Bu makalede, artık açıkça yükleme için bir sürüm sabitleme parametresi --container-storage-version 1 gerektiren Azure Container Storage'ın (sürüm 1.x.x) nasıl yükleneceği açıklanmaktadır. Azure Container Storage (sürüm 2.x.x) kullanıma sunuldu.

  • Bir kaynak grubu oluşturun
  • Veri depolama seçeneği ve VM türü belirleme
  • AKS kümesi oluşturma
  • Kümeye bağlanma
  • Düğüm havuzunu etiketle
  • AKS yönetilen kimliğine Azure Container Storage İşleci rolü atama
  • Azure Container Storage'ı yükleme (sürüm 1.x.x)

Ö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-preview gibi 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. kubectl Azure Cloud Shell kullanıyorsanız zaten yüklüdür. komutunu çalıştırarak az aks install-cli yerel olarak yükleyebilirsiniz.

  • Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.

  • Düğüm havuzu yapılandırmanızı nasıl planlayacağınızı öğrenin.
    • İş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.

Başlangıç Yapmak

  • Azure abonelik kimliğinizi not alın. Azure Elastik SAN'yı veri depolama alanı olarak kullanmak istiyorsanız, Azure aboneliğine atanmış bir Azure Kapsayıcı Depolama Sahibi rolüne veya Azure Container Storage Katkıda Bulunanı rolüne ihtiyacınız vardır. Sahip düzeyinde erişim, Azure Container Storage uzantısını yüklemenize olanak tanır, depolama kaynaklarına erişim verir ve Azure Elastik SAN kaynağınızı yapılandırmanıza izin verir. Katkıda bulunan düzeyinde erişim, uzantıyı yüklemenize olanak tanır ve depolama kaynaklarına erişim verir. Azure Diskleri veya Kısa Ömürlü Disk'i veri depolama alanı olarak kullanmayı planlıyorsanız aboneliğinizde özel izinlere ihtiyacınız yoktur.

  • Azure Cloud Shell'i başlatın veya yerel bir yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI'da oturum açın .

  • Azure Cloud Shell kullanıyorsanız depolamayı bağlamanız istenebilir. Depolama hesabını oluşturmak istediğiniz Azure aboneliğini seçin ve Oluştur'u seçin.

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 table erişiminiz olan tüm aboneliklerin abonelik kimliklerini görüntüleyebilirsiniz. <subscription-id>'yı abonelik kimliğinizle değiştirmeyi unutmayın.

az account set --subscription <subscription-id>

Bir kaynak grubu oluşturun

Azure kaynak grubu, grup olarak yönetmek istediğiniz Azure kaynaklarınızı barındıran mantıksal bir grupdur. Bir kaynak grubu oluşturduğunuzda, bir konum belirtmeniz istenir. Bu konum:

  • Kaynak grubu meta verilerinizin depolama konumu.
  • Kaynak oluşturma sırasında başka bir bölge belirtmezseniz kaynaklarınızın Azure'da çalıştığı yer.

az group create komutunu kullanarak bir kaynak grubu oluşturun. yerine <resource-group-name> oluşturmak istediğiniz kaynak grubunun adını yazın ve öğesini <location> veya westeurope gibi bir Azure bölgesiyle değiştirin.

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

Kaynak grubu başarıyla oluşturulduysa şuna benzer bir çıkış görürsünüz:

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

Veri depolama seçeneğini ve sanal makine türünü belirleme

Kümenizi oluşturmadan önce, depolama havuzunuz için hangi arka uç depolama seçeneğini istediğinize karar verin. Farklı depolama hizmetleri, küme düğümü olarak farklı sanal makine (VM) türleriyle en iyi şekilde çalışır ve kümeyi depolama havuzundan önce oluşturursunuz.

Veri depolama seçenekleri

  • Azure Elastik SAN: Azure Elastic SAN, genel amaçlı veritabanları, akış ve mesajlaşma hizmetleri, CD/CI ortamları ve diğer katman 1/katman 2 iş yükleri için uygundur. Depolama, oluşturulan her birim ve birim anlık görüntüsü için talep üzerine sağlanır. Birden çok küme aynı anda tek bir SAN'a erişebilir, ancak kalıcı birimler aynı anda yalnızca bir tüketici tarafından eklenebilir.

  • Azure Diskler: Azure Diskler MySQL, MongoDB ve PostgreSQL gibi veritabanları için uygundur. Depolama, hedef kapsayıcı depolama kapasitesi ve maksimum birim boyutu üzerinden ayarlanır.

  • Kısa Ömürlü Disk: Bu seçenek AKS düğümlerinde yerel NVMe veya geçici SSD sürücüleri kullanır ve alt ms gecikme süresine sahiptir, bu nedenle veri dayanıklılığı gerektirmeyen veya Cassandra gibi veri çoğaltması içeren uygulamalar için en iyisidir. AKS, AKS düğümlerinde bulunan geçici depolamayı keşfeder ve birim dağıtımı için sürücüleri kullanır.

Kaynak kullanımı

Azure Container Storage, hizmetin bileşenlerini çalıştırmak için belirli düğüm kaynaklarını gerektirir. Azure Container Storage'ı yüklerken belirttiğiniz depolama havuzu türü seçiminize bağlı olarak, tüketilen kaynaklar şunlardır:

Depolama havuzu türü CPU çekirdekleri RAM
Azure Elastik SAN  Hiç kimse Hiç kimse
Azure Diskleri 1 1 GiB
Kısa Ömürlü Disk - Geçici SSD 1 1 GiB
Kısa Ömürlü Disk - Yerel NVMe (standart katman) 25% çekirdek (performans katmanı güncelleştirilebilir)* 1 GiB

Tüketilen kaynaklar düğüm başınadır ve Azure Container Storage'ın yüklü olduğu düğüm havuzundaki her düğüme uygulanır. Düğümleriniz yeterli kaynağa sahip değilse Azure Container Storage çalıştırılamaz. Kubernetes bu podları otomatik olarak yeniden dener, bu nedenle kaynaklar serbest kaldığında podlar yeniden başlatılır.

Kısa Ömürlü Disk - Yerel NVMe depolama havuzu türünde, standart (varsayılan) performans katmanı kullanılıyorsa ve küme düğümleriniz için birden fazla VM SKU türü kullanıyorsanız, tüketilen CPU çekirdeklerinin %25'i en küçük SKU için geçerlidir. Örneğin, 8 çekirdekli ve 16 çekirdekli VM türlerinin bir karışımını kullanıyorsanız, kaynak tüketimi 2 çekirdektir. Daha fazla çekirdek yüzdesi kullanmak ve daha büyük IOPS elde etmek için performans katmanını güncelleştirebilirsiniz .

Kümeniz için VM türünün aşağıdaki ölçütleri karşıladığından emin olun

Azure Container Storage'ı kullanmak için en az üç Linux VM'lerinden oluşan bir düğüm havuzuna ihtiyacınız vardır. Her SANAL makinenin en az dört sanal CPU'su (vCPU) olmalıdır. Azure Container Storage, uzantının dağıtılacağı her VM'de G/Ç işlemi için bir çekirdek tüketir.

Küme düğümleri için bir VM türü seçerken bu yönergeleri izleyin. Azure premium depolamayı destekleyen bir VM türü seçmelisiniz.

Yeni bir AKS kümesi oluşturma ve Azure Container Storage'ı yükleme

Zaten dağıtılmış bir AKS kümeniz varsa , bu Hızlı Başlangıç'taki yükleme yönergelerini izleyin.

Yeni bir AKS kümesi oluşturmak, Azure Container Storage'ı yüklemek ve bir depolama havuzu oluşturmak 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. <storage-pool-type> ile azureDisk, ephemeralDisk veya elasticSan değiştirin. ephemeralDisk öğesini seçerseniz, --storage-pool-option değerini de belirtmeniz gerekir ve değerler NVMe veya Temp olabilir.

Bu komutu çalıştırmak, üç Linux VM ile sistem düğümü havuzunda* Azure Container Storage'ı etkinleştirir. Depolama havuzu türünüz için yerel NVMe belirtiyorsanız düğüm sayısını 4 veya daha büyük olarak ayarladığınızdan emin olun; aksi takdirde komut çalıştırılamaz.

Varsayılan olarak, sistem düğümü havuzu olarak adlandırılır nodepool1. Azure Container Storage'ı diğer düğüm havuzlarında etkinleştirmek istiyorsanız bkz. Azure Container Storage'ı belirli düğüm havuzlarına yükleme. Bu komutla daha fazla depolama havuzu parametresi belirtmek istiyorsanız bu tabloya bakın.

Etiketi olan acstor.azure.com/io-engine:acstor mevcut düğüm havuzları varsa, Azure Container Storage veri düzlemi bileşenlerini varsayılan olarak oraya yükler. Aksi takdirde, tercih edilen düğüm havuzunu acstor Azure CLI üzerinden geçirebilirsiniz. Kümede yalnızca sistem düğümü havuzu varsa, varsayılan olarak Azure Container Storage için etiketlenir ve kullanılır. Yalnızca veri düzlemi bileşenleri etiketlenmiş düğüm havuzuyla sınırlıdır. Azure Container Storage'ın denetim düzlemi bileşenleri etiketlenmiş düğümlerle sınırlı değildir ve sistem düğümü havuzunda da çalıştırılabilir.

Önemli

Azure Elastic SAN ile çok bölgeli aks kümesi kullanıyorsanız: Alanlar arası yedekli depolama (ZRS) Elastik SAN kullanmanız gerekir. Elastik SAN depolama havuzu için varsayılan değer yerel olarak yedekli depolamadır (LRS). Elastik SAN için ZRS'yi etkinleştirmek üzere, depolama havuzu türü olarak elasticSan kullanın ve --storage-pool-sku Premium_ZRS bayrağını aşağıdaki CLI komutuna ekleyin.

az aks create -n <cluster-name> -g <resource-group> --node-vm-size Standard_D4s_v3 --node-count 3 --enable-azure-container-storage <storage-pool-type> --container-storage-version 1 --generate-ssh-keys

Dağıtım 10-15 dakika sürer. Tamamlandığında, Azure Container Storage'ın yüklü olduğu bir AKS kümeniz, seçtiğiniz depolama havuzu türünün bileşenleri etkin ve varsayılan bir depolama havuzuna sahip olursunuz. Daha fazla depolama havuzu oluşturmak için daha fazla depolama havuzu türünü etkinleştirmek istiyorsanız bkz. Daha fazla depolama havuzu türünü etkinleştirme.

Önemli

Depolama havuzunuz için yedekleme depolama alanı olarak Azure Elastik SAN belirttiyseniz ve Azure aboneliğine Azure Container Storage Sahip rolü veya Azure Container Storage Katkıda Bulunan rolü atanmamışsa, Azure Container Storage yüklemesi başarısız olur ve depolama havuzu oluşturulmaz.

Önemli

Depolama havuzunuz için yedekleme depolama alanı olarak Azure Elastik SAN belirttiyseniz ve Azure aboneliğine Azure Container Storage Sahip rolü veya Azure Container Storage Katkıda Bulunan rolü atanmamışsa, Azure Container Storage yüklemesi başarısız olur ve depolama havuzu oluşturulmaz. Azure Elastic SAN'ı bu rollerden herhangi biri olmadan başka bir depolama havuzu türü olarak etkinleştirmeye çalışırsanız, önceki yükleme ve depolama havuzlarınız etkilenmez ve Elastik SAN depolama havuzu oluşturulmaz.

Kullanılabilir depolama havuzlarını görüntüleme

Kullanılabilir depolama havuzlarının listesini almak için aşağıdaki komutu çalıştırın:

kubectl get sp -n acstor

Depolama havuzunun durumunu denetlemek için aşağıdaki komutu çalıştırın:

kubectl describe sp <storage-pool-name> -n acstor

Message ifadesi StoragePool is ready yazmıyorsa, depolama havuzunuz hâlâ oluşturuluyor ya da bir sorunla karşılaşıyor demektir. Bkz. Azure Container Storage sorunlarını giderme.

Sonraki adım

Seçtiğiniz yedekleme depolama türü bağlantısını seçin ve birim oluşturma yönergelerini izleyin.