Mulai Cepat: Sambungkan kluster Kube yang ada ke Azure Arc
Mulai menggunakan Kubernetes dengan dukungan Azure Arc dengan menggunakan Azure CLI atau Azure PowerShell untuk menyambungkan kluster Kubernetes yang ada ke Azure Arc.
Untuk melihat konseptual menyambungkan kluster ke Azure Arc, lihat Gambaran umum agen Kubernetes dengan dukungan Azure Arc. Untuk mencoba hal-hal dalam pengalaman sampel/praktik, kunjungi Mulai Cepat Azure Arc.
Prasyarat
Penting
Selain prasyarat ini, pastikan untuk memenuhi semua persyaratan jaringan untuk Kubernetes dengan dukungan Azure Arc.
Akun Azure dengan langganan aktif. Buat 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.
Versi terbaru Azure CLI.
Versi terbaru ekstensi Connectedk8s Azure CLI, diinstal dengan menjalankan perintah berikut:
az extension add --name connectedk8s
Kluster 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 harus memiliki setidaknya satu node sistem operasi dan jenis
linux/amd64
arsitektur dan/ataulinux/arm64
. Lihat Persyaratan kluster untuk informasi selengkapnya tentang skenario ARM64.
Setidaknya 850 MB gratis untuk agen Arc yang akan disebarkan pada kluster, dan kapasitas untuk menggunakan sekitar 7% dari satu CPU.
File dan konteks kubeconfig menunjuk ke kluster Anda. Untuk mengetahui lebih lanjut tentang apa itu file kubeconfig dan cara mengatur konteks untuk menunjuk ke kluster Anda, silakan lihat artikel ini.
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.ExtendedLocation
Pantau 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 table
Setelah terdaftar, Anda akan melihat status
RegistrationState
karena namespace layanan berubah menjadiRegistered
.
Buat 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 untuk menyambungkan kluster Anda. Perintah ini menyebarkan agen Azure Arc ke kluster dan menginstal Helm v. 3.6.3 ke .azure
folder komputer penyebaran. Penginstalan Helm 3 ini hanya digunakan untuk Azure Arc, dan tidak menghapus atau mengubah versi Helm yang diinstal sebelumnya pada komputer.
Dalam contoh ini, nama kluster adalah AzureArcTest1.
az connectedk8s connect --name AzureArcTest1 --resource-group AzureArcTest
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
.
Penting
Jika penyebaran gagal karena kesalahan waktu habis, lihat panduan pemecahan masalah kami untuk detail tentang cara mengatasi masalah ini.
Menyambungkan menggunakan server proksi keluar
Jika kluster Anda berada di belakang server proksi keluar, permintaan harus dirutekan melalui server proksi keluar.
Pada komputer penyebaran, atur variabel lingkungan yang diperlukan agar Azure CLI 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>
Pada kluster Kubernetes, jalankan perintah sambungkan
proxy-https
dengan parameter danproxy-http
yang ditentukan. Jika server proksi Anda disiapkan dengan HTTP dan HTTPS, pastikan untuk menggunakan--proxy-http
untuk proksi HTTP dan--proxy-https
untuk proksi HTTPS. Jika server proksi Anda hanya menggunakan HTTP, Anda dapat menggunakan nilai tersebut untuk kedua parameter.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-range
dapat 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 -A
menampilkan daftar layanan di mana semua layanan memiliki nilai ClusterIP dalam rentang10.0.0.0/16
. Maka nilai yang harus ditentukan untuk--proxy-skip-range
adalah10.0.0.0/16,kubernetes.default.svc,.svc.cluster.local,.svc
. --proxy-http
,--proxy-https
, dan--proxy-skip-range
diharapkan untuk sebagian besar lingkungan proksi keluar.--proxy-cert
hanya 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 .
Catatan
--custom-ca-cert
adalah alias untuk--proxy-cert
. Salah satu parameter dapat digunakan secara bergantian. Meneruskan kedua parameter dalam perintah yang sama akan menghormati yang diteruskan terakhir.
Jalankan perintah sambungkan --proxy-cert
dengan 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.
Tip
Untuk membantu memecahkan masalah saat menyambungkan kluster Anda, lihat Mendiagnosis masalah koneksi untuk kluster Kubernetes dengan dukungan Azure Arc.
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-arc
Pastikan 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
Jika proses penghapusan gagal, gunakan perintah berikut untuk memaksa penghapusan (menambahkan -y
jika Anda ingin melewati perintah konfirmasi):
az connectedk8s delete -n AzureArcTest1 -g AzureArcTest --force
Perintah ini juga dapat digunakan jika Anda mengalami masalah saat membuat penyebaran kluster baru (karena sumber daya yang dibuat sebelumnya tidak sepenuhnya dihapus).
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 terbaiknya adalah menghapus sumber daya Kubernetes dengan dukungan Azure Arc, az connectedk8s delete
bukan menghapus sumber daya di portal Azure.
Langkah berikutnya
- Pelajari cara menyebarkan konfigurasi menggunakan GitOps dengan Flux v2.
- Memecahkan masalah umum Kubernetes yang didukung Azure Arc.
- Rasakan skenario otomatis Kubernetes dengan dukungan Azure Arc dengan Azure Arc Jumpstart.