Aracılığıyla paylaş


Azure Kubernetes Service'te (AKS) Azure CNI ağına genel bakış

Varsayılan olarak AKS kümeleri kubenet kullanır ve bir sanal ağ ve alt ağ oluşturur. kubenet ile düğümler bir sanal ağ alt ağından BIR IP adresi alır. Ardından düğümlerde ağ adresi çevirisi (NAT) yapılandırılır ve podlar düğüm IP'sinin arkasında "gizli" bir IP adresi alır. Bu yaklaşım, podların kullanması için ağ alanınızda ayırmanız gereken IP adresi sayısını azaltır.

Azure Container Networking Interface (CNI) ile her pod alt ağdan bir IP adresi alır ve doğrudan erişilebilir. AKS kümesiyle aynı sanal ağdaki sistemler, poddan gelen trafiğin kaynak adresi olarak pod IP’sini görür. AKS kümesi sanal ağı dışındaki sistemler, poddan gelen trafiğin kaynak adresi olarak düğüm IP'sini görür. Bu IP adreslerinin ağ alanınızda benzersiz olması ve önceden planlanması gerekir. Her düğümün desteklediği en fazla pod sayısı için bir yapılandırma parametresi vardır. Düğüm başına eşdeğer IP adresi sayısı daha sonra bu düğüm için önceden ayrılır. Bu yaklaşım daha fazla planlama gerektirir ve genellikle IP adresi tükenmesine veya uygulamanızın talebi arttıkça daha büyük bir alt ağda kümeleri yeniden oluşturma gereksinimine yol açar.

Not

Bu makalede yalnızca geleneksel Azure CNI tanıtılır. Azure CNI Katman için, dinamik IP ayırma için Azure CNI sanal ağı ve Azure CNI Sanal Ağı - Statik Blok Ayırma (Önizleme). Bunun yerine lütfen belgelerine bakın.

Önkoşullar

  • AKS kümesinin sanal ağı giden İnternet bağlantısına izin vermelidir.

  • AKS kümeleri Kubernetes hizmet adres aralığı, pod adres aralığı veya 192.0.2.0/24 küme sanal ağ adres aralığı için , 172.31.0.0/16172.30.0.0/16, veya kullanamaz169.254.0.0/16.

  • AKS kümesi tarafından kullanılan küme kimliği, sanal ağınızdaki alt ağda en az Ağ Katkıda Bulunanı izinlerine sahip olmalıdır. Yerleşik Ağ Katkıda Bulunanı rolünü kullanmak yerine özel bir rol tanımlamak istiyorsanız, aşağıdaki izinler gereklidir:

    • Microsoft.Network/virtualNetworks/subnets/join/action

    • Microsoft.Network/virtualNetworks/subnets/read

    • Microsoft.Authorization/roleAssignments/write

  • AKS düğüm havuzuna atanan alt ağ, temsilci olarak atanan bir alt ağ olamaz.

  • AKS, alt ağına Ağ Güvenlik Grupları (NSG) uygulamaz ve bu alt ağ ile ilişkili NSG'lerin hiçbirini değiştirmez. Kendi alt ağınızı sağlar ve bu alt ağ ile ilişkili NSG'ler eklerseniz, NSG'lerdeki güvenlik kurallarının düğüm CIDR aralığında trafiğe izin vermesini sağlamanız gerekir. Daha fazla bilgi için bkz . Ağ güvenlik grupları.

Dağıtım parametreleri

AKS kümesi oluşturduğunuzda Azure CNI ağı için aşağıdaki parametreler yapılandırılabilir:

Sanal ağ: Kubernetes kümesini dağıtmak istediğiniz sanal ağ. Kümeniz için yeni bir sanal ağ oluşturmak istiyorsanız Yeni oluştur'u seçin ve Sanal ağ oluşturma bölümündeki adımları izleyin. Mevcut bir sanal ağı seçmek istiyorsanız, bunun Kubernetes kümenizle aynı konumda ve Azure aboneliğinde olduğundan emin olun. Azure sanal ağının sınırları ve kotaları hakkında bilgi için bkz . Azure aboneliği ve hizmet sınırları, kotalar ve kısıtlamalar.

Alt ağ: Kümeyi dağıtmak istediğiniz sanal ağ içindeki alt ağ. Kümeniz için sanal ağda yeni bir alt ağ oluşturmak istiyorsanız Yeni oluştur'u seçin ve Alt ağ oluşturma bölümündeki adımları izleyin. Karma bağlantı için, adres aralığı ortamınızdaki diğer sanal ağlarla çakışmamalıdır.

Azure Ağ Eklentisi: Azure ağ eklentisi kullanıldığında, "externalTrafficPolicy=Local" ile iç LoadBalancer hizmetine AKS kümesine ait olmayan clusterCIDR'de IP'ye sahip VM'lerden erişilemiyor.

