Hızlı Başlangıç: Mevcut bir Kubernetes kümesini Azure Arc'a Bağlan

Mevcut bir Kubernetes kümesini Azure Arc'a bağlamak için Azure CLI veya Azure PowerShell kullanarak Azure Arc özellikli Kubernetes'i kullanmaya başlayın.

Kümeleri Azure Arc'a bağlamaya kavramsal bir bakış için bkz . Azure Arc özellikli Kubernetes aracısına genel bakış. Örnek/uygulama deneyiminde bir şeyler denemek için Azure Arc Jumpstart'ı ziyaret edin.

Önkoşullar

Bu önkoşullara ek olarak, Azure Arc özellikli Kubernetes için tüm ağ gereksinimlerini karşıladığınızdan emin olun.

Azure Arc özellikli Kubernetes için sağlayıcıları kaydetme

  1. Aşağıdaki komutları girin:

    az provider register --namespace Microsoft.Kubernetes
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.ExtendedLocation
    
  2. Kayıt işlemini takip edin. Kaydın tamamlanması 10 dakika kadar sürebilir.

    az provider show -n Microsoft.Kubernetes -o table
    az provider show -n Microsoft.KubernetesConfiguration -o table
    az provider show -n Microsoft.ExtendedLocation -o table
    

    Kaydedildikten sonra, bu ad alanlarının durumunun RegistrationState olarak Registereddeğiştiğini görmeniz gerekir.

Kaynak grubu oluşturma

Şu komutu çalıştırın:

az group create --name AzureArcTest --location EastUS --output table

Çıkış:

Location    Name
----------  ------------
eastus      AzureArcTest

Mevcut bir Kubernetes kümesini Bağlan

Kümenizi bağlamak için aşağıdaki komutu çalıştırın. Bu komut Azure Arc aracılarını kümeye dağıtır ve Helm v. 3.6.3'ü dağıtım makinesinin klasörüne .azure yükler. Bu Helm 3 yüklemesi yalnızca Azure Arc için kullanılır ve makinede helm'in önceden yüklenmiş sürümlerini kaldırmaz veya değiştirmez.

Bu örnekte kümenin adı AzureArcTest1'dir.

az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest

Çıkış:

Helm release deployment succeeded

    {
      "aadProfile": {
        "clientAppId": "",
        "serverAppId": "",
        "tenantId": ""
      },
      "agentPublicKeyCertificate": "xxxxxxxxxxxxxxxxxxx",
      "agentVersion": null,
      "connectivityStatus": "Connecting",
      "distribution": "gke",
      "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1",
      "identity": {
        "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "type": "SystemAssigned"
      },
      "infrastructure": "gcp",
      "kubernetesVersion": null,
      "lastConnectivityTime": null,
      "location": "eastus",
      "managedIdentityCertificateExpirationTime": null,
      "name": "AzureArcTest1",
      "offering": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "AzureArcTest",
      "tags": {},
      "totalCoreCount": null,
      "totalNodeCount": null,
      "type": "Microsoft.Kubernetes/connectedClusters"
    }

Bahşiş

Belirtilen konum parametresi olmadan yukarıdaki komut, Azure Arc özellikli Kubernetes kaynağını kaynak grubuyla aynı konumda oluşturur. Azure Arc özellikli Kubernetes kaynağını farklı bir konumda oluşturmak için veya -l <region> komutunu çalıştırırken belirtin.--location <region>az connectedk8s connect

Önemli

Dağıtım zaman aşımı hatası nedeniyle başarısız olursa, bu sorunun nasıl çözüleceğini öğrenmek için sorun giderme kılavuzumuza bakın.

Giden ara sunucu kullanarak Bağlan

Kümeniz giden ara sunucunun arkasındaysa, isteklerin giden ara sunucu üzerinden yönlendirilmesi gerekir.

  1. Dağıtım makinesinde, Azure CLI'nın giden ara sunucuyu kullanması için gereken ortam değişkenlerini ayarlayın:

    export HTTP_PROXY=<proxy-server-ip-address>:<port>
    export HTTPS_PROXY=<proxy-server-ip-address>:<port>
    export NO_PROXY=<cluster-apiserver-ip-address>:<port>
    
  2. Kubernetes kümesinde connect komutunu belirtilen ve proxy-http parametreleriyle proxy-https çalıştırın. Proxy sunucunuz hem HTTP hem de HTTPS ile ayarlandıysa, HTTP ara sunucusu ve --proxy-https HTTPS ara sunucusu için kullandığınızdan --proxy-http emin olun. Proxy sunucunuz yalnızca HTTP kullanıyorsa, bu değeri her iki parametre için de kullanabilirsiniz.

    az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR> --proxy-cert <path-to-cert-file>
    

Dekont

  • Küme içi hizmetler arası iletişim içeren istekler gibi bazı ağ istekleri, giden iletişim için ara sunucu üzerinden yönlendirilen trafikten ayrılmalıdır. parametresi, --proxy-skip-range aracılardan bu uç noktalara yapılan hiçbir iletişimin giden ara sunucu üzerinden gitmemesi için CIDR aralığını ve uç noktalarını virgülle ayrılmış bir şekilde belirtmek için kullanılabilir. Bu parametre için değer olarak en azından kümedeki hizmetlerin CIDR aralığı belirtilmelidir. Örneğin, tüm hizmetlerin aralığında 10.0.0.0/16ClusterIP değerlerine sahip olduğu hizmetlerin listesini döndürdüğü düşünelimkubectl get svc -A. Ardından belirtilmesi --proxy-skip-range gereken değer olur 10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc.
  • --proxy-http, --proxy-httpsve --proxy-skip-range çoğu giden ara sunucu ortamı için beklenir. --proxy-certyalnızca proxy tarafından beklenen güvenilen sertifikaları aracı podlarının güvenilen sertifika deposuna eklemeniz gerekiyorsa gereklidir.
  • Web yuvası bağlantılarına olanak tanımak için giden ara sunucunun yapılandırılması gerekir.

