Azure portalında sanal düğümleri kullanmak için Azure Kubernetes Services (AKS) kümesi oluşturma ve yapılandırma
Sanal düğümler, Azure Container Instances (ACI) ile Azure Kubernetes Service (AKS) kümelerinde çalışan podlar arasında ağ iletişimi sağlar. Bu iletişimi sağlamak için bir sanal ağ alt ağı oluşturulur ve temsilci izinleri atanır. Sanal düğümler yalnızca gelişmiş ağ (Azure CNI) kullanılarak oluşturulan AKS kümeleriyle çalışır. AKS kümeleri varsayılan olarak temel ağ (kubenet) ile oluşturulur.
Bu makalede, sanal ağ ve alt ağlar oluşturma ve ardından Azure portalını kullanarak gelişmiş ağ kullanan bir AKS kümesi dağıtma adımları gösterilmektedir.
Dekont
Sanal düğüm bölgesinin kullanılabilirliği ve sınırlamalarına genel bakış için bkz . AKS'de sanal düğümleri kullanma.
Başlamadan önce
Aboneliğinizde ACI hizmet sağlayıcısının kayıtlı olması gerekir.
komutunu kullanarak ACI sağlayıcı kaydının
az provider list
durumunu denetleyin.az provider list --query "[?contains(namespace,'Microsoft.ContainerInstance')]" -o table
Aşağıdaki örnek çıktı, Microsoft.ContainerInstance sağlayıcısının Kayıtlı olduğunu gösterir:
Namespace RegistrationState RegistrationPolicy --------------------------- ------------------- -------------------- Microsoft.ContainerInstance Registered RegistrationRequired
Sağlayıcı NotRegistered ise komutunu kullanarak
az provider register
kaydedin.az provider register --namespace Microsoft.ContainerInstance
AKS kümesi oluşturma
- Azure portalı giriş sayfasına gidin.
- Kaynak>Kapsayıcıları oluştur'u seçin.
- Azure Kubernetes Service (AKS) kaynağında Oluştur'u seçin.
- Temel Bilgiler sayfasında aşağıdaki seçenekleri yapılandırın:
- Proje ayrıntıları: Bir Azure aboneliği seçin, ardından myResourceGroup gibi bir Azure kaynak grubu seçin veya oluşturun.
- Küme ayrıntıları: MyAKSCluster gibi bir Kubernetes küme adı girin. AKS kümesi için bir bölge ve Kubernetes sürümü seçin.
- İleri: Düğüm havuzları'nı seçin ve *Sanal düğümleri etkinleştir'i işaretleyin.
- Gözden geçir ve oluştur’u seçin.
- Doğrulama tamamlandıktan sonra Oluştur'u seçin.
Varsayılan olarak bu işlem, diğer Azure hizmetleriyle küme iletişimi ve tümleştirmesi için kullanılan yönetilen bir küme kimliği oluşturur. Daha fazla bilgi için bkz . Yönetilen kimlikleri kullanma. Küme kimliğiniz olarak bir hizmet sorumlusu da kullanabilirsiniz.
Bu işlem, kümeyi gelişmiş ağ için ve sanal düğümleri kendi Azure sanal ağ alt ağını kullanacak şekilde yapılandırılır. Alt ağ, Azure kaynaklarını AKS kümesi arasında bağlamak için temsilci izinlerine sahiptir. Henüz bir temsilci alt ağınız yoksa, Azure portalı sanal düğümlerle bir Azure sanal ağı ve alt ağı oluşturur ve yapılandırır.
Kümeye bağlanma
Azure Cloud Shell, bu makaledeki adımları çalıştırmak için kullanabileceğiniz ücretsiz bir etkileşimli kabukdur. Yaygın Azure araçları, kabuğa önceden yüklenmiştir ve kabuk, hesabınızla birlikte kullanılacak şekilde yapılandırılmıştır. Kubernetes kümesini yönetmek için Kubernetes komut satırı istemcisi kubectl’i kullanın. kubectl
istemcisi Azure Cloud Shell’de önceden yüklüdür.
komutunu kullanarak Kubernetes kümenize bağlanacak şekilde
az aks get-credentials
yapılandırınkubectl
. Aşağıdaki örnek myResourceGroup adlı kaynak grubu içindeki myAKSCluster adlı kümenin kimlik bilgilerini alır:az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
kullanarak
kubectl get nodes
kümenize bağlantıyı doğrulayın.kubectl get nodes
Aşağıdaki örnek çıktı, oluşturulan tek VM düğümünü ve virtual-node-aci-linux adlı sanal Linux düğümünü gösterir:
NAME STATUS ROLES AGE VERSION virtual-node-aci-linux Ready agent 28m v1.11.2 aks-agentpool-14693408-0 Ready agent 32m v1.11.2
Örnek uygulama dağıtma
Azure Cloud Shell'de adlı
virtual-node.yaml
bir dosya oluşturun ve aşağıdaki YAML'de kopyalayın:apiVersion: apps/v1 kind: Deployment metadata: name: aci-helloworld spec: replicas: 1 selector: matchLabels: app: aci-helloworld template: metadata: labels: app: aci-helloworld spec: containers: - name: aci-helloworld image: mcr.microsoft.com/azuredocs/aci-helloworld ports: - containerPort: 80 nodeSelector: kubernetes.io/role: agent beta.kubernetes.io/os: linux type: virtual-kubelet tolerations: - key: virtual-kubelet.io/provider operator: Exists
YAML, pod'un sanal düğümde zamanlanması için bir nodeSelector ve tolerans tanımlar. Pod' a, sanal düğümlerle kullanılmak üzere temsilci olarak atanan Azure sanal ağ alt ağından bir iç IP adresi atanır.
komutunu kullanarak
kubectl apply
uygulamayı çalıştırın.kubectl apply -f virtual-node.yaml
komutunu bağımsız değişkeniyle kullanarak
kubectl get pods
düğümde zamanlanan podları-o wide
görüntüleyin.kubectl get pods -o wide
Aşağıdaki örnek çıktıda düğümde
virtual-node-helloworld
zamanlanan pod gösterilmektedirvirtual-node-linux
.NAME READY STATUS RESTARTS AGE IP NODE virtual-node-helloworld-9b55975f-bnmfl 1/1 Running 0 4m 10.241.0.4 virtual-node-aci-linux
Dekont
Azure Container Registry'de depolanan görüntüleri kullanıyorsanız kubernetes gizli dizisini yapılandırın ve kullanın. Sanal düğümlerin bir sınırlaması, tümleşik Microsoft Entra hizmet sorumlusu kimlik doğrulamayı kullanamamanızdır. Gizli dizi kullanmazsanız, sanal düğümlerde zamanlanan podlar başlatılamaz ve hatasını HTTP response status code 400 error code "InaccessibleImage"
bildiremez.
Sanal düğüm podunu test edin
Sanal düğümde çalışan podu test etmek için bir web istemcisiyle tanıtım uygulamasına göz atın. Poda bir iç IP adresi atanır, böylece AKS kümesindeki başka bir poddan bağlantıyı kolayca test edebilirsiniz.
Aşağıdaki
kubectl run
komutu kullanarak bir test podu oluşturun ve buna bir terminal oturumu ekleyin.kubectl run -it --rm virtual-node-test --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Aşağıdaki
apt-get
komutu kullanarak pod'a yükleyincurl
.apt-get update && apt-get install -y curl
Aşağıdaki
curl
komutu kullanarak podunuzun adresine erişin ve iç IP adresinizi sağlayın.curl -L http://10.241.0.4
Aşağıdaki daraltılmış örnek çıktı, tanıtım uygulamasını gösterir.
<html> <head> <title>Welcome to Azure Container Instances!</title> </head> [...]
ile test podunuza
exit
terminal oturumunu kapatın ve pod da silinir.exit
Sonraki adımlar
Bu makalede, sanal düğümde bir pod zamanladıysanız ve özel, iç IP adresi atadıysanız. İsterseniz, bunun yerine bir hizmet dağıtımı oluşturabilir ve trafiği yük dengeleyici veya giriş denetleyicisi aracılığıyla podunuza yönlendirebilirsiniz. Daha fazla bilgi için bkz . AKS'de temel giriş denetleyicisi oluşturma.
Sanal düğümler, AKS'deki bir ölçeklendirme çözümünün bileşenlerinden biridir. Çözümleri ölçeklendirme hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Azure Kubernetes Service
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