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.
Kullanılabilirlik alanları , uygulamalarınızın ve verilerinizin veri merkezi hatalarından korunmasına yardımcı olur. Bölgeler, bir Azure bölgesi içindeki benzersiz fiziksel konumlardır. Her bölge bağımsız güç, soğutma ve ağ ile donatılmış bir veya daha fazla veri merkezi içerir.
Azure Kubernetes Service'in (AKS) kullanılabilirlik alanlarıyla kullanılması, kaynakları tek bir bölgedeki farklı kullanılabilirlik alanlarına fiziksel olarak dağıtarak güvenilirliği artırır. Düğümleri birden çok bölgeye dağıtmak ek maliyet doğurmuyor.
Bu makalede AKS kaynaklarını kullanılabilirlik alanlarını kullanacak şekilde yapılandırma işlemleri gösterilmektedir.
AKS kaynakları
Bu diyagramda AKS kümesi oluşturduğunuzda oluşturulan Azure kaynakları gösterilir:
AKS kontrol düzlemi
Microsoft AKS denetim düzlemini, Kubernetes API sunucusunu ve ve scheduler
gibi etcd
hizmetleri yönetilen hizmet olarak barındırmaktadır. Microsoft, denetim düzlemini birden çok bölgede çoğaltır.
Kümenizin diğer kaynakları, Azure aboneliğinizdeki yönetilen bir kaynak grubunda dağıtılır. Varsayılan olarak, bu kaynak grubu, yönetilen küme için MC_ ön ekiyle başlar ve aşağıdaki bölümlerde belirtilen kaynakları içerir.
Düğüm havuzları
Düğüm havuzları, Azure aboneliğinizde sanal makine ölçek kümeleri olarak oluşturulur.
AKS kümesi oluşturduğunuzda, bir sistem düğümü havuzu gerekir ve otomatik olarak oluşturulur. ve CoreDNS
gibi metrics-server
kritik sistem podlarını barındırıyor. Uygulamalarınızı barındırmak için AKS kümenize daha fazla kullanıcı düğümü havuzu ekleyebilirsiniz.
Düğüm havuzlarının dağıtılabilmesinin üç yolu vardır:
- Bölgeler arası
- Bölgeye hizalı
- Bölgesel
Sistem düğümü havuz bölgeleri, küme veya düğüm havuzu oluşturulduğunda yapılandırılır.
Bölgeler arası
Bu yapılandırmada düğümler seçilen tüm bölgelere yayılır. Bu bölgeler parametresi kullanılarak --zones
belirtilir.
# Create an AKS cluster, and create a zone-spanning system node pool in all three AZs, one node in each AZ
az aks create --resource-group example-rg --name example-cluster --node-count 3 --zones 1 2 3
# Add one new zone-spanning user node pool, two nodes in each
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-a --node-count 6 --zones 1 2 3
AKS, bölgeler arasındaki düğüm sayısını otomatik olarak dengeler.
Bölgesel bir kesinti oluşursa, etkilenen bölge içindeki düğümler etkilenebilir, ancak diğer kullanılabilirlik alanlarındaki düğümler etkilenmez.
Düğüm konumlarını doğrulamak için aşağıdaki komutu çalıştırın:
kubectl get nodes -o custom-columns='NAME:metadata.name, REGION:metadata.labels.topology\.kubernetes\.io/region, ZONE:metadata.labels.topology\.kubernetes\.io/zone'
NAME REGION ZONE
aks-nodepool1-34917322-vmss000000 eastus eastus-1
aks-nodepool1-34917322-vmss000001 eastus eastus-2
aks-nodepool1-34917322-vmss000002 eastus eastus-3
Bölgeye hizalı
Bu yapılandırmada, her düğüm belirli bir bölgeye hizalanır (sabitlenir). Üç kullanılabilirlik alanına sahip bir bölge için üç düğüm havuzu oluşturmak için:
# # Add three new zone-aligned user node pools, two nodes in each
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-x --node-count 2 --zones 1
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-y --node-count 2 --zones 2
az aks nodepool add --resource-group example-rg --cluster-name example-cluster --name userpool-z --node-count 2 --zones 3
Bu yapılandırma, düğümler arasında daha düşük gecikme süresine ihtiyacınız olduğunda kullanılabilir. Ayrıca, ölçeklendirme işlemleri veya küme otomatik ölçeklendiricisini kullanırken daha ayrıntılı denetim sağlar.
Not
Düğüm havuzları arasında tek bir iş yükü dağıtılacağında, ölçek artırma işlemlerinde iş yüklerinizin bölgeler arasında dengeli bir şekilde dağıtılması için --balance-similar-node-groups
ayarını true
olarak ayarlamanızı öneririz.
Bölgesel (kullanılabilirlik alanlarını kullanmama)
Bölge ataması dağıtım şablonunda (örneğin, "zones"=[]
veya "zones"=null
) ayarlı olmadığında bölgesel mod kullanılır.
Bu yapılandırmada düğüm havuzu bölgesel (bölgeye sabitlenmemiş) örnekler oluşturur ve örnekleri bölge genelinde örtük olarak yerleştirir. Örneklerin dengeli veya farklı bölgelere yayıldığı ya da örneklerin aynı kullanılabilirlik alanında yer alacağı garanti değildir.
Tam bir bölge kesintisi nadiren meydana geldiğinde, düğüm havuzundaki örneklerin herhangi biri veya tümü etkilenebilir.
Düğüm konumlarını doğrulamak için aşağıdaki komutu çalıştırın:
kubectl get nodes -o custom-columns='NAME:metadata.name, REGION:metadata.labels.topology\.kubernetes\.io/region, ZONE:metadata.labels.topology\.kubernetes\.io/zone'
NAME REGION ZONE
aks-nodepool1-34917322-vmss000000 eastus 0
aks-nodepool1-34917322-vmss000001 eastus 0
aks-nodepool1-34917322-vmss000002 eastus 0
Dağıtımlar
Podlar
Kubernetes, Azure kullanılabilirlik alanlarının farkındadır ve farklı bölgelerdeki düğümler arasında podları dengeleyebilir. Bir bölgenin kullanılamaz duruma gelmesi durumunda Kubernetes, podları etkilenen düğümlerden otomatik olarak uzaklaştırır.
Kubernetes referansındaWell-Known Etiketler, Ek Açıklamalar ve Tutulmalar'da belirtildiği gibi Kubernetes, çoğaltma denetleyicisindeki veya hizmetindeki podları kullanılabilir çeşitli bölgeler arasında otomatik olarak dağıtmak için topology.kubernetes.io/zone
etiketini kullanır.
Hangi podların ve düğümlerin çalıştığını görmek için aşağıdaki komutu çalıştırın:
kubectl describe pod | grep -e "^Name:" -e "^Node:"
parametresi, maxSkew
podların eşit olmayan bir şekilde dağıtılma derecesini açıklar. Üç bölgeden ve üç çoğaltmadan bahsettiğimizi varsayarsak, her bölgede en az bir pod çalışmasını sağlamak için bu değeri 1
olarak ayarlayın.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app: my-app
containers:
- name: my-container
image: my-image
Depolama ve birimler
Varsayılan olarak Kubernetes sürüm 1.29 ve üzeri, Kalıcı Birim Talepleri için alanlar arası yedekli depolama kullanarak Azure Yönetilen Diskleri kullanır.
Bu diskler, uygulamalarınızın dayanıklılığını artırmak için bölgeler arasında çoğaltılır. Bu eylem, verilerinizi veri merkezi hatalarına karşı korumaya yardımcı olur.
Aşağıdaki örnekte, alanlar arası yedekli depolamada Azure Standart SSD kullanan Kalıcı Birim Talebi gösterilmektedir:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: azure-managed-disk
spec:
accessModes:
- ReadWriteOnce
storageClassName: managed-csi
#storageClassName: managed-csi-premium
resources:
requests:
storage: 5Gi
Bölgeyle hizalanmış dağıtımlar için skuname
parametresi LRS
(yerel olarak yedekli depolama) olarak ayarlanmış yeni bir depolama sınıfı oluşturabilirsiniz. Daha sonra Kalıcı Birim Talebinizde yeni depolama sınıfını kullanabilirsiniz.
Yerel olarak yedekli depolama diskleri daha ucuz olsa da alanlar arası yedekli değildir ve farklı bir bölgedeki bir düğüme disk iliştirmek desteklenmez.
Aşağıdaki örnekte yerel olarak yedekli depolama Standart SSD depolama sınıfı gösterilmektedir:
kind: StorageClass
metadata:
name: azuredisk-csi-standard-lrs
provisioner: disk.csi.azure.com
parameters:
skuname: StandardSSD_LRS
#skuname: PremiumV2_LRS
Yük dengeleyiciler
Kubernetes, bir bölgedeki tüm bölgelerde gelen trafiği dengeleyen Azure Standart Load Balancer'ı varsayılan olarak dağıtır. Bir düğüm kullanılamaz duruma gelirse yük dengeleyici trafiği iyi durumdaki düğümlere yeniden yönlendirir.
Azure Load Balancer kullanan örnek bir hizmet:
apiVersion: v1
kind: Service
metadata:
name: example
spec:
type: LoadBalancer
selector:
app: myapp
ports:
- port: 80
targetPort: 8080
Önemli
30 Eylül 2025'te Temel Yük Dengeleyici kullanımdan kaldırılacaktır. Daha fazla bilgi için resmi duyuruya bakın. Temel Yük Dengeleyici kullanıyorsanız, kullanımdan kaldırma tarihinden önce Standart Load Balancer'a yükseltmeyi unutmayın.
Sınırlamalar
Kullanılabilirlik alanlarını kullanırken aşağıdaki sınırlamalar geçerlidir:
- Bkz. AKS'de kotalar, sanal makine boyutu kısıtlamaları ve bölge kullanılabilirliği.
- Düğüm havuzu oluşturulduktan sonra kullanılan kullanılabilirlik alanı sayısı değiştirilemez .
- Çoğu bölge kullanılabilirlik alanlarını destekler. Bölgelerin listesine bakın.
İlgili içerik
- Sistem düğümü havuzları hakkında bilgi edinin.
- Kullanıcı düğümü havuzları hakkında bilgi edinin.
- Yük dengeleyiciler hakkında bilgi edinin.
- AKS'de iş sürekliliği ve olağanüstü durum kurtarma için en iyi yöntemleri edinin.
Azure Kubernetes Service