Hızlı Başlangıç: Mevcut bir Kubernetes kümesini Azure Arc'a bağlama
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
Önemli
Bu önkoşullara ek olarak, Azure Arc özellikli Kubernetes için tüm ağ gereksinimlerini karşıladığınızdan emin olun.
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
Kubernetes temel kavramları hakkında temel bilgiler.
Azure CLI'da oturum açmak ve kümenizi Azure Arc'a bağlamak için kullanılabilen bir kimlik (kullanıcı veya hizmet sorumlusu).
Aşağıdaki komutu çalıştırarak yüklenen connectedk8s Azure CLI uzantısının en son sürümü:
az extension add --name connectedk8s
Çalışır durumdaki bir Kubernetes kümesi. Kümeniz yoksa, şu seçeneklerden birini kullanarak bir küme oluşturabilirsiniz:
Mac veya Windows için Docker kullanarak Kubernetes kümesi oluşturma
Küme API'si kullanarak kendi kendine yönetilen Kubernetes kümesi
Not
Kümenin en az bir işletim sistemi düğümüne ve/veya
linux/arm64
mimari türünelinux/amd64
sahip olması gerekir. ARM64 senaryoları hakkında daha fazla bilgi için bkz . Küme gereksinimleri .
Kümeye dağıtılacak Arc aracıları için en az 850 MB boş ve tek bir CPU'nun yaklaşık %7'sini kullanma kapasitesi.
Kümenize işaret eden bir kubeconfig dosyası ve bağlam. Kubeconfig dosyasının ne olduğu ve kümenize işaret eden bağlamın nasıl ayarlanacağı hakkında daha fazla bilgi edinmek için lütfen bu makaleye bakın.
Azure Arc özellikli Kubernetes için sağlayıcıları kaydetme
Aşağıdaki komutları girin:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocation
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
olarakRegistered
değ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
Çıktı:
Location Name
---------- ------------
eastus AzureArcTest
Mevcut kubernetes kümesini bağlama
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
Çıktı:
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
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
Giden ara sunucu kullanarak bağlanma
Kümeniz giden ara sunucunun arkasındaysa, isteklerin giden ara sunucu üzerinden yönlendirilmesi gerekir.
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>
Kubernetes kümesinde connect komutunu belirtilen ve
proxy-http
parametreleriyleproxy-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>
Not
- 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ığında10.0.0.0/16
ClusterIP değerlerine sahip olduğu hizmetlerin listesini döndürdüğü düşünelimkubectl get svc -A
. Ardından belirtilmesi--proxy-skip-range
gereken değer olur10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc
. --proxy-http
,--proxy-https
ve--proxy-skip-range
çoğu giden ara sunucu ortamı için beklenir.--proxy-cert
yalnı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.
Not
--custom-ca-cert
, için--proxy-cert
bir 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
Çıktı:
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Not
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.
İpucu
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.
Şu dağıtımları ve podları şu şekilde görüntüleyin:
kubectl get deployments,pods -n azure-arc
Tüm podların bir
Running
durumda olduğunu doğrulayın.Çıktı:
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).
Not
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
- Flux v2 ile GitOps kullanarak yapılandırmaları dağıtmayı öğrenin.
- Yaygın Azure Arc özellikli Kubernetes sorunlarını giderme.
- Azure Arc Jumpstart ile Azure Arc özellikli Kubernetes otomatik senaryolarını deneyimleyin.