Aracılığıyla paylaş


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

  1. 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
    
  2. 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

  1. 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ınaz aksarc install-cli.

    komutunu kullanarak kubectl'yiaz 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>"
    
  2. 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

Sonraki adımlar

AKS Arc'a genel bakış