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.
Sanal Düğümler v2, Azure Container Instances (ACI) içinde sunucusuz işlem üzerinde pod çalıştırarak AKS'yi VM tabanlı düğümlerin ötesine genişleten geliştirilmiş bir Sanal Düğümler yığınıdır. İş yükleri, yeni düğümlerin sağlanmasını beklemeden saniyeler içinde ACI'ye aktarılır ve yalnızca podlar çalışırken kullandığınız işlem için ödeme yapılır. Sanal Düğümler v2, AKS kümesi uzantısı olarak teslim edilir.
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:
Destekleniyor
- Başlatma kapsayıcıları
- Konak diğer adları
- Kapsayıcı yaşam döngüsü kancaları (
postStartvepreStop) -
kubectl execargümanlarla - Kalıcı birimler ve PVC'ler (yalnızca Azure Dosyalar)
- VNet eşlemesi
- NSG denetimli çıkış
- Çıkış için NAT Ağ Geçidi
- Gizli kapsayıcılar
- Sanal düğüm başına en fazla 200 pod
Limitations
Aşağıdaki özellikler desteklenmez:
- Windows konteynerleri
- DaemonSets
- Bağlantı noktası iletme
- IPv6
- API sunucusu yetkili IP aralıkları
- Azure CNI Katmanı
- Ağ ilkesi olarak Cilium veya NPM
- Kendi (KCG) sanal ağınızı getirme
- Küme başına birden çok uzantı örneği
- Yedek havuzlar
Kaynak kullanılabilirliği ve kota sınırları
Sanal Düğümler v2, Azure Container Instances sanal ağ SKU'larını desteklediği tüm Azure genel bulut bölgelerinde kullanılabilir. Daha fazla bilgi için bkz . ACI için kaynak kullanılabilirliği ve kota sınırları.
Prerequisites
- Düğüm alt ağ modunda CNI Azure
- Ağ ilkesi için Calico veya hiçbiri
- İş yükü kimliği etkinleştirildi
- Vm boyutu 4+ vCPU ve 16+ GiB bellek olan en az bir düğüm havuzu. Her sanal düğüm, kümenizdeki bir AKS düğümünde yaklaşık 3 vCPU ve 12 GiB bellek ayırır; bu nedenle düğümlerinizin yeterli kaynağa sahip olduğundan emin olun.
- k8s uzantısı sürüm 1.8 veya üzeri
-
kubectl1.30 veya üzeri
ACI kaynak sağlayıcısını kaydedin:
az provider register --namespace Microsoft.ContainerInstance
Note
Uzantı etkinleştirme işleminin herhangi bir aşamasında hatayla karşılaşırsanız aşağıdaki komutu çalıştırın.
az provider register --namespace Microsoft.KubernetesConfig
Sanal Düğümleri Etkinleştirme v2
Uzantıyı yükleyin:
az k8s-extension create \
--name <extension-name> \
--extension-type Microsoft.virtualnodes \
--cluster-name <cluster-name> \
--resource-group <resource-group> \
--cluster-type managedClusters \
--configuration-settings replicaCount=1 # specifies number of virtual nodes - optional
Uzantı ayarlarını yapılandırma
Oluşturma ve güncelleştirme işlemleri aşağıdaki yapılandırma ayarlarını destekler.
| Yapılandırma ayarı | Description |
|---|---|
replicaCount |
Sanal düğüm sayısı. |
admissionControllerReplicaCount |
Kabul denetleyicisi podlarının sayısı. |
podAnnotations |
Altyapı podlarına anahtar-değer eşlemesi olarak eklenen ek açıklamalar. |
nodeSelector |
Altyapı ve erişim denetleyicisi podlarını barındıran AKS düğümlerini seçen etiketler. |
tolerations |
Altyapı ve erişim denetleyicisi podlarına uygulanan toleranslar. |
affinity |
Gerekli AKS benzenşimi kurallarıyla birleştirilen ek benzenşim ayarları. |
zones |
Podların dağıtıldığı noktalı virgülle ayrılmış kullanılabilirlik alanları. |
nodeLabels |
Sanal düğümlere virgülle ayrılmış key=value çiftler olarak eklenen etiketler. |
İzin verilen kubernetes.io etiketler şunlardır:
beta.kubernetes.io/archbeta.kubernetes.io/instance-typebeta.kubernetes.io/osfailure-domain.beta.kubernetes.io/regionfailure-domain.beta.kubernetes.io/zonekubernetes.io/archkubernetes.io/hostnamekubernetes.io/osnode.kubernetes.io/instance-typetopology.kubernetes.io/regiontopology.kubernetes.io/zone
Uzantıyı doğrulayın:
az k8s-extension show \
--name <extension-name> \
--cluster-type managedClusters \
--cluster-name <cluster-name> \
--resource-group <resource-group>
provisioningState öğesinin Succeeded olduğunu doğrulayın. Birkaç dakika boyunca Pending durumda kalabilir.
Uzantı podlarının ad alanında vn-system çalıştığını doğrulayın:
kubectl get pods --namespace vn-system
Uzantıyı güncelleştirme
az k8s-extension update --name <extension-name> --cluster-name <aks-cluster-name> --resource-group <aks-resource-group> --cluster-type managedClusters
Note
--auto-upgrade-mode parametresi , patchveya compatible'yi desteklernone. kullanarak --versionbelirli bir uzantı sürümünü sabitlemek için olarak noneayarlayın--auto-upgrade-mode.
Azure Container Registry erişimi
Özel Azure Container Registry (ACR) görüntüleri çekmek için uzantı yönetilen kimliğini veya Kubernetes görüntü çekme gizli dizisini kullanın.
Uzantı yönetilen kimliğini kullanma
AcrPull Uzantı için oluşturulan yönetilen kimliğe rol verin. Bu rol, uzantının sanal düğümlerinde çalışan tüm podlara fazladan pod yapılandırması olmadan kayıt defterinden görüntü çekme erişimi verir. Kayıt defterinde rol atamaları oluşturma izniniz olmalıdır.
Uzantı yönetilen kimliğinin asıl kimliğini alın:
$extensionPrincipalId = az k8s-extension show --name <extension-name> --cluster-name <aks-cluster-name> --resource-group <aks-resource-group> --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv
Kapsayıcı kayıt defterinin kaynak kimliğini alın:
$acrId = az acr show --name <acr-name> --resource-group <acr-resource-group> --query id --output tsv
AcrPull Rolü kayıt defteri kapsamında uzantı yönetilen kimliğine atayın:
az role assignment create --assignee-object-id $extensionPrincipalId --assignee-principal-type ServicePrincipal --role AcrPull --scope $acrId
Kayıt defterinden görüntü çeken iş yüklerini dağıtmadan önce rol atamasının yayılması için birkaç dakika bekleyin.
Görüntü çekme gizli dizisi kullanma
Yönergeler için bkz. ACR Kimlik Doğrulaması için Kubernetes Çekme Gizli Dizisi.
Sanal Düğümlere iş yükü dağıtma v2
Düğüm seçicisini ve virtual-kubelet.io/provider toleransı virtualization: virtualnode2 kullanarak sanal düğümlerdeki podları zamanlayın:
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo
spec:
replicas: 3
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: hello
image: mcr.microsoft.com/azuredocs/aci-helloworld
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: "1"
memory: 1Gi
nodeSelector:
virtualization: virtualnode2
kubernetes.io/os: linux
tolerations:
- key: virtual-kubelet.io/provider
operator: Exists
effect: NoSchedule
Bildirimi olarak demo.yamlkaydedin ve uygulayın.
kubectl apply -f demo.yaml
Podların çalıştığını doğrulayın.
kubectl get pods -l app=demo -o wide
Sanal Düğümleri devre dışı bırakma v2
Warning
Sanal düğüm uzantısını devre dışı bırakdığınızda AKS kümesinin, Azure Container Instances kapsayıcı gruplarının yedekleme bağlantısını keser. Çalışmaya devam eden ve ücret yansıtan yalnız bırakılmış örnekleri önlemek için, uzantıyı devre dışı bırakmadan önce sanal düğümde çalışan tüm iş yüklerini silin.
Uzantıyı silin ve sanal düğüm kaynaklarını temizleyin.
az k8s-extension delete \
--name <extension-name> \
--cluster-name <cluster-name> \
--resource-group <resource-group> \
--cluster-type managedClusters
kubectl delete node <virtual-node-name>