Proxy sunucu uç noktası girişleri olmadan yalnızca güvenilen bir sertifikanın sağlanması gereken giden ara sunucularda, az connectedk8s connect yalnızca --proxy-cert belirtilen girişle çalıştırılabilir. Birden çok güvenilen sertifika beklenirse, birleştirilmiş sertifika zinciri parametresi kullanılarak tek bir dosyada --proxy-cert sağlanabilir.

Dekont

  • --custom-ca-cert , için --proxy-certbir diğer addır. İki parametre de birbirinin yerine kullanılabilir. Her iki parametrenin de aynı komutta geçirilmesi, son geçirilen parametreyi kabul eder.

Connect komutunu belirtilen parametreyle --proxy-cert çalıştırın:

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Küme bağlantısını doğrulama

Şu komutu çalıştırın:

az connectedk8s list --resource-group AzureArcTest --output table

Çıkış:

Name           Location    ResourceGroup
-------------  ----------  ---------------
AzureArcTest1  eastus      AzureArcTest

Dekont

Küme eklendikten sonra, küme meta verilerinin (küme sürümü, aracı sürümü, düğüm sayısı vb.) Azure portaldaki Azure Arc özellikli Kubernetes kaynağının genel bakış sayfasında görüntülenmesi 5 ile 10 dakika arasında sürer.

Bahşiş

Kümenizi bağlarken karşılaşılan sorunları giderme konusunda yardım için bkz . Azure Arc özellikli Kubernetes kümeleri için bağlantı sorunlarını tanılama.

Kubernetes için Azure Arc aracılarını görüntüleme

Azure Arc özellikli Kubernetes, ad alanına çeşitli aracılar azure-arc dağıtır.

  1. Şu dağıtımları ve podları şu şekilde görüntüleyin:

    kubectl get deployments,pods -n azure-arc
    
  2. Tüm podların bir Running durumda olduğunu doğrulayın.

    Çıkış:

     NAME                                        READY   UP-TO-DATE   AVAILABLE   AGE
     deployment.apps/cluster-metadata-operator   1/1     1            1           13d
     deployment.apps/clusterconnect-agent        1/1     1            1           13d
     deployment.apps/clusteridentityoperator     1/1     1            1           13d
     deployment.apps/config-agent                1/1     1            1           13d
     deployment.apps/controller-manager          1/1     1            1           13d
     deployment.apps/extension-manager           1/1     1            1           13d
     deployment.apps/flux-logs-agent             1/1     1            1           13d
     deployment.apps/kube-aad-proxy              1/1     1            1           13d
     deployment.apps/metrics-agent               1/1     1            1           13d
     deployment.apps/resource-sync-agent         1/1     1            1           13d
    
     NAME                                            READY   STATUS    RESTARTS   AGE
     pod/cluster-metadata-operator-9568b899c-2stjn   2/2     Running   0          13d
     pod/clusterconnect-agent-576758886d-vggmv       3/3     Running   0          13d
     pod/clusteridentityoperator-6f59466c87-mm96j    2/2     Running   0          13d
     pod/config-agent-7cbd6cb89f-9fdnt               2/2     Running   0          13d
     pod/controller-manager-df6d56db5-kxmfj          2/2     Running   0          13d
     pod/extension-manager-58c94c5b89-c6q72          2/2     Running   0          13d
     pod/flux-logs-agent-6db9687fcb-rmxww            1/1     Running   0          13d
     pod/kube-aad-proxy-67b87b9f55-bthqv             2/2     Running   0          13d
     pod/metrics-agent-575c565fd9-k5j2t              2/2     Running   0          13d
     pod/resource-sync-agent-6bbd8bcd86-x5bk5        2/2     Running   0          13d
    

Bu aracılar hakkında daha fazla bilgi için bkz . Azure Arc özellikli Kubernetes aracısı genel bakış.

Kaynakları temizleme

Aşağıdaki komutu kullanarak Azure CLI kullanarak Azure Arc özellikli Kubernetes kaynağını, ilişkili yapılandırma kaynaklarını ve kümede çalışan aracıları silebilirsiniz:

az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest

Silme işlemi başarısız olursa, silmeye zorlamak için aşağıdaki komutu kullanın (onay istemini atlamak istiyorsanız ekleyin -y ):

az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force

Bu komut, yeni bir küme dağıtımı oluştururken sorunlarla karşılaşırsanız da kullanılabilir (önceden oluşturulan kaynakların tamamen kaldırılmaması nedeniyle).

Dekont

Azure portalını kullanarak Azure Arc özellikli Kubernetes kaynağını silmek ilişkili yapılandırma kaynaklarını kaldırır, ancak kümede çalışan aracıları kaldırmaz . En iyi yöntem, Azure portalda kaynağı silmek yerine kullanarak az connectedk8s delete Azure Arc özellikli Kubernetes kaynağını silmektir.

Sonraki adımlar