Kubernetes hizmet adres aralığı: Bu parametre, Kubernetes'in kümenizdeki iç hizmetlere atadığını sanal IP kümesidir. Kümenizi oluşturduktan sonra bu aralık güncelleştirilemez. Aşağıdaki gereksinimleri karşılayan herhangi bir özel adres aralığını kullanabilirsiniz:

  • Kümenizin sanal ağ IP adresi aralığında olmamalıdır
  • Küme sanal ağ eşlerinin bulunduğu diğer sanal ağlarla çakışmamalıdır
  • Şirket içi IP'lerle çakışmamalıdır
  • , , 172.30.0.0/16172.31.0.0/16veya aralıkları 169.254.0.0/16içinde olmamalıdır192.0.2.0/24

Kümenizle aynı sanal ağ içinde bir hizmet adresi aralığı belirtmek teknik olarak mümkün olsa da bunu yapmanız önerilmez. Çakışan IP aralıkları kullanıldığında öngörülemeyen davranış oluşabilir. Daha fazla bilgi için bu makalenin SSS bölümüne bakın. Kubernetes hizmetleri hakkında daha fazla bilgi için Kubernetes belgelerindeki Hizmetler'e bakın.

Kubernetes DNS hizmeti IP adresi: Kümenin DNS hizmetinin IP adresi. Bu adresin Kubernetes hizmeti adres aralığı içinde olması gerekir. Adres aralığınızdaki ilk IP adresini kullanmayın. Alt ağ aralığınızdaki ilk adres kubernetes.default.svc.cluster.local adresi için kullanılır.

Sık sorulan sorular

  • Küme alt ağımda VM'leri dağıtabilir miyim?

    Evet. Ancak dinamik IP ayırma için Azure CNI için VM'ler pod'un alt aya dağıtılamaz.

  • Dış sistemler Azure CNI özellikli bir poddan kaynaklanan trafik için hangi kaynak IP'sini görür?

    AKS kümesiyle aynı sanal ağdaki sistemler, poddan gelen trafiğin kaynak adresi olarak pod IP’sini görür. AKS kümesi sanal ağı dışındaki sistemler, poddan gelen trafiğin kaynak adresi olarak düğüm IP'sini görür.

    Ancak dinamik IP ayırma için Azure CNI için, bağlantı aynı sanal ağ içinde veya çapraz sanal ağlar içinde olsa da pod IP'si her zaman poddan gelen trafiğin kaynak adresidir. Bunun nedeni, dinamik IP ayırma için Azure CNI'nin uçtan uca deneyim sağlayan Microsoft Azure Container Networking altyapısını uygulamasıdır. Bu nedenle, geleneksel Azure CNI tarafından hala kullanılan kullanımını ip-masq-agentortadan kaldırır.

  • Pod başına ağ ilkelerini yapılandırabilir miyim?

    Evet, Kubernetes ağ ilkesi AKS'de kullanılabilir. Başlamak için bkz . AKS'de ağ ilkelerini kullanarak podlar arasındaki trafiğin güvenliğini sağlama.

  • Bir düğüme dağıtılabilen pod sayısı üst sınırı yapılandırılabilir mi?

    Evet, Azure CLI veya Resource Manager şablonuyla bir küme dağıttığınızda. Bkz. Düğüm başına en fazla pod sayısı.

    Mevcut bir kümede düğüm başına en fazla pod sayısını değiştiremezsiniz.

  • AKS kümesi oluşturma sırasında oluşturduğum alt ağ için ek özellikler Nasıl yaparım? yapılandırıldı? Örneğin, hizmet uç noktaları.

    AKS kümesi oluşturma sırasında oluşturduğunuz sanal ağın ve alt ağların özelliklerinin tam listesi, Azure portalının standart sanal ağ yapılandırma sayfasında yapılandırılabilir.

  • Kubernetes hizmet adres aralığı için küme sanal ağımda farklı bir alt ağ kullanabilir miyim?

    Önerilmez, ancak bu yapılandırma mümkündür. Hizmet adres aralığı, Kubernetes'in kümenizdeki iç hizmetlere atayabilecekleri sanal IP'ler (VIP' ler) kümesidir. Azure Ağı, Kubernetes kümesinin hizmet IP aralığına yönelik görünürlüğe sahip değildir. Kümenin hizmet adres aralığında görünürlük olmaması sorunlara yol açabilir. Daha sonra küme sanal ağında hizmet adres aralığıyla çakışan yeni bir alt ağ oluşturmak mümkündür. Böyle bir çakışma oluşursa Kubernetes, bir hizmete alt ağdaki başka bir kaynak tarafından zaten kullanılmakta olan bir IP atayabilir ve öngörülemeyen davranışlara veya hatalara neden olabilir. Kümenin sanal ağı dışında bir adres aralığı kullandığınızdan emin olarak, bu çakışma riskini önleyebilirsiniz.

Sonraki adım

AKS'de ağ iletişimi hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: