hızlı başlangıç: mevcut bir kubernetes kümesini Azure yaya Bağlan
Bu hızlı başlangıçta, Azure Arc özellikli Kubernetes 'in avantajlarını ve mevcut bir Kubernetes kümesini Azure yaya nasıl bağlayacağınızı öğreneceksiniz. Kümeleri Azure yaya bağlama hakkında kavramsal bakış için bkz. Azure Arc-etkinleştirilmiş Kubernetes aracı mimarisi makalesi.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Önkoşullar
Sürüm >= 1.2.0 connectedk8s Azure CLI uzantısını yükler:
az extension add --name connectedk8sKümenizi Azure yaya bağlamak için kullanmak istediğiniz kimliği (Kullanıcı veya hizmet sorumlusu) kullanarak Azure CLI 'Da oturum açın .
- Kullanılan kimliğin, Azure Arc özellikli Kubernetes kaynak türü () üzerinde en azından ' Read ' ve ' Write ' izinlerine sahip olması gerekir
Microsoft.Kubernetes/connectedClusters. - Kubernetes kümesi-Azure Arc ekleme yerleşik rolü , yalnızca kümeleri Azure yaya bağlamak için gereken ayrıntılı izinlere sahip olduğundan ölçekli ekleme için yararlıdır. Bu rol, diğer kümeleri veya diğer Azure kaynaklarını güncelleştirme, silme veya değiştirme izinlerine sahip değildir.
- Kullanılan kimliğin, Azure Arc özellikli Kubernetes kaynak türü () üzerinde en azından ' Read ' ve ' Write ' izinlerine sahip olması gerekir
Çalışır duruma bir Kubernetes kümesi. Bir tane yoksa, aşağıdaki seçeneklerden birini kullanarak bir küme oluşturabilirsiniz:
Mac Için Docker veya Windows kullanarak bir Kubernetes kümesi oluşturma
Küme API 'sini kullanarak kendi kendine yönetilen Kubernetes kümesi
Bir OpenShift kümesini Azure yaya bağlamak istiyorsanız, çalıştırmadan önce kümenizde bir kez aşağıdaki komutu yürütmeniz gerekir
az connectedk8s connect:oc adm policy add-scc-to-user privileged system:serviceaccount:azure-arc:azure-arc-kube-aad-proxy-sa
Not
Kümenin en az bir işletim sistemi ve mimari türü düğümü olması gerekir
linux/amd64. Yalnızca düğümleri olan kümelerlinux/arm64henüz desteklenmiyor.kubeconfigKümenize işaret eden bir dosya ve bağlam.
Ağ gereksinimlerini karşılayın
Önemli
Azure Arc aracıları için aşağıdaki giden URL 'Lerin https://:443 çalışması gerekir.
İçin *.servicebus.windows.net , WebSockets güvenlik duvarı ve proxy üzerinde giden erişim için etkinleştirilmesi gerekir.
| Uç nokta (DNS) | Açıklama |
|---|---|
https://management.azure.com (Azure bulutu için), https://management.usgovcloudapi.net (Azure US kamu için) |
Aracının Azure 'a bağlanması ve kümeyi kaydetmesi için gereklidir. |
https://<region>.dp.kubernetesconfiguration.azure.com (Azure bulutu için), https://<region>.dp.kubernetesconfiguration.azure.us (Azure US kamu için) |
Aracının durumu iletme ve yapılandırma bilgilerini getirme işlemi için veri düzlemi uç noktası. |
https://login.microsoftonline.com, login.windows.net (Azure bulutu için), https://login.microsoftonline.us (Azure US kamu için) |
Azure Resource Manager belirteçleri getirmek ve güncelleştirmek için gereklidir. |
https://mcr.microsoft.com, https://*.data.mcr.microsoft.com |
Azure Arc aracıları için kapsayıcı görüntülerini çekmek için gereklidir. |
https://gbl.his.arc.azure.com (Azure bulutu için), https://gbl.his.arc.azure.us (Azure US kamu için) |
Sistem tarafından atanan yönetilen kimlik sertifikalarının çekmesine yönelik bölgesel bitiş noktasını almak için gereklidir. |
https://*.his.arc.azure.com (Azure bulutu için), https://usgv.his.arc.azure.us (Azure US kamu için) |
Sistem tarafından atanan yönetilen kimlik sertifikalarını çekmek için gereklidir. |
*.servicebus.windows.net, guestnotificationservice.azure.com, *.guestnotificationservice.azure.com, sts.windows.net |
küme Bağlan ve özel konum tabanlı senaryolar için. |
https://k8connecthelm.azureedge.net |
az connectedk8s connect , Kubernetes kümesinde Azure Arc aracılarını dağıtmak için Held 3 kullanır. Bu uç nokta, aracı helb grafiğinin dağıtımını kolaylaştırmak için hele istemci indirmesi için gereklidir. |
1. Azure yay özellikli Kubernetes için sağlayıcı kaydetme
Aşağıdaki komutları girin:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocationKayıt işlemini izleyin. Kayıt, en fazla 10 dakika 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 tableKaydolduktan sonra,
RegistrationStateBu ad alanlarının durumunu olarak değiştirme durumunu görmeniz gerekirRegistered.
2. kaynak grubu oluşturma
Şu komutu çalıştırın:
az group create --name AzureArcTest --location EastUS --output table
Çıkış:
Location Name ---------- ------------ eastus AzureArcTest
3. var olan bir kubernetes kümesini Bağlan
Şu komutu çalıştırın:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Not
Azure CLı hizmetinde bir hizmet sorumlusu kullanarak oturum açtıysanız, kümede özel konum özelliğinin etkinleştirilmesi için ek bir parametre ayarlanması gerekir.
Çı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"
}
İpucu
Yukarıdaki 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, komutunu ya da --location <region> -l <region> komutunu çalıştırırken belirtin az connectedk8s connect .
4a. giden proxy sunucusu kullanarak Bağlan
Kümeniz giden bir proxy sunucusunun arkasındaysa Azure CLı ve Azure Arc özellikli Kubernetes aracılarının isteklerini giden ara sunucu üzerinden yönlendirmesi gerekir.
Azure CLı için gereken ortam değişkenlerini giden proxy sunucusunu kullanacak şekilde 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>Connect komutunu belirtilen proxy parametreleriyle Çalıştır:
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>Not
- Küme içi hizmetten hizmete iletişimi gibi bazı ağ isteklerinin, giden iletişim için proxy sunucusu üzerinden yönlendirilen trafikle ayrılması gerekir.
--proxy-skip-rangeParametresi, aracılardan bu uç noktalara giden 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. En azından, kümedeki hizmetlerin CıDR aralığı bu parametrenin değeri olarak belirtilmelidir. Örneğin,kubectl get svc -Atüm hizmetlerin aralıktaki ClusterIP değerlerine sahip olduğu bir hizmet listesini döndürlim10.0.0.0/16. Ardından, için belirtmek için değeri--proxy-skip-range10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc. --proxy-http,--proxy-httpsve--proxy-skip-rangeçoğu giden proxy ortamları için beklenmektedir.--proxy-certyalnızca proxy tarafından beklenen güvenilen sertifikaları, aracı pods 'nin güvenilen sertifika deposuna eklemeniz gerekiyorsa gereklidir.- Giden ara sunucu, WebSocket bağlantılarına izin verecek şekilde yapılandırılmalıdır.
- Küme içi hizmetten hizmete iletişimi gibi bazı ağ isteklerinin, giden iletişim için proxy sunucusu üzerinden yönlendirilen trafikle ayrılması gerekir.
5. 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
Not
Kümeyi eklemenin ardından küme meta verilerinin (küme sürümü, aracı sürümü, düğüm sayısı vb.) Azure Arc etkin Kubernetes kaynağının genel bakış sayfasında ortaya Azure portal.
6. Kubernetes Azure Arc aracılarını görüntüleme
Azure Arc kubernetes ad alanına birkaç işleç azure-arc dağıtır.
Şu dağıtımları ve podları görüntülemek için şunları kullanın:
kubectl get deployments,pods -n azure-arcTüm podların bir durumda olduğunu
Runningdoğ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ılara kavramsal bir genel bakış burada mevcuttur.
7. Kaynakları temizleme
Aşağıdaki komutu kullanarak Azure Arc Kubernetes kaynağını, ilişkili yapılandırma kaynaklarını ve Azure CLI kullanarak kümede çalışan aracıları silebilirsiniz:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Not
Azure Arc kullanan Kubernetes kaynağını silmek Azure portal ilişkili yapılandırma kaynaklarını kaldırır, ancak kümede çalışan aracıları kaldırmaz. En iyi yöntem, Azure Arc yerine kullanarak Azure Arc Kubernetes az connectedk8s delete kaynağını Azure portal.
Sonraki adımlar
GitOps kullanarak bağlı Kubernetes kümenize yapılandırma dağıtma hakkında bilgi edinmek için sonraki makaleye ilerleyin.