Mulai Cepat: Sambungkan kluster Kube yang ada ke Azure Arc
Mulai menggunakan Kubernetes yang didukung Azure Arc dengan menggunakan Azure CLI atau Azure PowerShell untuk menghubungkan kluster Kubernetes yang ada ke Azure Arc.
Untuk melihat konseptual menyambungkan kluster ke Azure Arc, lihat Gambaran umum agen Kubernetes dengan dukungan Azure Arc.
Prasyarat
Akun Azure dengan langganan aktif. Membuat akun secara gratis.
Pemahaman dasar tentang konsep inti Kubernetes.
Identitas (pengguna atau perwakilan layanan) yang dapat digunakan untuk masuk ke Azure CLI dan menghubungkan kluster Anda ke Azure Arc.
Penting
- Identitas harus memiliki izin 'Baca' dan 'Tulis' pada jenis sumber daya Kube yang didukung Azure Arc (
Microsoft.Kubernetes/connectedClusters). - Peran bawaan Kluster Kubernetes - Azure Arc Onboarding dapat digunakan untuk identitas ini. Peran ini berguna untuk onboarding dalam skala besar, karena hanya memiliki izin terperinci yang diperlukan untuk menghubungkan kluster ke Azure Arc, dan tidak memiliki izin untuk memperbarui, menghapus, atau memodifikasi kluster lain atau sumber daya Azure lainnya.
- Identitas harus memiliki izin 'Baca' dan 'Tulis' pada jenis sumber daya Kube yang didukung Azure Arc (
Menginstal atau meningkatkan Azure CLI ke versi >= 2.16.0
Instal ekstensi Azure CLI connectedk8s versi >= 1.2.0:
az extension add --name connectedk8sKluster Kube yang sedang berjalan. Jika tidak memilikinya, Anda dapat membuat kluster menggunakan salah satu opsi berikut:
Membuat kluster Kubernetes menggunakan Docker untuk Mac atau Windows
Kluster Kube yang dikelola sendiri menggunakan API Kluster
Catatan
Kluster ini perlu memiliki setidaknya satu simpul sistem operasi dan jenis arsitektur
linux/amd64. Kluster dengan hanya simpullinux/arm64belum didukung.
File dan konteks kubeconfig yang menunjuk ke kluster Anda.
Mendaftarkan penyedia untuk Kubernetes dengan dukungan Azure Arc
Masukkan perintah berikut:
az provider register --namespace Microsoft.Kubernetes az provider register --namespace Microsoft.KubernetesConfiguration az provider register --namespace Microsoft.ExtendedLocationPantau proses pendaftaran. Pendaftaran mungkin memakan waktu hingga 10 menit.
az provider show -n Microsoft.Kubernetes -o table az provider show -n Microsoft.KubernetesConfiguration -o table az provider show -n Microsoft.ExtendedLocation -o tableSetelah terdaftar, Anda akan melihat status
RegistrationStatekarena namespace layanan berubah menjadiRegistered.
Memenuhi persyaratan jaringan
Penting
Agen Azure Arc memerlukan URL keluar berikut pada https://:443 agar berfungsi.
Untuk *.servicebus.windows.net, websocket perlu diaktifkan untuk akses keluar pada firewall dan proksi.
| Titik akhir (DNS) | Deskripsi |
|---|---|
https://management.azure.com (untuk Azure Cloud), https://management.usgovcloudapi.net (untuk Azure Pemerintah AS) |
Diperlukan bagi agen untuk terhubung ke Azure dan mendaftarkan kluster. |
https://<region>.dp.kubernetesconfiguration.azure.com (untuk Azure Cloud), https://<region>.dp.kubernetesconfiguration.azure.us (untuk Azure Pemerintah AS) |
Titik akhir sarana data bagi agen untuk mendorong status dan mengambil informasi konfigurasi. |
https://login.microsoftonline.com, , https://<region>.login.microsoft.comlogin.windows.net (untuk Azure Cloud), https://login.microsoftonline.us, <region>.login.microsoftonline.us (untuk Azure Pemerintah AS) |
Diperlukan untuk mengambil dan memperbarui token Azure Resource Manager. |
https://mcr.microsoft.com, https://*.data.mcr.microsoft.com |
Diperlukan untuk penarikan gambar kontainer untuk agen Azure Arc. |
https://gbl.his.arc.azure.com (untuk Azure Cloud), https://gbl.his.arc.azure.us (untuk Azure Pemerintah AS) |
Diperlukan untuk mendapatkan titik akhir regional guna menarik sertifikat Identitas Layanan Terkelola yang ditetapkan sistem. |
https://*.his.arc.azure.com (untuk Azure Cloud), https://usgv.his.arc.azure.us (untuk Azure Pemerintah AS) |
Diperlukan untuk penarikan sertifikat Identitas Terkelola yang ditetapkan sistem. |
*.servicebus.windows.net, guestnotificationservice.azure.com, *.guestnotificationservice.azure.com, sts.windows.net, https://k8sconnectcsp.azureedge.net |
Untuk Kluster Tersambung dan untuk Lokasi Kustom berdasarkan skenario. |
https://k8connecthelm.azureedge.net |
az connectedk8s connect menggunakan Helm 3 untuk menyebarkan agen Azure Arc pada kluster Kubernetes. Titik akhir ini diperlukan bagi unduhan klien Helm untuk memfasilitasi penyebaran bagan helm agen. |
Membuat grup sumber daya
Jalankan perintah berikut:
az group create --name AzureArcTest --location EastUS --output table
Output:
Location Name
---------- ------------
eastus AzureArcTest
Menyambungkan kluster Kubernetes yang ada
Jalankan perintah berikut:
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
Catatan
Jika Anda masuk ke Azure CLI menggunakan perwakilan layanan, parameter tambahan perlu diatur untuk mengaktifkan fitur lokasi kustom pada kluster.
Output:
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"
}
Tip
Perintah di atas tanpa parameter lokasi yang ditentukan membuat sumber daya Kube yang diaktifkan Azure Arc di lokasi yang sama dengan grup sumber daya. Untuk membuat sumber daya Kube yang diaktifkan Azure Arc di lokasi yang berbeda, tentukan salah satu --location <region> atau -l <region> saat menjalankan perintah az connectedk8s connect.
Menyambungkan menggunakan server proksi keluar
Jika kluster Anda berada di belakang server proksi keluar, permintaan harus dirutekan melalui server proksi keluar.
Atur variabel lingkungan yang diperlukan Azure CLI untuk menggunakan server proksi keluar:
export HTTP_PROXY=<proxy-server-ip-address>:<port> export HTTPS_PROXY=<proxy-server-ip-address>:<port> export NO_PROXY=<cluster-apiserver-ip-address>:<port>Jalankan perintah sambungkan dengan parameter proksi yang ditentukan:
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>
Catatan
- Beberapa permintaan jaringan seperti yang melibatkan komunikasi layanan-ke-layanan dalam kluster perlu dipisahkan dari lalu lintas yang dirutekan melalui server proksi untuk komunikasi keluar. Parameter
--proxy-skip-rangedapat digunakan untuk menentukan rentang CIDR dan titik akhir dengan cara pemisahan dengan koma sehingga komunikasi apa pun dari agen ke titik akhir ini tidak melalui proksi keluar. Minimal, rentang CIDR dari layanan dalam kluster harus ditentukan sebagai nilai untuk parameter ini. Misalnya, katakanlahkubectl get svc -Amenampilkan daftar layanan di mana semua layanan memiliki nilai ClusterIP dalam rentang10.0.0.0/16. Maka nilai yang harus ditentukan untuk--proxy-skip-rangeadalah10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc. --proxy-http,--proxy-https, dan--proxy-skip-rangediharapkan untuk sebagian besar lingkungan proksi keluar.--proxy-certhanya diperlukan jika Anda perlu menyisipkan sertifikat terpercaya yang diharapkan oleh proksi ke dalam penyimpanan sertifikat terpercaya dari pod agen.- Proksi keluar harus dikonfigurasi untuk memungkinkan koneksi websocket.
Untuk server proksi keluar di mana hanya sertifikat tepercaya yang perlu disediakan tanpa input titik akhir server proksi, az connectedk8s connect dapat dijalankan hanya --proxy-cert dengan input yang ditentukan. Jika beberapa sertifikat tepercaya diharapkan, rantai sertifikat gabungan dapat disediakan dalam satu file menggunakan --proxy-cert parameter .
Jalankan perintah sambungkan dengan --proxy-cert parameter yang ditentukan:
az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>
Memverifikasi koneksi kluster
Jalankan perintah berikut:
az connectedk8s list --resource-group AzureArcTest --output table
Output:
Name Location ResourceGroup
------------- ---------- ---------------
AzureArcTest1 eastus AzureArcTest
Catatan
Setelah onboarding kluster, dibutuhkan waktu sekitar 5 hingga 10 menit agar metadata kluster (versi kluster, versi agen, jumlah simpul, dll.) muncul pada halaman ringkasan sumber daya Kube yang diaktifkan Azure Arc di portal Microsoft Azure.
Melihat agen Azure Arc untuk Kubernetes
Kubernetes dengan dukungan Azure Arc menyebarkan beberapa agen ke azure-arc dalam namespace layanan.
Lihat penyebaran dan pod ini menggunakan:
kubectl get deployments,pods -n azure-arcPastikan semua pod dalam keadaan
Running.Output:
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
Untuk informasi selengkapnya tentang agen ini, lihat Gambaran umum agen Kubernetes dengan dukungan Azure Arc.
Membersihkan sumber daya
Anda dapat menghapus sumber daya Kube yang diaktifkan Azure Arc, semua sumber daya konfigurasi terkait, dan agen apa pun yang berjalan di kluster menggunakan Azure CLI menggunakan perintah berikut:
az connectedk8s delete --name AzureArcTest1 --resource-group AzureArcTest
Catatan
Menghapus sumber daya Kubernetes dengan dukungan Azure Arc menggunakan portal Azure menghapus sumber daya konfigurasi terkait, tetapi tidak menghapus agen apa pun yang berjalan pada kluster. Praktik terbaik adalah menghapus sumber daya Kubernetes dengan dukungan Azure Arc, az connectedk8s delete bukan menghapus sumber daya di portal Azure.
Langkah berikutnya
Lanjutkan ke artikel berikutnya untuk mempelajari cara menerapkan konfigurasi ke kluster Kube yang tersambung menggunakan GitOps.