Azure Stack Hub'da özel bir sanal ağa Kubernetes kümesi dağıtma
Özel bir sanal ağda Azure Kubernetes Service (AKS) altyapısını kullanarak kubernetes kümesi dağıtabilirsiniz. Bu makalede, sanal ağınızda ihtiyacınız olan bilgileri bulma konusuna bakabilirsiniz. Kümeniz tarafından kullanılan IP adreslerini hesaplama, API Modeli'nde valeleri ayarlama ve yol tablosu ile ağ güvenlik grubunu ayarlama adımlarını bulabilirsiniz.
AKS altyapısını kullanan Azure Stack Hub'daki Kubernetes kümesi kubenet ağ eklentisini kullanır. Azure Stack Hub'da AKS altyapısı, Azure CNI ağ eklentisini de destekler.
- Azure'daki kubenet ağ eklentisi hakkında daha fazla bilgi için bkz. Azure Kubernetes Service(AKS) içinde kendi IP adresi aralıklarınızla kubenet ağı kullanma.
- Azure'daki Azure CNI ağ eklentisi hakkında daha fazla bilgi için bkz. Azure Kubernetes Service'de (AKS) Azure CNI ağını yapılandırma.
Özel sanal ağ oluştururken kısıtlamalar
- Özel sanal ağ, Kubernetes kümesinin diğer tüm bileşenleriyle aynı abonelikte olmalıdır.
- Denetim düzlemi düğümleri havuzu ve aracı düğümleri havuzu aynı sanal ağda olmalıdır. Düğümlerinizi aynı sanal ağ içindeki farklı alt ağlara dağıtabilirsiniz.
- Kubernetes kümesi alt ağı, özel sanal ağ IP aralığının alanı içinde bir IP aralığı kullanmalıdır, bkz. IP adresi bloğunu alma.
- Düğüm alt ağlarının önerilen boyutunun kullanılan ağ eklentisinin türüne bağlı olduğunu düşünün. Genel bir yönerge olarak Azure CNI, aracı düğümü havuzlarını destekleyen alt ağ için kubenet'e göre daha fazla SAYıDA IP adresi gerektirir. Aşağıdaki kubenet ve Azure CNI örneklerine bakın.
169.254.0.0/16
Adres alanı Kubernetes kümeleri için özel VNET'ler için kullanılamayabilir.
Özel sanal ağ oluşturma
Azure Stack Hub örneğinizde özel bir sanal ağınız olmalıdır. Daha fazla bilgi için bkz. Hızlı Başlangıç: Azure portal kullanarak sanal ağ oluşturma.
Sanal ağınızda yeni bir alt ağ oluşturun. Alt ağ Kaynak Kimliği ve IP adresi aralığını almanız gerekir. Kümenizi dağıtırken API modelinizde Kaynak Kimliği ve aralığını kullanacaksınız.
Azure Stack Hub örneğinizde Azure Stack Hub kullanıcı portalını açın.
Tüm kaynaklar’ı seçin.
Arama kutusuna sanal ağınızın adını girin.
Alt ağlar>+ Alt Ağlar'ı seçerek bir alt ağ ekleyin.
CIDR gösterimini kullanarak Ad veAdres aralığı ekleyin. Tamam’ı seçin.
Sanal ağlar dikey penceresinde Özellikler'i seçin. Kaynak Kimliğini kopyalayın ve ekleyin
/subnets/<nameofyoursubnect>
. Bu değeri, kümenizin API modelindeki anahtar için değerinizvnetSubnetId
olarak kullanacaksınız. Alt ağın Kaynak Kimliği aşağıdaki biçimi kullanır:/subscriptions/SUB_ID/resourceGroups/RG_NAME/providers/Microsoft.Network/virtualNetworks/VNET_NAME/subnets/SUBNET_NAME
Sanal ağlar dikey penceresinde Alt ağlar'ı seçin. Alt ağ adını seçin, örneğin
control-plane-sn
.Alt ağı bir ağ güvenlik grubuyla (NSG) ilişkilendirmayın.
Alt ağ dikey penceresinde her alt ağın adres aralığını (CIDR Bloğu) not edin.
Adres alanı seçmeyle ilgili dikkat edilmesi gerekenler
Özel bir sanal ağ oluşturduğunuzda, ağınızın IP adresi alanını ve her alt ağ için bir IP adresi aralığı belirtirsiniz. Kubernetes kümenizde kullanılacak adres alanlarını ve aralıkları seçerken aşağıdaki faktörleri göz önünde bulundurun:
- Çakışan adres alanları IP adresi çakışmalarına veya iletişim hatalarına neden olabilir. ÇAKıŞAN IP adresleri riskini azaltmak için yeni sanal ağınız için benzersiz bir adres alanı seçin.
- ,
172.16/12
ve192.168/16
aralıklarındaki10/8
adres alanları genellikle özel ağlar için kullanılır ve bunlar mevcut veri merkezi altyapınız tarafından kullanılabilir. Kubernetes uygulamalarınız veri merkezinizdeki kaynakları kullanıyorsa, özel sanal ağınız için veri merkezinizin adres alanından farklı bir adres alanı seçerek çakışma riskini azaltın. - Kubernetes kümeniz için ayrılmış bir alt ağ kullanmanızı öneririz.
- Birden çok mevcut sanal ağ kullanıyorsanız, sanal ağ eşlemesi kullanmayı planlıyorsanız her ağda farklı adres alanları kullanmayı göz önünde bulundurun. Çakışan adres alanları eşlemeyi etkinleştirme yeteneğinizi bozabilir.
IP adresi bloklarını alma
AKS altyapısı, mevcut bir sanal ağda dağıtımı destekler. Mevcut bir sanal ağa dağıtıldığında, kümeniz aracı düğümleri, denetim düzlemi düğümleri, küme hizmetleri ve kapsayıcılar (podlar) için ardışık adres blokları kullanır. Her adres bloğu, sanal ağ içindeki bir alt ağa çevrilebilir. Küme dağıtımındaki tüm adres blokları genel sanal ağ adres alanının bir parçası olmalıdır. Sanal ağ adres alanının dışındaki adres bloklarının seçilmesi bağlantı sorunlarına neden olabilir.
Kubernetes kümesi ayarlanırken en az üç adres bloğu gerekir:
- Düğüm adres bloğu: Bu, küme düğümlerine adres atamak için kullanılan adres bloğudur. Bu, tüm küme düğümleri için tek bir adres bloğu veya denetim düzlemi ve aracı havuzları için ayrı bloklar (alt ağlar) olabilir. Bu bloğun adres aralığını seçerken kümenizdeki düğüm sayısını dikkate alın. Azure CNI düğümleri ve kapsayıcıları için adreslerini aynı adres bloğundan alır, bu nedenle Azure CNI kullanırken adres aralığını seçerken kümenize dağıtmak istediğiniz kapsayıcı sayısını dikkate alır.
- Hizmetler adres bloğu: Bu, Kubernetes kümesine dağıtılan hizmetlerin küme adreslerini alacakları adres bloğudur. Bu bloğun adres aralığını seçerken kümenizde çalıştırmayı planladığınız hizmet sayısı üst sınırını dikkate alın.
- Küme adres bloğu: Bu, podların küme adreslerini alacakları adres bloğudur. Bu bloğun adres aralığını seçerken kümenizde çalıştırmayı planladığınız pod sayısı üst sınırını dikkate alın. Daha önce belirtildiği gibi Azure CNI için küme ve düğüm adres blokları aynıdır.
Adres bloklarına ek olarak, denetim düzlemi düğümleri için iki değer daha ayarlamanız gerekir. Kümeniz için ayırmanız gereken IP adresi sayısını ve alt ağ IP alanı içinde ardışık ilk statik IP'yi bilmeniz gerekir. AKS altyapısı, birden çok denetim düzlemi düğümü kullandığınızda en fazla 16 kullanılmayan IP adresi aralığı gerektirir. Küme, her denetim düzlemi için en fazla beş denetim düzlemi düğümü için bir IP adresi kullanır. AKS altyapısı, oda ip adresi rezervasyonu için son kontrol düzlemi düğümünden sonraki 10 IP adresini de gerektirir. Son olarak, yük dengeleyici tarafından kontrol düzlemi düğümleri ve oda başı rezervasyonundan sonra toplam 16 ip adresi kullanılacaktır. IP adresleri bloğunuzu yerleştirirken alt ağ, mevcut IP adreslerinin aşağıdaki ayırmalarını gerektirir:
- İlk dört IP adresi ve son IP adresi ayrılmıştır ve hiçbir Azure alt asında kullanılamaz.
- 16 IP adresi içeren bir arabellek açık bırakılmalıdır.
- IP çakışmalarını önlemek için kümenizin ilk IP adresinin değeri adres alanının sonuna doğru olmalıdır. Mümkünse, özelliğini alt ağdaki kullanılabilir IP adresi alanının sonuna yakın bir IP adresine atayın
firstConsecutiveStaticIP
.
Örneğin, üç denetim düzlemi düğümüne sahip bir küme için. 256 adresli bir alt ağ kullanıyorsanız (örneğin, 10.100.0.0/24) 239'un öncesinde ilk ardışık statik IP adresinizi ayarlamanız gerekir. Aşağıdaki tabloda adresler ve dikkat edilmesi gerekenler gösterilmektedir:
/24 alt ağı için aralık | Sayı | Not |
---|---|---|
172.100.0.0 - 172.100.0.3 | 4 | Azure alt asında ayrılmıştır. |
172.100.0.224-172.100.0.238 | 14 | AKS altyapısı tanımlı küme için IP adresi sayısı. 3 kontrol düzlemi düğümü için 3 IP adresi Kafa odası için 10 IP adresi Yük dengeleyici için 1 IP adresi |
172.100.0.238 - 172.100.0.254 | 16 | 16 IP adresi arabelleği. |
172.100.0.255 | 1 | Azure alt asında ayrılmıştır. |
Bu örnekte özelliği firstConsecutiveStaticIP
olacaktır 172.100.0.224
.
Örneğin 60 binden fazla adresi olan /16 gibi daha büyük alt ağlar için statik IP atamalarınızı ağ alanının sonuna ayarlamayı pratik bulamayabilirsiniz. Küme statik IP adresi aralığınızı IP alanınızdaki ilk 24 adresten uzağa ayarlayarak, adresleri talep ederken kümenin dayanıklı olmasını sağlayın.
Kubenet adres blokları örneği
Aşağıdaki örnekte, denetim düzlemi düğümü için ayrılmış alt ağlara ve havuz başına üç düğüme sahip aracı düğümü havuzlarına sahip kubenet ağ eklentisini kullanarak bu önemli noktaların bir küme için sanal ağdaki adres alanını nasıl doldurduğunu görebilirsiniz.
Sanal ağ adres alanı: 10.100.0.0/16.
Adres bloğu (alt ağ) | CIDR | IP aralığı | IP Sayısı (kullanılabilir) |
---|---|---|---|
Denetim düzlemi düğümleri bloğu | 10.100.0.0/24 | 10.100.0.0 - 10.100.0.255 | 255 - 4 ayrılmış = 251 |
Aracı düğümleri bloğu | 10.100.1.0/24 | 10.100.1.0 - 10.100.1.255 | 255 - 4 ayrılmış = 251 |
Hizmetler bloğu | 10.100.16.0/20 | 10.100.16.0 - 10.100.31.255 | 4.096 - 5 ayrılmış = 4.091 |
Küme bloğu | 10.100.128.0/17 | 10.100.128.0 - 10.100.255.255 | 32.768 - 5 ayrılmış = 32.763 |
Bu örnekte firstConsecutiveStaticIP
özelliği olacaktır 10.100.0.239
.
Azure CNI adres blokları örneği
Aşağıdaki örnekte, denetim düzlemi için ayrılmış alt ağlara ve havuz başına üç düğüme sahip aracı düğümü havuzlarına sahip Azure CNI ağ eklentisini kullanarak bu önemli noktaların bir kümenin sanal ağındaki adres alanını nasıl doldurduğunu görebilirsiniz.
Sanal ağ adres alanı: 172.24.0.0/16.
Not
Ortamınızda genel IP aralığı CIDR10.0.0.0/8 içindeyse ağ eklentisi olarak kubenet kullanın.
Adres bloğu (alt ağ) | CIDR | IP aralığı | IP Sayısı (kullanılabilir) |
---|---|---|---|
Denetim düzlemi düğümleri bloğu | 172.24.0.0/24 | 172.24.0.0 - 172.24.0.255 | 255 - 4 ayrılmış = 251 |
Aracı düğümleri & küme bloğu | 172.24.128.0/17 | 172.24.128.0 - 172.24.255.255 | 32.768 - 5 ayrılmış = 32.763 |
Hizmetler bloğu | 172.24.16.0/20 | 172.24.16.0 - 172.24.31.255 | 4.096 - 5 ayrılmış = 4.091 |
Bu örnekte firstConsecutiveStaticIP
özelliği olacaktır 172.24.0.239
.
API modelini güncelleştirme
Kümeyi AKS altyapısından özel sanal ağınıza dağıtmak için kullanılan API modelini güncelleştirin.
masterProfile içinde aşağıdaki değerleri ayarlayın:
Alan | Örnek | Description |
---|---|---|
vnetSubnetId | /subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn |
Alt ağın Azure Resource Manager yol kimliğini belirtin. Bu değer, yukarıdaki denetim düzlemi düğümleri adres bloğuyla eşler. |
firstConsecutiveStaticIP | 10.100.0.239 | yapılandırma özelliğine firstConsecutiveStaticIP , istenen alt ağdaki kullanılabilir IP adresi alanının sonuna yakın bir IP adresi atayın. firstConsecutiveStaticIP yalnızca denetim düzlemi düğüm havuzu için geçerlidir. |
agentPoolProfiles içinde aşağıdaki değerleri ayarlayın:
Alan | Örnek | Description |
---|---|---|
vnetSubnetId | /subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/agents-sn |
Alt ağın Azure Resource Manager yol kimliğini belirtin. Bu değer yukarıdaki aracı düğümleri adres bloğuyla eşler. |
orchestratorProfile içinde kubernetesConfig öğesini bulun ve aşağıdaki değeri ayarlayın:
Alan | Örnek | Description |
---|---|---|
clusterSubnet | 10.100.128.0/17 |
Pod ağ arabirimleri için IP adreslerini ayırmada kullanılan IP alt ağı. Bu değer yukarıdaki küme adres bloğuyla eşler. Alt ağ sanal ağ adres alanında olmalıdır. Azure CNI etkinleştirildiğinde varsayılan değer 10.240.0.0/12'dir. Azure CNI olmadan varsayılan değer 10.244.0.0/16'dır. /24 alt ağı yerine /16 kullanın. /24 kullanıyorsanız, bu alt ağ yalnızca bir düğüme atanır. DIĞER düğüme POD ağı atanmayacak, ip alanınız tükeneceğinden kümede hazır olmayacaklar. |
serviceCidr | 10.100.16.0/20 |
Kümede dağıtılan hizmetlerin IP adreslerini ayırmada kullanılan IP alt ağı. Bu değer yukarıdaki küme hizmetleri bloğuyla eşler. |
dnsServiceIP | 10.100.16.10 |
Küme DNS hizmetine atanacak IP adresi. Adres serviceCidr alt ağından gelmelidir. ServiceCidr belirtilirken bu değerin ayarlanması gerekir. Varsayılan değer, serviceCidr alt 10 adresidir. |
Örneğin, kubenet kullanılıyorsa:
Alt ağın 10.100.0.0/16
control-plane-sn
10.100.0.0/24
ve agents-sn
olduğu yerin ağ adresi alanıyla 10.100.1.0/24
"masterProfile": {
...
"vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn",
"firstConsecutiveStaticIP": "10.100.0.239",
...
},
...
"agentPoolProfiles": [
{
...
"vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/agents-sn",
...
},
...
"kubernetesConfig": [
{
...
"clusterSubnet": "10.100.128.0/17",
"serviceCidr": "10.100.16.0/20",
"dnsServiceIP" : "10.100.16.10",
...
},
Örneğin, Azure CNI kullanılıyorsa:
Alt ağın 172.24.0.0/16
control-plane-sn
172.24.0.0/24
ve k8s-sn
olduğu yerin ağ adresi alanıyla 172.24.128.0/17
"masterProfile": {
...
"vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/control-plane-sn",
"firstConsecutiveStaticIP": "172.24.0.239",
...
},
...
"agentPoolProfiles": [
{
...
"vnetSubnetId": "/subscriptions/77e28b6a-582f-42b0-94d2-93b9eca60845/resourceGroups/MDBN-K8S/providers/Microsoft.Network/virtualNetworks/MDBN-K8S/subnets/k8s-sn",
...
},
...
"kubernetesConfig": [
{
...
"clusterSubnet": "172.24.128.0/17",
"serviceCidr": "172.24.16.0/20",
"dnsServiceIP" : "172.24.16.10",
...
},
Kümenizi dağıtma
DEĞERLERI API modelinize ekledikten sonra AKS altyapısındaki komutunu kullanarak deploy
istemci makinenizden kümenizi dağıtabilirsiniz. Yönergeler için bkz. Kubernetes kümesi dağıtma.
Yol tablosunu ayarlama
Kubenet kullanıyorsanız, örneğin, networkPlugin
API modeli yapılandırma nesnesinde kubernetesConfig
: kubenet
. Kümenizi dağıttığınızda Azure Stack kullanıcı portalında sanal ağınıza dönün. Alt ağ dikey penceresinde hem yol tablosunu hem de ağ güvenlik grubunu (NSG) ayarlayın. Bir kümeyi özel sanal ağınıza başarıyla dağıttıktan sonra, kümenizin kaynak grubundaki Ağ dikey penceresinden Yönlendirme Tablosu kaynağının kimliğini alın.
Azure Stack Hub örneğinizde Azure Stack Hub kullanıcı portalını açın.
Tüm kaynaklar’ı seçin.
Arama kutusuna sanal ağınızın adını girin.
Alt ağlar'ı ve ardından kümenizi içeren alt ağın adını seçin.
Yönlendirme tablosu'nu ve ardından kümeniz için yönlendirme tablosunu seçin.
Bunun, alt ağ da dahil olmak üzere API modelinde belirtilen her alt ağ için yapıldığından
masterProfile
emin olun.
Not
Kubernetes Windows kümesi için özel sanal ağda bilinen bir sorun vardır.
Sonraki adımlar
- Azure Stack Hub'da AKS altyapısı hakkında bilgi edinin
- Kapsayıcılar için Azure İzleyici'ye genel bakış hakkında bilgi edinin
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin