Hızlı Başlangıç: Azure Resource Manager şablonu kullanarak Kubernetes kümesi dağıtma
Şunlar için geçerlidir: Azure Yerel, sürüm 23H2
Bu hızlı başlangıçta, Azure Resource Manager (ARM) şablonu kullanarak AKS Arc'ta Kubernetes kümesinin nasıl dağıtılacağı gösterilmektedir. Azure Arc, Azure yönetim özelliklerini her yerde Kubernetes kümelerine genişleterek farklı ortamları yönetmeye yönelik birleşik bir yaklaşım sağlar.
Başlamadan önce
Bu makalede Kubernetes kavramlarını temel olarak anlayan bir kavram olduğu varsayılır.
ARM şablonunu dağıtmak için, dağıttığınız kaynaklara yazma erişimine ve Microsoft.Resources/deployments kaynak türündeki tüm işlemlere erişmeniz gerekir. Örneğin, bir sanal makine dağıtmak için Microsoft.Compute/virtualMachines/write ve Microsoft.Resources/deployments/* izinlerine sahip olmanız gerekir. Rol ve izinlerin listesi için bkz. Azure yerleşik rolleri.
Önkoşullar
- Etkin aboneliği olan bir Azure hesabı.
- Azure Yerel sürüm 23H2 kümesi.
- En son Azure CLI sürümü.
1. Adım: Azure hesabınızı hazırlama
Azure'da oturum açın: Terminalinizi veya komut isteminizi açın ve Azure CLI'yi kullanarak Azure hesabınızda oturum açın:
az login
Aboneliğinizi ayarlayın: değerini abonelik kimliğiniz ile değiştirin
<your-subscription-id>
:az account set --subscription "<your-subscription-id>"
2. Adım: Azure CLI kullanarak SSH anahtar çifti oluşturma
az sshkey create --name "mySSHKey" --resource-group "myResourceGroup"
veya ssh-keygen kullanarak bir SSH anahtar çifti oluşturun:
ssh-keygen -t rsa -b 4096
Şablonu dağıtmak için SSH çiftinden ortak anahtarı sağlamanız gerekir. Ortak anahtarı almak için komutunu az sshkey show
kullanın:
az sshkey show --name "mySSHKey" --resource-group "myResourceGroup" --query "publicKey"
Varsayılan olarak, SSH anahtar dosyaları ~/.ssh dizininde oluşturulur.
az sshkey create
Aynı ada sahip mevcut SSH anahtar çiftlerinin üzerine yazmak için veya ssh-keygen
komutunu çalıştırın.
SSH anahtarları oluşturma hakkında daha fazla bilgi için bkz . Azure'da kimlik doğrulaması için SSH anahtarları oluşturma ve yönetme.
3. Adım: Şablonu gözden geçirme
şablon ve parametre dosyalarını AKSArc deposundan yerel makinenize indirin. Tüm varsayılan değerleri gözden geçirin ve doğru olduklarından emin olun.
4. Adım: Şablonu dağıtma
Kubernetes kümesini dağıtmak için aşağıdaki komutu çalıştırın:
az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
Kümenin oluşturulması birkaç dakika sürer. Sonraki adıma geçmeden önce kümenin başarıyla dağıtılması için bekleyin.
5. Adım: Dağıtımı doğrulama
Dağıtım tamamlandıktan sonra Kubernetes kümenizin çalışır durumda olduğunu doğrulamak için aşağıdaki komutu kullanın:
az aksarc show --resource-group "<resource-group-name>" --name "<cluster-name>" --output table
6. Adım: Kümeye bağlanma
Kümeye bağlanmak için komutunu çalıştırın
az connectedk8s proxy
. komutu istemci makinesinde bir ara sunucu ikili dosyası indirip çalıştırır ve kümeyle ilişkilendirilmiş bir kubeconfig dosyasını getirir:az connectedk8s proxy --name <cluster name> -g <resource group>
Alternatif olarak Kubernetes komut satırı istemcisi kubectl'yi de kullanabilirsiniz. Azure Cloud Shell kullanıyorsanız kubectl zaten yüklüdür. Kubectl'yi yerel olarak yüklemek ve çalıştırmak için komutunu çalıştırın
az aksarc install-cli
.komutunu kullanarak kubectl'yi
az aksarc get-credentials
. Bu komut kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırmaktadır:az aksarc get-credentials --resource-group "<resource-group-name>" --name "<cluster-name>"
komutunu kullanarak
kubectl get
kümenize bağlantıyı doğrulayın. Bu komut, küme düğümlerinin listesini döndürür:kubectl get nodes -A --kubeconfig .\<path to kubecofig>
Aşağıdaki örnek çıktı, önceki adımlarda oluşturulan üç düğümü gösterir. Düğüm durumunun Hazır olduğundan emin olun:
NAME STATUS ROLES AGE VERSION aks-agentpool-27442051-vmss000000 Ready agent 10m v1.27.7 aks-agentpool-27442051-vmss000001 Ready agent 10m v1.27.7 aks-agentpool-27442051-vmss000002 Ready agent 11m v1.27.7
7. Adım: Azure Resource Manager şablonu kullanarak düğüm havuzunu dağıtma (isteğe bağlı)
3. adıma benzer şekilde, AKSArc deposundan düğüm havuzu şablonunu ve parametrelerini indirin ve varsayılan değerleri gözden geçirin.
Azure CLI kullanarak şablonu dağıtma ve sonuçları doğrulama (isteğe bağlı)
Şablonu gözden geçirin ve uygulayın. Bu işlemin tamamlanması birkaç dakika sürer. Düğüm havuzunun başarıyla oluşturulduğunu doğrulamak için Azure CLI'yi kullanabilirsiniz:
az deployment group create \
--name "<deployment-name>" \
--resource-group "<resource-group-name>" \
--template-file "azuredeploy.json" \
--parameters "azuredeploy.parameters.json"
az aksarc nodepool show --cluster-name "<cluster-name>" --resource-group "<resource-group-name>" --name "<nodepool-name>"
Şablon kaynakları
connectedClusters
Veri Akışı Adı | Açıklama | Değer |
---|---|---|
type |
Kaynağın türü. | Microsoft.Kubernetes/ConnectedClusters |
apiVersion |
Kaynak API sürümü. | 2024-01-01 |
name |
Kaynak adı. | Dize (gerekli) Karakter sınırı: 1-63 Geçerli karakterler: Alfasayısallar, alt çizgiler ve kısa çizgiler. Alfasayısal ile başlayıp bitirin. |
location |
Kaynağın bulunduğu coğrafi konum. | Dize (gerekli). |
tags |
Kaynak etiketleri. | Etiket adları ve değerleri sözlüğü. Bkz . Şablonlardaki etiketler. |
extendedLocation |
Sanal makinenin genişletilmiş konumu. | ExtendedLocation |
identity |
Yapılandırılmışsa bağlı kümenin kimliği. | |
properties |
Bağlı kümenin özellikleri. |
ProvisionedClusterInstances
Veri Akışı Adı | Açıklama | Değer |
---|---|---|
type |
Kaynak türü | microsoft.hybridcontainerservice/provisionedclusterinstances |
apiVersion |
Kaynak API'sinin sürümü | 2024-01-01 |
name |
Kaynak adı | Dize (gerekli). Bunu varsayılandan değiştirmeyin. |
properties |
Bağlı kümenin özellikleri. | |
extendedLocation |
Kümenin genişletilmiş konumu. | ExtendedLocation |
ExtendedLocation
Veri Akışı Adı | Açıklama | Değer |
---|---|---|
name |
Genişletilmiş konumun kimliği. | Dize |
type |
Genişletilmiş konumun türü. | CustomLocation |