Azure Arc özellikli Kubernetes'te özel konumlar oluşturma ve yönetme

Özel konumlar özelliği, Azure Arc özellikli Kubernetes kümelerinizi Azure tekliflerinin örneklerini dağıtmak için hedef konumlar olarak yapılandırmanın bir yolunu sağlar. Özel konumların üzerine dağıtılabilir Azure tekliflerine örnek olarak Azure Arc ve Azure Arc özellikli PostgreSQL sunucusu tarafından etkinleştirilen SQL Yönetilen Örneği gibi veritabanları veya App Services, İşlevler, Event Grid, Logic Apps ve API Management gibi uygulama örnekleri verilebilir.

Özel konum, Azure Arc özellikli Kubernetes kümesindeki bir ad alanına bire bir eşlemeye sahiptir. Azure rol tabanlı erişim denetimi (Azure RBAC) ile birlikte azure kaynağının özel konumu, uygulama geliştiricilerine veya veritabanı yöneticilerine ayrıntılı izinler vermek için kullanılabilir ve bu sayede çok kiracılı bir ortamda Arc özellikli Kubernetes kümelerinin üzerine veritabanları veya uygulama örnekleri gibi kaynakları dağıtabilir.

Bu makalede Arc özellikli kubernetes kümesinde özel konumları etkinleştirmeyi ve özel konum oluşturmayı öğreneceksiniz.

Önkoşullar

  • Azure CLI'yi en son sürüme yükleyin veya yükseltin.

  • Aşağıdaki Azure CLI uzantılarının en son sürümlerini yükleyin:

    • connectedk8s

    • k8s-extension

    • customlocation

      az extension add --name connectedk8s
      az extension add --name k8s-extension
      az extension add --name customlocation
      

      , k8s-extensionve uzantılarını zaten yüklediysenizconnectedk8s, aşağıdaki komutu kullanarak en son sürüme güncelleştirincustomlocation:

      az extension update --name connectedk8s
      az extension update --name k8s-extension
      az extension update --name customlocation
      
  • için Microsoft.ExtendedLocationtamamlanmış sağlayıcı kaydını doğrulayın.

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

      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.ExtendedLocation -o table
      

      Kaydedildikten RegistrationState sonra, durum değerine sahip Registered olur.

  • Azure Arc özellikli kubernetes bağlı bir kümeniz olduğunu doğrulayın ve aracılarınızı en son sürüme yükseltin. Bu makalede açıklanan komutları çalıştıracağınız makinenin bu kümeyi işaret eden bir kubeconfig dosyası olduğunu onaylayın.

Kümenizde özel konumları etkinleştirme

İpucu

Özel konumlar özelliği, küme bağlama özelliğine bağlıdır. Özel konumların çalışması için kümede her iki özelliğin de etkinleştirilmesi gerekir.

Azure CLI'da Microsoft Entra kullanıcısı olarak oturum açtıysanız aşağıdaki komutu kullanın:

az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations

Hizmet sorumlusu kullanarak Azure CLI'da oturum açarken yukarıdaki komutu çalıştırırsanız aşağıdaki uyarıyı gözlemleyebilirsiniz:

Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.

Bunun nedeni, hizmet sorumlusunun Azure Arc hizmeti tarafından kullanılan uygulama hakkında bilgi alma izinlerine sahip olmamasıdır. Bu hatayı önlemek için aşağıdaki adımları tamamlayın:

  1. Kullanıcı hesabınızı kullanarak Azure CLI’de oturum açın. objectId Aşağıdaki komutu kullanarak Azure Arc hizmeti tarafından kullanılan Microsoft Entra uygulamasının veya id değerini getirin:

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  2. Hizmet sorumlusunu kullanarak Azure CLI’de oturum açın. Kümede <objectId> özel konumları etkinleştirmek için önceki adımdaki veya id değerini kullanın:

    az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId/id> --features cluster-connect custom-locations
    

Özel konum oluşturma

  1. Kümenize yüklemek istediğiniz Azure hizmet örneğinin Azure hizmet kümesi uzantısını dağıtın:

  2. Azure Arc özellikli Kubernetes kümesinin Azure Resource Manager tanımlayıcısını alın. Bu değer sonraki adımlarda connectedClusterId olarak kullanılır:

    az connectedk8s show -n <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  3. Azure Arc özellikli Kubernetes kümesine dağıttığınız küme uzantısının Azure Resource Manager tanımlayıcısını alın ve sonraki adımlarda şu şekilde extensionIdbaşvurabilirsiniz:

    az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  4. Azure Arc özellikli Kubernetes kümesine ve uzantıya başvurarak özel konumu oluşturun:

    az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId> 
    
    • Gerekli parametreler:

      Parametre adı Açıklama
      --name, --n Özel konumun adı.
      --resource-group, --g Özel konumun kaynak grubu.
      --namespace Oluşturulan özel konuma bağlı kümedeki ad alanı.
      --host-resource-id Azure Arc özellikli Kubernetes kümesinin (bağlı küme) Azure Resource Manager tanımlayıcısı.
      --cluster-extension-ids Bağlı kümede yüklü bir küme uzantısı örneğinin Azure Resource Manager tanımlayıcısı. Birden çok uzantı için, küme uzantısı kimliklerinin boşlukla ayrılmış bir listesini sağlayın
    • İsteğe bağlı parametreler:

      Parametre adı Açıklama
      --location, --l Özel konum Azure Resource Manager kaynağının Azure’daki konumu. Belirtilmezse, bağlı kümenin konumu kullanılır.
      --tags biçimindeki key[=value]etiketlerin boşlukla ayrılmış listesi. Mevcut etiketleri temizlemek için '' kullanın.
      --kubeconfig kubeconfig Kümenin Yönetici.

Özel konumun ayrıntılarını gösterme

Özel konumun ayrıntılarını göstermek için aşağıdaki komutu kullanın:

az customlocation show -n <customLocationName> -g <resourceGroupName> 

Özel konumları listeleme

Bir kaynak grubundaki tüm özel konumları listelemek için aşağıdaki komutu kullanın:

az customlocation list -g <resourceGroupName> 

Özel konumu güncelleştirme

Etiketlerin ve ilişkili küme uzantılarının update mevcut değerlerini korurken özel konum için --tags yeni değerler eklemek veya yenileriyle --cluster-extension-ids ilişkilendirmek için komutunu kullanın.

az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Özel bir konuma düzeltme eki uygulama

patch veya --tagsiçin mevcut değerleri değiştirmek için --cluster-extension-ids komutunu kullanın. Önceki değerler korunmaz.

az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Özel konumu silme

Özel konumu silmek için aşağıdaki komutu kullanın:

az customlocation delete -n <customLocationName> -g <resourceGroupName> 

Sorun giderme

Özel konum oluşturma işlemi hatasıyla Unknown proxy error occurredbaşarısız olursa, ağ ilkenizi ad alanı içinde azure-arc poddan poda iç iletişime izin verecek şekilde değiştirin. Ayrıca, ad alanını azure-arc yapılandırılan ilkeniz için ara sunucu olmayan dışlama listesinin bir parçası olarak eklediğinizden emin olun.

Sonraki adımlar