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.
Hazırlanan Görüntü Belirtimi (PIS), gerekli kapsayıcı görüntülerinizi ve özelleştirmelerinizi içeren önceden yapılandırılmış düğüm görüntülerini tanımlamanızı sağlar. AKS, hazırlanan görüntüyü bir kez oluşturur ve düğüm sağlama sırasında yeniden kullanır ve sonraki ölçeklendirme işlemleri için başlangıç süresini kısaltir. Hazır Görüntü Belirtimi'nin nasıl çalıştığı ve ne zaman kullanılacağı hakkında daha fazla bilgi için bkz. AKS'de Hazırlanmış Görüntü Belirtimi (Önizleme).
Bu makalede AKS'de PIS oluşturma ve yönetme hakkında bilgi verilmektedir.
Important
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Önkoşullar
- Desteklenen bir Kubernetes sürümünü çalıştıran mevcut bir AKS kümesi. Bir kümeniz yoksa bkz. AKS kümesi oluşturma.
- Azure CLI sürüm 2.85.0 veya üzeri. Sürümünüzü bulmak için komutunu çalıştırın
az --version. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme. - Kaynak grubunuzdaki AKS kaynaklarını oluşturmak ve yönetmek için uygun Azure RBAC izinlerine ihtiyacınız vardır.
- Kapsayıcı görüntüleriniz AKS kümesinden erişilebilir olmalıdır. Azure Container Registry (ACR) kullanıyorsanız AKS kümenizle tümleşik olduğundan emin olun.
-
aks-previewCLI uzantısı sürüm 21.0.0b5 veya üzeri. Bu uzantıya sahip değilseniz bkz. CLI uzantısınıaks-previewyükleme. - Aboneliğinize kayıtlı
AKSPreparedImageSpecificationPreviewözellik işareti. Kayıt ettirmediyseniz, bkz. Özellik bayrağınıAKSPreparedImageSpecificationPreviewkaydettirme.
Sınırlamalar
Önizleme sırasında aşağıdaki sınırlamalar geçerlidir:
- Egemen bulutlar ve dış ağlarla fiziksel olarak yalıtılmış ortamlar hariç, genel Azure bölgelerinde kullanılabilir.
- Desteklenen işletim sistemleri arasında Ubuntu, Azure Linux ve Windows bulunur.
- Özel betikler, imaj oluşturma veya ölçeği büyütme işlemlerinin başarısız olmasına neden olabilir.
- Mevcut özellikleri değiştirdiğinizde bunları yeniden oluşturmanız gerekebilir.
CLI uzantısını aks-preview yükleme
komutunu kullanarak aks-preview CLI uzantısını az extension add yükleyin.
az extension add --name aks-preview
komutunu kullanarak en son sürümü yüklediğinizden emin olmak için uzantıyı güncelleştirin az extension update .
az extension update --name aks-preview
Özellik bayrağını AKSPreparedImageSpecificationPreview kaydetme
AKSPreparedImageSpecificationPreviewkomutunu kullanarak aboneliğinize özellik bayrağınıaz feature registerkaydedin.az feature register \ --namespace Microsoft.ContainerService \ --name AKSPreparedImageSpecificationPreviewkomutunu kullanarak
az feature showkayıt durumunu doğrulayın.az feature show \ --namespace Microsoft.ContainerService \ --name AKSPreparedImageSpecificationPreviewÖzellik bayrağı kaydedildikten sonra,
az provider registerkomutunu kullanarak Microsoft.ContainerService kaynak sağlayıcısının kaydını yenileyin.az provider register --namespace Microsoft.ContainerService
Hazırlanmış Görüntü Belirtimi Oluşturma (PIS)
Temel hazırlanmış görüntü belirtimi oluşturma
az aks prepared-image-specification create komutunu kullanarak bir PIS oluşturun.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a basic Prepared Image Specification
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--location $LOCATION
Önbelleğe alınmış görüntülerle Hazırlanmış Görüntü Belirtimi oluşturma
komutunu kullanarak az aks prepared-image-specification create kapsayıcı görüntülerini önceden önbelleğe alan bir PIS oluşturun.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a Prepared Image Specification with cached images
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--container-images \
myacr.azurecr.io/model-server:v1 \
myacr.azurecr.io/inference:v1
Özel betikler kullanarak Hazırlanmış Görüntü Belirtimi oluşturma
komutunu kullanarak az aks prepared-image-specification create görüntü derlemesi sırasında özelleştirme betikleri çalıştıran bir PIS oluşturun.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
PIS_NAME=<your-pis-name>
LOCATION=<location>
PIS_VERSION=v1
# Create a Prepared Image Specification using custom scripts
az aks prepared-image-specification create \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--version $PIS_VERSION \
--customization-scripts @scripts.json
Hazırlanmış Görüntü Belirtimi kullanarak küme veya düğüm havuzu oluşturma
BIR PIS oluşturduktan sonra, bir küme veya düğüm havuzu oluştururken veya güncelleştirirken buna başvurabilirsiniz. Hazırlanan görüntü sürümünün kaynak kimliğine ihtiyacınız vardır.
PIS kullanarak küme oluşturma
komutunu kullanarak
az aks prepared-image-specification version showPIS sürüm kaynak kimliğini alın.# Set environment variables RESOURCE_GROUP=<your-resource-group> PIS_NAME=<your-pis-name> PIS_VERSION=v1 # Get the PIS version resource ID PIS_VERSION_ID=$(az aks prepared-image-specification version show \ --resource-group $RESOURCE_GROUP \ --pis-name $PIS_NAME \ --name $PIS_VERSION \ --query id -o tsv)az aks createparametresiyle--prepared-image-specification-idkomutunu kullanarak hazırlanan görüntüyü referans alan yeni bir AKS kümesi oluşturun.# Set environment variables CLUSTER_NAME=<your-aks-cluster-name> # Create a new AKS cluster using the prepared image az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --prepared-image-specification-id $PIS_VERSION_ID \ --generate-ssh-keys
PIS kullanarak düğüm havuzu oluşturma
komutunu kullanarak
az aks prepared-image-specification version showPIS sürüm kaynak kimliğini alın.# Set environment variables RESOURCE_GROUP=<your-resource-group> PIS_NAME=<your-pis-name> PIS_VERSION=v1 # Get the PIS version resource ID PIS_VERSION_ID=$(az aks prepared-image-specification version show \ --resource-group $RESOURCE_GROUP \ --pis-name $PIS_NAME \ --name $PIS_VERSION \ --query id -o tsv)az aks nodepool addparametresiyle hazırlanan görüntüyü belirterek--prepared-image-specification-idkomutunu kullanıp yeni bir düğüm havuzu oluşturun.# Set environment variables CLUSTER_NAME=<your-aks-cluster-name> # Create a new node pool using the prepared image az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --prepared-image-specification-id $PIS_VERSION_IDaz aks nodepool showkomutunu kullanarak düğüm havuzunun PIS kullandığını doğrulayın.az aks nodepool show \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --query "{state:provisioningState, pisId:preparedImageSpecificationId}"
Hazırlanan Görüntü Belirtimlerini Yönet
Hazırlanan Görüntü Belirtimlerini Listele
komutunu kullanarak bir kaynak grubundaki tüm Hazır Görüntü Belirtimlerini listeleyin az aks prepared-image-specification list .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
# List all Prepared Image Specifications in the resource group
az aks prepared-image-specification list --resource-group $RESOURCE_GROUP
Belirli bir Hazırlanmış Görüntü Belirtimlerini göster
komutunu kullanarak belirli bir Hazır Görüntü Belirtiminin az aks prepared-image-specification show ayrıntılarını alın.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Show the details of the Prepared Image Specification
az aks prepared-image-specification show \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME
Hazırlanan Görüntü Belirtimi meta verilerini güncelleştirme
İki kaynak kavramı vardır: PIS kaynağı ve PIS sürümleri. Etiketler gibi PIS meta verilerini güncelleştirmek PIS kaynağını güncelleştirir ve başvuruda bulunan sürümün görüntüsünü veya betiklerini değiştirmez. Kapsayıcı görüntülerini veya betiklerini değiştirmek için yeni bir PIS sürümü oluşturun ve düğüm havuzunu bu PIS sürüm kimliğine başvuracak şekilde güncelleştirin.
Komutunu kullanarak az aks prepared-image-specification update mevcut Hazırlanmış Görüntü Belirtiminde etiketler gibi meta verileri güncelleştirebilirsiniz. Kapsayıcı görüntülerini veya betiklerini değiştirmek için bunun yerine yeni bir sürüm oluşturun.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Update the Prepared Image Specification metadata
az aks prepared-image-specification update \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME \
--tags environment=prod
Hazırlanan Görüntü Belirtiminin tüm sürümlerini listeleme
Komutunu kullanarak Hazırlanan Görüntü Belirtimi'nin tüm sürümlerini listeleyin az aks prepared-image-specification version list .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# List all versions of the Prepared Image Specification
az aks prepared-image-specification version list \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME
Hazırlanmış Görüntü Belirtiminin belirli bir sürümünü gösterme
az aks prepared-image-specification version show parametresini PIS sürümüne ayarlayarak --name komutunu kullanıp belirli bir sürümün ayrıntılarını alın.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
PIS_VERSION=v1
# Show the details of the specific version of the Prepared Image Specification
az aks prepared-image-specification version show \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME \
--name $PIS_VERSION
Belirli bir Hazır Görüntü Belirtimi kullanan düğüm havuzlarını listeleme
Kümedeki Hazır Görüntü Belirtimine başvuran tüm düğüm havuzlarını bulmak için JMESPath filtresiyle komutunu kullanın az aks nodepool list .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# List all node pools in the cluster that reference a Prepared Image Specification
az aks nodepool list \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--query "[?preparedImageSpecificationId != null]"
Hazırlanmış Görüntü Belirtimi sürümünü yükseltme
Temel görüntüleriniz, bağımlılıklarınız veya özelleştirmeleriniz değiştiğinde yeni bir sürüm oluşturun ve düğüm havuzlarınızı buna başvuracak şekilde güncelleştirin. Önerilen iş akışı:
Güncellenmiş konteyner görüntüleri veya betikler içeren yeni bir sürüm oluşturun.
Üretim dışı düğüm havuzunda yeni sürümü doğrulayın.
Üretim düğüm havuzlarını yeni sürümü kullanacak şekilde güncelleyin.
# Set environment variables RESOURCE_GROUP=<your-resource-group> CLUSTER_NAME=<your-aks-cluster-name> NEW_PIS_VERSION_ID=<new-pis-version-resource-id> # Update a node pool to reference a new PIS version using the `az aks nodepool update` command az aks nodepool update \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name userpool \ --prepared-image-specification-id $NEW_PIS_VERSION_IDMaliyet iyileştirme için kullanılmayan görüntüleri temizleyin.
AKS sürümü yükseltmeleri
Kubernetes sürümünü yükselttiğiniz zaman AKS, başvurulan PIS sürümü için hazırlanan VHD'yi otomatik olarak yeniden oluşturur. Kubernetes sürüm yükseltmesi için yeni bir PIS sürümü oluşturmanız gerekmez. Kapsayıcı görüntüleri veya betikler gibi PIS içeriği değiştiğinde yeni bir PIS sürümü oluşturmanız gerekir.
komutunu kullanarak az aks get-upgrades kullanılabilir yükseltmeleri denetleyin.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# Check for available upgrades
az aks get-upgrades \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME
komutunu kullanarak kümeyi yükseltin az aks upgrade .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
KUBERNETES_VERSION=<new-kubernetes-version>
# Upgrade the cluster to the new Kubernetes version
az aks upgrade \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--kubernetes-version $KUBERNETES_VERSION
Important
Üretim düğümü havuzlarını yükseltmeden önce yeni Kubernetes ve düğüm görüntüsü sürümlerini hedefleyen yeni bir Hazır Görüntü Belirtimi sürümü oluşturun ve doğrulayın.
komutunu kullanarak belirli bir düğüm havuzunu yükseltin az aks nodepool upgrade .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
NODE_POOL_NAME=<your-node-pool-name>
# Upgrade the node pool to the new Kubernetes version
az aks nodepool upgrade \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME
Bir düğüm havuzundan Hazırlanmış İmaj Spesifikasyonunu kaldırma
Bir düğüm havuzunda Hazır İmaj Belirtimi kullanmayı durdurmak için, az aks nodepool update parametresi için boş bir dize belirterek düğüm havuzunu --prepared-image-specification-id komutunu kullanarak güncelleştirin.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
CLUSTER_NAME=<your-aks-cluster-name>
# Remove the Prepared Image Specification from the node pool
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $CLUSTER_NAME \
--name userpool \
--prepared-image-specification-id ""
Hazırlanan Görüntü Belirtimi sürümünü silme
komutunu kullanarak az aks prepared-image-specification version delete belirli bir sürümü silin.
Important
Bir düğüm havuzu tarafından kullanılan bir PIS sürümünü silmeyin. Bunun yerine, PIS'yi kaldırmak veya başka bir PIS sürümüne başvurmak için düğüm havuzunu güncelleştirmeniz gerekir. Başvurulan bir sürümün silinmesi, AKS'nin hazırlanan görüntüyü başarıyla yeniden derlemesini veya döndürmesini engelleyebilir.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
PIS_VERSION=<your-pis-version>
# Delete the specific version of the Prepared Image Specification
az aks prepared-image-specification version delete \
--resource-group $RESOURCE_GROUP \
--pis-name $PIS_NAME \
--name $PIS_VERSION
Hazırlanan Görüntü Belirtimlerini Silme
komutunu kullanarak Hazır Görüntü Belirtimi kaynağının az aks prepared-image-specification delete tamamını silin.
Important
PIS kaynağını silmeden önce, hiçbir düğüm havuzunun bu kaynağın sürümlerine başvurmadığından emin olun. Herhangi bir başvuru bulursanız, PIS kaynağını silmeden önce bunları kaldırın veya güncelleştirin. Başvurulan bir PIS'nin silinmesi, AKS'nin hazırlanan görüntüyü başarıyla yeniden derlemesini veya döndürmesini engelleyebilir.
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
PIS_NAME=<your-pis-name>
# Delete the Prepared Image Specification
az aks prepared-image-specification delete \
--resource-group $RESOURCE_GROUP \
--name $PIS_NAME
Hazırlanan Görüntü Belirtimi performansını izleme
PIS'nin ortamınızda sağlama gecikme süresini azaltıp azaltmadığını değerlendirmek için aşağıdaki ölçümleri izleyin:
- Düğüm sağlama süresi ve hazır olma süresi: Hazırlanmış görüntü kullanmayan düğümlerle karşılaştırın.
- Yatay ölçeklendirme tamamlanma süresi: Otomatik ölçeklendiricinin tetiklenmesinden düğümlerin Hazır durumuna gelmesine kadar geçen süre.
- Görüntü derleme süresi ve derleme başarı oranı: Görüntü hazırlama işlem hattının durumunu izleyin.
- Pod başlatma süresi ve kapsayıcı görüntüsü çekme süresi: Görüntü ön önbelleğe alma işleminin etkili bir şekilde kullanıldığını doğrulayın.
Hazırlanmış İmaj Spesifikasyonu Sorunlarını Giderme
PIS ile ilgili hatalar hatanın nedenini içermelidir ve birçok hatanın özel betiklerden gelmesi olasıdır. PIS eklendikten sonra düğüm havuzu oluşturma veya ölçeği büyütme işlemi başarısız olursa, yeni bir sürüm oluşturmadan ya da düğüm havuzu referansını güncellemeden önce imaj oluşturma/özel betik günlüklerini incelemeli ve betiği doğrulamalısınız.
Görüntü oluşturma başarısız oluyor
Uyarı
Görüntü derlemesi sırasında özelleştirme betiği başarısız olduğunda AKS, müşterinin başlatabilmesi ve hata ayıklaması için vm'yi silmek yerine serbest bırakacaktır. PIS’in sonraki yeniden oluşturma işlemlerinde AKS, sanal makine ölçek kümesini ve derleme kaynaklarını silip yeniden oluşturur.
PIS hazırlanan görüntüyü oluşturamıyorsa şunları denetleyin:
- Geçersiz veya yanlış biçimlendirilmiş özelleştirme betikleri.
- Kapsayıcı kayıt deposu kimlik doğrulama hataları - AKS kümesinin belirtilen kayıt depolarına çekme yetkisine sahip olduğunu doğrulayın.
- Kaynak grubu veya kayıt defterinde Azure RBAC izinleri eksik.
- Hedef işletim sistemi için desteklenmeyen özelleştirme türleri.
Düğüm havuzu oluşturma işlemi başarısız oluyor
PIS'e referans veren bir düğüm havuzu oluşturulamazsa şunları doğrulayın:
- PIS sürüm kimliği geçerli ve sürüm aynı bölgede var.
- Aboneliğinizin istenen VM SKU'su için yeterli kotası var.
- İstenen VM SKU'su hazırlanan görüntü tarafından desteklenir.
- Bölge, önizleme sırasında PIS özelliğini destekler.
Ölçeklendirme işlemleri daha hızlı değildir
Sağlama süresinde bir azalma görmüyorsanız şunları denetleyin:
- Hızlandırmak istediğiniz kapsayıcı görüntüleri PIS sürümünde yer alır.
- Düğüm havuzu doğru sürümü işaret eder.
- Yeni düğümler, temel AKS düğümü görüntüsünden değil, hazırlanan görüntüden önyükleniyor.
- Darboğaz, iş yükünün başlatılması veya diğer ilklendirme işlemleri değil, kapsayıcı imajının çekilme süresidir.
Kaynakları temizle
Bu makalede test amacıyla kaynak oluşturduysanız, devam eden ücretlerden kaçınmak için işiniz bittiğinde bunları silin. Bu, PIS sürümlerini, PIS kaynaklarını, test düğümü havuzlarını ve test AKS kümelerini içerir.
Kaynak grubunu ve içindeki tüm kaynakları silmek için komutunu kullanın az group delete .
# Set environment variables
RESOURCE_GROUP=<your-resource-group>
# Delete the resource group and all resources in it
az group delete \
--name $RESOURCE_GROUP \
--yes \
--no-wait
İlgili içerik
Hazırlanan Görüntü Belirtimi hakkında daha fazla bilgi edinmek için bkz. AKS'de Hazırlanmış Görüntü Belirtimi (Önizleme).