Hızlı Başlangıç: Azure Kubernetes Service ile Azure Container Storage kullanma
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 Hızlı Başlangıçta Linux tabanlı bir Azure Kubernetes Service (AKS) kümesine bağlanma, Azure Container Storage yükleme ve Azure CLI kullanarak depolama havuzu oluşturma adımları gösterilmektedir.
Önemli
Azure Container Storage artık 1.1.0 sürümünden itibaren genel kullanıma sunuldu (GA). Üretim iş yükleri için GA sürümü önerilir.
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Bu makale, Azure CLI'nın en son sürümünü (2.35.0 veya üzeri) gerektirir. Bkz. Azure CLI'yi yükleme. Azure Cloud Shell'de Bash ortamını kullanıyorsanız en son sürüm zaten yüklüdür. Komutları Azure Cloud Shell yerine yerel olarak çalıştırmayı planlıyorsanız, bunları yönetici ayrıcalıklarıyla çalıştırdığınızdan emin olun. Daha fazla bilgi için bkz . Azure Cloud Shell'i kullanmaya başlama.
Kubernetes komut satırı istemcisine ihtiyacınız olacaktır.
kubectl
Azure Cloud Shell kullanıyorsanız zaten yüklüdür veya komutunu çalıştırarakaz aks install-cli
yerel olarak yükleyebilirsiniz.Hedef bölgenizin Azure Container Storage bölgelerinde desteklenip desteklenmediğini denetleyin.
Henüz bir AKS kümesi oluşturmadıysanız AKS Kümesi Yükleme yönergelerini izleyin.
Başlarken
Azure abonelik kimliğinizi not alın. Azure Elastic SAN'ı 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 sahip olmanız gerekir. 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'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.
Gerekli uzantıyı yükleme
Aşağıdaki komutu çalıştırarak öğesinin k8s-extension
en son sürümüne ekleyin veya sürümüne yükseltin.
az extension add --upgrade --name k8s-extension
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. yerine <subscription-id>
abonelik kimliğinizi değiştirmeyi unutmayın.
az account set --subscription <subscription-id>
Kümeye bağlanma
Kümeye bağlanmak için Kubernetes komut satırı istemcisini kubectl
kullanın. Azure Cloud Shell kullanıyorsanız zaten yüklüdür veya komutunu çalıştırarak az aks install-cli
yerel olarak yükleyebilirsiniz.
komutunu kullanarak kümenize bağlanacak şekilde
az aks get-credentials
yapılandırınkubectl
. Aşağıdaki komut:- Kimlik bilgilerini indirir ve Kubernetes CLI'sini bunları kullanacak şekilde yapılandırılır.
- Kubernetes yapılandırma dosyası için varsayılan konumu kullanır
~/.kube/config
. --file bağımsız değişkenini kullanarak Kubernetes yapılandırma dosyanız için farklı bir konum belirtebilirsiniz.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
komutunu kullanarak
kubectl get
kümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür.kubectl get nodes
Aşağıdaki çıkış örneği, kümenizdeki düğümleri gösterir. Tüm düğümlerin durumunun Hazır olduğundan emin olun:
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
Düğüm havuzunuzun adını not alın. Bu örnekte nodepool1 olacaktır.
Depolama havuzunuz için bir veri depolama seçeneği belirleme
Azure Container Storage'ı dağıtmadan önce, depolama havuzunuzu ve birimlerinizi oluşturmak için hangi arka uç depolama seçeneğini kullanmak istediğinize karar vermeniz gerekir. Şu anda üç seçenek mevcuttur:
Azure Elastik SAN: Azure Elastic SAN genel amaçlı veritabanları, akış ve mesajlaşma hizmetleri, CI/CD ortamları ve diğer katman 1/katman 2 iş yükleri için uygundur. Depolama, oluşturulan birim ve birim anlık görüntüsü başına isteğe bağlı olarak 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 havuzu boyutu ve maksimum birim boyutu başına sağlanır.
Kısa Ömürlü Disk: Bu seçenek AKS kümesi düğümlerinde yerel NVMe sürücülerini veya geçici SSD'yi kullanır. Son derece gecikme süresine duyarlıdır (düşük alt ms gecikme süresi), bu nedenle veri dayanıklılığı gereksinimi olmayan veya Cassandra gibi yerleşik veri çoğaltma desteği olan uygulamalar için en iyisidir. AKS, AKS düğümlerinde kullanılabilir kısa ömürlü depolamayı bulur ve birim dağıtımı için sürücüleri alır.
Not
Azure Elastik SAN ve Azure Diskleri için Azure Container Storage, yüklemenin bir parçası olarak yedekleme depolama alanını sizin için dağıtır. Kendi Elastik SAN veya Azure Disk'inizi oluşturmanız gerekmez. Elastik SAN'yı kullanmak için Azure aboneliğinde bir Azure Kapsayıcı Depolama Sahibi rolüne veya Azure Container Storage Katkıda Bulunanı rolüne sahip olmanız gerekir.
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 belirteceğiniz depolama havuzu türü seçiminize bağlı olarak, tüketilecek kaynaklar şunlardır:
Depolama havuzu türü | CPU çekirdekleri | KOÇ |
---|---|---|
Azure Elastic SAN | Hiçbiri | Hiçbiri |
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) | Çekirdeklerin %25'i (performans katmanı güncelleştirilebilir)* | 1 GiB |
Tüketilen kaynaklar düğüm başınadır ve Azure Container Storage'ın yükleneceği düğüm havuzundaki her düğüm için kullanılır. Düğümleriniz yeterli kaynağa sahip değilse Azure Container Storage çalıştırılamaz. Kubernetes bu başarısız podları otomatik olarak yeniden başlatmayı dener, bu nedenle kaynaklar kurtarılırsa bu podlar yeniden başlatılabilir.
*Kısa Ömürlü Disk - Standart (varsayılan) performans katmanına sahip yerel NVMe depolama havuzu türünde küme düğümleriniz için birden çok VM SKU türü kullanıyorsanız, tüketilen CPU çekirdeklerinin %25'i kullanılan 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şleme 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.
- Depolamayı yedeklemek için Azure Elastik SAN veya Azure Diskleri kullanmayı planlıyorsanız, standard_d4s_v5 gibi genel amaçlı bir VM türü seçin.
- Kısa Ömürlü Diski yerel NVMe ile kullanmayı planlıyorsanız, yerel NVMe veri disklerini destekleyen bir VM SKU'su seçin; örneğin, Depolama için iyileştirilmiş VM SKU'ları veya GPU hızlandırılmış VM SKU'ları.
- Geçici SSD ile Kısa Ömürlü Disk kullanmayı planlıyorsanız, Ev3 ve Esv3 serisi gibi geçici SSD diski olan bir VM seçin.
AKS kümenize Azure Container Storage'ı yükleme
Yükleme komutu, AKS kümenizde çalışan bir Azure Container Storage önizleme örneğine sahip olmanıza veya Azure Container Storage'ı kümeye ilk kez yükleyip yüklemediğinize bağlı olarak farklıdır.
Önizleme yüklemesini GA'ya yükseltme
Kümenizde çalışan bir Azure Container Storage önizleme örneğiniz zaten varsa, aşağıdaki komutu çalıştırarak genel kullanıma açık en son (GA) sürüme güncelleştirmenizi öneririz. Azure Container Storage'ı kümeye ilk kez yüklüyorsanız Azure Container Storage'ı yükleme ve depolama havuzu oluşturma bölümüne geçin. Azure Container Storage'ı belirli düğüm havuzlarına da yükleyebilirsiniz.
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster-name> --resource-group <resource-group> --name azurecontainerstorage --version 1.1.0 --auto-upgrade false --release-train stable
ve <resource-group>
değerlerini kendi değerlerinizle değiştirmeyi <cluster-name>
unutmayın.
Azure Container Storage'ı yükleme ve depolama havuzu oluşturma
Yüklemeden önce AKS kümenizin VM gereksinimlerini karşıladığından emin olun.
Azure Container Storage'ı kümeye yüklemek ve bir depolama havuzu oluşturmak için aşağıdaki komutu çalıştırın. ve <resource-group>
değerlerini kendi değerlerinizle değiştirin<cluster-name>
. değerini , veya ephemeralDisk
elasticSan
ile azureDisk
değiştirin<storage-pool-type>
. öğesini seçersenizephemeralDisk
, değerini de belirtebilirsiniz --storage-pool-option
ve değerler veya Temp
olabilirNVMe
.
Bu komutu çalıştırmak, varsayılan olarak *olarak adlandırılan nodepool1
sistem düğümü havuzunda Azure Container Storage'ı etkinleştirir. Diğer düğüm havuzlarında etkinleştirmek istiyorsanız bkz . Azure Container Storage'ı belirli düğüm havuzlarına yükleme. Ek parametreler belirtmek istiyorsanız bkz . Azure Container Storage depolama havuzu parametreleri.
*Etiketi olan acstor.azure.com/io-engine:acstor
mevcut düğüm havuzları varsa Azure Container Storage varsayılan olarak oraya yüklenir. Aksi takdirde, sistem düğümü havuzuna yüklenir.
Önemli
AKS kümenizi Azure portalını kullanarak oluşturduysanız: Kümenin büyük olasılıkla bir kullanıcı düğümü havuzu ve bir sistem/aracı düğümü havuzu olacaktır. Bununla birlikte, kümeniz yalnızca Azure portalıyla oluşturulan test/geliştirme kümeleriyle ilgili bir sistem düğümü havuzundan oluşuyorsa, önce yeni bir kullanıcı düğümü havuzu eklemeniz ve sonra bunu etiketlemeniz gerekir. Bunun nedeni, Azure portalını kullanarak bir AKS kümesi oluşturduğunuzda, sistem düğümü havuzuna Azure Container Storage'ın yüklenmesini engelleyen bir taint'in CriticalAddOnsOnly
sistem/aracı düğümü havuzuna eklenmesidir. Azure CLI kullanılarak bir AKS kümesi oluşturulduğunda bu renk tonu eklenmez.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
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ü için bileşenler etkin ve varsayılan bir depolama havuzuna sahip olursunuz. Ek depolama havuzları oluşturmak için ek depolama havuzu türlerini etkinleştirmek istiyorsanız bkz . Ek depolama havuzu türlerini 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. Azure Elastic SAN'ı bu rollerden herhangi biri olmadan ek 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.
Azure Container Storage'ı belirli düğüm havuzlarına yükleme
Azure Container Storage'ı belirli düğüm havuzlarına yüklemek istiyorsanız bu yönergeleri izleyin. Düğüm havuzları en az üç Linux VM içermelidir.
Kullanılabilir düğüm havuzlarının listesini görüntülemek 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 nodepool list --resource-group <resource-group> --cluster-name <cluster-name>
Azure Container Storage'ı belirli düğüm havuzlarına yüklemek için aşağıdaki komutu çalıştırın. ve
<resource-group>
değerlerini kendi değerlerinizle değiştirin<cluster-name>
. değerini , veyaephemeralDisk
elasticSan
ileazureDisk
değiştirin<storage-pool-type>
. öğesini seçersenizephemeralDisk
,storage-pool-option öğesini de belirtebilirsiniz ve değerler veyaTemp
olabilirNVMe
.az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type> --azure-container-storage-nodepools <comma separated values of nodepool names>
Ek depolama havuzu türlerini etkinleştirme
Başlangıçta Azure Container Storage yüklemesi sırasında etkinleştirilmemiş bir depolama havuzu türünü etkinleştirmek istiyorsanız aşağıdaki komutu çalıştırın. ve <resource-group>
değerlerini kendi değerlerinizle değiştirin<cluster-name>
. için <storage-pool-type>
, , ephemeralDisk
veya elasticSan
belirtinazureDisk
.
Bu komutla ek depolama havuzu parametreleri belirtmek istiyorsanız bu tabloya bakın.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
Etkinleştirdiğiniz yeni depolama havuzu türü zaten etkinleştirilmiş olan depolama havuzu türünden daha fazla kaynak kaplarsa, kaynak tüketimi en yüksek miktara değişir.
İpucu
Kümenize yeni bir düğüm havuzu eklediyseniz ve bu düğüm havuzunda Azure Container Storage'ı çalıştırmak istiyorsanız komutunu çalıştırırken az aks update
ile --azure-container-storage-nodepools <nodepool-name>
düğüm havuzunu belirtebilirsiniz.
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 görünmüyorsa StoragePool is ready
depolama havuzunuz hala oluşturuluyor veya bir sorunla karşılaşılıyor demektir. Bkz. Azure Container Storage sorunlarını giderme.
Depolama havuzu türlerini devre dışı bırakma
Artık belirli bir depolama havuzu türünü kullanmıyorsanız ve düğüm havuzunuzdaki kaynakları boşaltmak için bunu devre dışı bırakmak istiyorsanız aşağıdaki komutu çalıştırın. ve <resource-group>
değerlerini kendi değerlerinizle değiştirin<cluster-name>
. için <storage-pool-type>
, , ephemeralDisk
veya elasticSan
belirtinazureDisk
.
az aks update -n <cluster-name> -g <resource-group> --disable-azure-container-storage <storage-pool-type>
Not
Devre dışı bırakmaya çalıştığınız türde bir depolama havuzunuz varsa, depolama havuzu türü devre dışı bırakılmaz.
Sonraki adım
Birimleri oluşturmak için, seçtiğiniz yedekleme depolama türünün bağlantısını seçin.