Bagikan melalui


Manajemen hibrida Azure Arc dan penyebaran kluster Kube

Azure Arc
Azure Kubernetes Service (AKS)
Azure Monitor
Kebijakan Azure
Kontrol akses berbasis Peran Azure

Arsitektur referensi ini menjelaskan bagaimana Azure Arc memperluas manajemen dan konfigurasi kluster Kubernetes di seluruh pusat data pelanggan, lokasi tepi, dan beberapa lingkungan cloud.

Sistem

Diagram yang menunjukkan topologi Azure Arc untuk Kubernetes.

Unduh file Visio arsitektur ini.

Alur kerja

Alur kerja berikut ini sesuai dengan diagram sebelumnya:

  • Kubernetes dengan dukungan Azure Arc: Lampirkan dan konfigurasikan kluster Kubernetes di dalam atau di luar Azure dengan menggunakan Kubernetes dengan dukungan Azure Arc. Saat kluster Kubernetes dilampirkan ke Azure Arc, kluster tersebut diberi ID Azure Resource Manager dan identitas terkelola.

  • Azure Kubernetes Service (AKS): Host kluster Kubernetes di Azure untuk mengurangi kompleksitas dan overhead operasional manajemen kluster Kubernetes.

  • Kluster Kubernetes lokal: Lampirkan kluster Kubernetes bersertifikat Cloud Native Computing Foundation (CNCF) yang dihosting di lingkungan cloud lokal atau non-Microsoft.

  • Azure Policy: Menyebarkan dan mengelola kebijakan untuk kluster Kubernetes dengan dukungan Azure Arc.

  • Azure Monitor: Amati dan pantau kluster Kubernetes dengan dukungan Azure Arc.

Komponen

  • Azure Arc memperluas platform Azure, yang memungkinkan untuk membangun aplikasi dan layanan yang dapat berjalan di seluruh pusat data, di tepi, dan di lingkungan multicloud.

  • AKS adalah layanan terkelola untuk menyebarkan dan menskalakan kluster Kubernetes.

  • Azure Policy memungkinkan untuk mencapai kepatuhan cloud real-time dalam skala besar dengan tata kelola sumber daya yang konsisten.

  • Azure Monitor menyediakan pengamatan end-to-end untuk aplikasi, infrastruktur, dan jaringan Anda.

Detail skenario

Anda dapat menggunakan Azure Arc untuk mendaftarkan kluster Kubernetes yang dihosting di luar Microsoft Azure. Anda kemudian dapat menggunakan alat Azure untuk mengelola kluster ini dan kluster yang dihosting AKS.

Kemungkinan kasus penggunaan

Penggunaan umum untuk arsitektur ini meliputi:

  • Mengelola inventori, pengelompokan, dan pemberian tag untuk kluster Kubernetes lokal dan kluster yang dihosting AKS.

  • Menggunakan Azure Monitor untuk memantau kluster Kubernetes di seluruh lingkungan hibrid.

  • Menggunakan Azure Policy untuk membantu menyebarkan dan menerapkan kebijakan untuk kluster Kubernetes di seluruh lingkungan hibrid.

  • Menggunakan Azure Policy untuk membantu menyebarkan dan memberlakukan GitOps.

  • Memaksimalkan investasi unit pemrosesan grafis (GPU) lokal Anda dengan melatih dan menyebarkan alur kerja Azure Machine Learning.

  • Menggunakan layanan terkelola Azure Monitor untuk Prometheus dan Managed Grafana untuk memantau dan memvisualisasikan beban kerja Kubernetes.

Rekomendasi

Anda dapat menerapkan rekomendasi berikut ke sebagian besar skenario. Ikuti rekomendasi ini kecuali Anda memiliki persyaratan khusus yang meniadakannya.

Pendaftaran kluster

Anda dapat mendaftarkan kluster CNCF Kubernetes aktif apa pun. Anda memerlukan kubeconfig file untuk mengakses kluster dan peran cluster-admin pada kluster untuk menyebarkan agen Kubernetes dengan dukungan Azure Arc. Gunakan Azure CLI untuk melakukan tugas pendaftaran kluster. Pengguna atau perwakilan layanan yang Anda gunakan untuk az login perintah dan az connectedk8s connect memerlukan izin Baca dan Tulis pada Microsoft.Kubernetes/connectedClusters jenis sumber daya. Peran Kluster Kubernetes - Azure Arc Onboarding memiliki izin ini dan dapat digunakan untuk penetapan peran baik pada prinsipal pengguna maupun perwakilan layanan. Helm 3 diperlukan untuk onboarding kluster yang menggunakan connectedk8s ekstensi. Azure CLI versi 2.3 atau yang lebih baru diperlukan untuk menginstal ekstensi CLI Kubernetes dengan dukungan Azure Arc.

Agen Azure Arc untuk Kubernetes

Kubernetes dengan dukungan Azure Arc terdiri dari beberapa agen (atau operator) yang berjalan di kluster yang disebarkan ke azure-arc namespace:

  • Mengawasi deployment.apps/config-agent kluster yang terhubung untuk sumber daya konfigurasi kontrol sumber yang diterapkan pada kluster dan memperbarui status kepatuhan.

  • deployment.apps/controller-manager adalah operator operator yang mengatur interaksi antara komponen Azure Arc.

  • Mengumpulkan deployment.apps/metrics-agent metrik dari agen Azure Arc lainnya untuk memastikan bahwa agen ini berkinerja optimal.

  • Mengumpulkan deployment.apps/cluster-metadata-operator metadata kluster, termasuk versi kluster, jumlah simpul, dan versi agen Azure Arc.

  • Menyinkronkan deployment.apps/resource-sync-agent metadata kluster yang disebutkan sebelumnya ke Azure.

  • mempertahankan deployment.apps/clusteridentityoperator sertifikat Identitas Layanan Terkelola yang digunakan oleh agen lain untuk berkomunikasi dengan Azure.

  • mengumpulkan deployment.apps/flux-logs-agent log dari operator fluks yang disebarkan sebagai bagian dari konfigurasi kontrol sumber.

  • Menginstal deployment.apps/extension-manager dan mengelola siklus hidup bagan Helm ekstensi.

  • Menangani deployment.apps/kube-aad-proxy autentikasi untuk permintaan yang dikirim ke kluster melalui fitur koneksi kluster AKS.

  • deployment.apps/clusterconnect-agent adalah agen proksi terbalik yang memungkinkan fitur koneksi kluster untuk menyediakan akses ke server API kluster. Ini adalah komponen opsional yang disebarkan hanya jika fitur koneksi kluster diaktifkan pada kluster.

  • deployment.apps/guard adalah server webhook autentikasi dan otorisasi yang digunakan untuk kontrol akses berbasis peran (RBAC) Microsoft Entra. Ini adalah komponen opsional yang disebarkan hanya jika Azure RBAC diaktifkan pada kluster.

  • Mengumpulkan deployment.apps/extension-events-collector log yang terkait dengan manajemen siklus hidup ekstensi. Ini menggabungkan log ini ke dalam peristiwa yang sesuai dengan setiap operasi, seperti Buat, Tingkatkan, dan Hapus.  

  • Mengumpulkan deployment.apps/logcollector telemetri platform untuk membantu memastikan kesehatan operasional platform.

Untuk informasi selengkapnya, lihat Menyambungkan kluster Kubernetes yang ada ke Azure Arc.

Memantau kluster dengan menggunakan wawasan kontainer Azure Monitor

Memantau kontainer Anda sangat penting. Wawasan kontainer Azure Monitor menyediakan kemampuan pemantauan yang kuat untuk kluster mesin AKS dan AKS. Anda juga dapat mengonfigurasi wawasan kontainer Azure Monitor untuk memantau kluster Kubernetes dengan dukungan Azure Arc yang dihosting di luar Azure. Konfigurasi ini menyediakan pemantauan komprehensif kluster Kubernetes Anda di seluruh Azure, lokal, dan di lingkungan cloud non-Microsoft.

Wawasan kontainer Azure Monitor memberikan visibilitas performa dengan mengumpulkan metrik memori dan prosesor dari pengontrol, simpul, dan kontainer. Metrik ini tersedia di Kubernetes melalui API Metrik. Log wadah juga dikumpulkan. Setelah Anda mengaktifkan pemantauan dari kluster Kubernetes, versi kontainer agen Log Analytics secara otomatis mengumpulkan metrik dan log. Metrik ditulis ke penyimpanan metrik, dan data log ditulis ke penyimpanan log yang terkait dengan ruang kerja Log Analytics Anda. Untuk informasi selengkapnya, lihat Fitur Azure Monitor untuk pemantauan Kubernetes.

Anda dapat mengaktifkan wawasan kontainer Azure Monitor untuk satu atau beberapa penyebaran Kubernetes dengan menggunakan skrip PowerShell atau skrip Bash.

Untuk informasi selengkapnya, lihat Mengaktifkan pemantauan untuk kluster Kubernetes.

Menggunakan Azure Policy untuk mengaktifkan penyebaran aplikasi berbasis GitOps

Gunakan Azure Policy untuk memastikan bahwa setiap sumber daya atau Microsoft.ContainerService/managedClusters sumber daya berkemampuan Microsoft.Kubernetes/connectedclusters GitOps telah menerapkannya secara spesifikMicrosoft.KubernetesConfiguration/fluxConfigurations. Misalnya, Anda dapat menerapkan konfigurasi garis besar ke satu atau beberapa kluster, atau menyebarkan aplikasi tertentu ke beberapa kluster. Untuk menggunakan Azure Policy, pilih definisi dari definisi bawaan Azure Policy untuk Kubernetes dengan dukungan Azure Arc lalu buat penetapan kebijakan. Saat Anda membuat penetapan kebijakan, atur cakupan ke grup sumber daya Azure atau langganan. Atur juga parameter untuk fluxConfiguration yang dibuat. Saat penugasan dibuat, mesin Azure Policy mengidentifikasi semua connectedCluster atau managedCluster sumber daya yang berada dalam cakupan lalu menerapkannya fluxConfiguration ke setiap sumber daya.

Jika Anda menggunakan beberapa repositori sumber untuk setiap kluster, seperti satu repositori untuk it pusat atau operator kluster dan repositori lain untuk tim aplikasi, aktifkan fitur ini dengan menggunakan beberapa penetapan kebijakan dan konfigurasikan setiap penetapan kebijakan untuk menggunakan repositori sumber yang berbeda.

Untuk informasi selengkapnya, lihat Menyebarkan aplikasi secara konsisten dalam skala besar dengan menggunakan konfigurasi Flux v2 dan Azure Policy.

Menyebarkan aplikasi dengan menggunakan GitOps

GitOps adalah praktik untuk menentukan status konfigurasi Kubernetes yang diinginkan, seperti penyebaran dan namespace layanan, dalam repositori sumber. Repositori ini dapat berupa repositori Git atau Helm, Buckets, atau Azure Blob Storage. Proses ini diikuti oleh penyebaran konfigurasi ini berbasis polling dan pull ke kluster dengan menggunakan operator.

Koneksi antara kluster Anda dan satu atau beberapa repositori sumber diaktifkan dengan menyebarkan microsoft.flux ekstensi ke kluster Anda. Properti fluxConfiguration sumber daya mewakili di mana dan bagaimana sumber daya Kubernetes harus mengalir dari repositori sumber ke kluster Anda. Data fluxConfiguration disimpan dienkripsi saat tidak aktif dalam database Azure Cosmos DB untuk membantu memastikan kerahasiaan data.

Agen flux-config yang berjalan di monitor kluster Anda untuk sumber daya ekstensi baru atau yang diperbarui fluxConfiguration pada sumber daya Kubernetes dengan dukungan Azure Arc, menyebarkan aplikasi dari repositori sumber, dan menyebarluaskan semua pembaruan yang dibuat ke fluxConfiguration. Anda dapat membuat beberapa fluxConfiguration sumber daya dengan menggunakan namespace cakupan pada kluster Kubernetes dengan dukungan Azure Arc yang sama untuk mencapai multi-penyewaan.

Repositori sumber dapat berisi sumber daya Kubernetes yang valid, termasuk Namespace, ConfigMaps, Deployments, dan DaemonSets. Ini juga dapat berisi bagan Helm untuk menyebarkan aplikasi. Skenario repositori sumber umum termasuk menentukan konfigurasi dasar untuk organisasi Anda yang dapat mencakup peran dan pengikatan RBAC umum, agen pemantauan, agen pengelogan, dan layanan di seluruh kluster.

Anda juga dapat mengelola kumpulan kluster yang lebih besar yang disebarkan di seluruh lingkungan heterogen. Misalnya, Anda dapat memiliki satu repositori yang menentukan konfigurasi dasar untuk organisasi Anda, lalu menerapkan konfigurasi tersebut ke beberapa kluster Kubernetes secara bersamaan. Anda juga dapat menyebarkan aplikasi ke kluster dari beberapa repositori sumber.

Untuk informasi selengkapnya, lihat Menyebarkan aplikasi dengan menggunakan GitOps dengan Flux v2.

Jalankan Pembelajaran Mesin

Dalam Pembelajaran Mesin, Anda dapat memilih kluster AKS (atau Kubernetes dengan dukungan Azure Arc) sebagai target komputasi untuk proses pembelajaran mesin Anda. Kemampuan ini memungkinkan Anda untuk melatih atau menyebarkan model pembelajaran mesin di infrastruktur Anda sendiri, yang dihost sendiri (atau multicloud). Pendekatan ini memungkinkan Anda untuk menggabungkan investasi lokal Anda pada GPU dengan kemudahan manajemen yang disediakan Machine Learning di cloud.

Memantau beban kerja Kubernetes dengan Prometheus dan Grafana terkelola

Azure Monitor menyediakan layanan terkelola untuk penyebaran Prometheus dan Grafana, sehingga Anda dapat memanfaatkan alat pemantauan Kubernetes populer ini. Layanan terkelola ini memungkinkan Anda menggunakan alat-alat ini tanpa perlu mengelola dan memperbarui penyebaran sendiri. Untuk menganalisis metrik Prometheus, gunakan penjelajah metrik dengan PromQL.

Topologi, jaringan, dan perutean

Agen Azure Arc memerlukan protokol, port, dan URL keluar berikut agar berfungsi.

Titik akhir (DNS) Deskripsi
https://management.azure.com:443 Diperlukan bagi agen untuk terhubung ke Azure dan mendaftarkan kluster.
https://[region].dp.kubernetesconfiguration.azure.com:443 Titik akhir data plane bagi agen untuk mendorong status dan mengambil informasi konfigurasi, tempat [wilayah] mewakili wilayah Azure yang meng-host instans AKS.
https://docker.io:443 Diperlukan untuk menarik gambar kontainer.
https://github.com:443, git://github.com:9418 Contoh repositori GitOps di-host di GitHub. Agen konfigurasi memerlukan konektivitas ke titik akhir git yang Anda tentukan.
https://login.microsoftonline.com:443, , https://<region>.login.microsoft.comlogin.windows.net Diperlukan untuk mengambil dan memperbarui token Azure Resource Manager.
https://mcr.microsoft.com:443 https://*.data.mcr.microsoft.com:443 Diperlukan untuk penarikan gambar kontainer untuk agen Azure Arc.

Untuk daftar lengkap URL di seluruh layanan Azure Arc, lihat Persyaratan jaringan Azure Arc.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keandalan

Keandalan membantu memastikan bahwa aplikasi Anda dapat memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untukKeandalan .

  • Dalam sebagian besar skenario, lokasi yang Anda pilih saat membuat skrip penginstalan harus menjadi wilayah Azure yang secara geografis paling dekat dengan sumber daya lokal Anda. Data lainnya disimpan dalam geografi Azure yang berisi wilayah yang Anda tentukan. Detail ini dapat memengaruhi pilihan wilayah Anda jika Anda memiliki persyaratan residensi data. Jika pemadaman memengaruhi wilayah Azure yang tersambung dengan komputer Anda, pemadaman tidak memengaruhi komputer yang terhubung, tetapi operasi manajemen yang menggunakan Azure mungkin tidak selesai. Jika Anda memiliki beberapa lokasi yang menyediakan layanan yang berlebihan secara geografis, sambungkan komputer di setiap lokasi ke wilayah Azure yang berbeda. Praktik ini meningkatkan ketahanan jika terjadi pemadaman regional. Untuk informasi selengkapnya, lihat Wilayah yang didukung untuk Kubernetes dengan dukungan Azure Arc.

  • Anda harus memastikan bahwa layanan dalam solusi Anda didukung di wilayah tempat Azure Arc disebarkan.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untuk Keamanan.

  • Anda dapat menggunakan Azure RBAC untuk mengelola akses ke Kubernetes dengan dukungan Azure Arc di seluruh Azure dan lingkungan lokal yang menggunakan identitas Microsoft Entra. Untuk informasi selengkapnya, lihat Menggunakan Azure RBAC untuk Otorisasi Kubernetes.

  • Microsoft menyarankan agar Anda menggunakan perwakilan layanan yang memiliki hak istimewa terbatas untuk onboarding kluster Kubernetes ke Azure Arc. Praktik ini berguna dalam integrasi berkelanjutan dan alur pengiriman berkelanjutan seperti Azure Pipelines dan GitHub Actions. Untuk informasi selengkapnya, lihat Membuat perwakilan layanan onboarding dengan dukungan Azure Arc.

  • Untuk menyederhanakan manajemen perwakilan layanan, Anda dapat menggunakan identitas terkelola di AKS. Namun, kluster harus dibuat dengan menggunakan identitas terkelola. Kluster yang ada, yang mencakup kluster Azure dan lokal, tidak dapat dimigrasikan ke identitas terkelola. Untuk informasi selengkapnya, lihat Menggunakan identitas terkelola di AKS.

Pengoptimalan Biaya

Pengoptimalan Biaya berfokus pada cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat daftar periksa Design review untuk Pengoptimalan Biaya.

Untuk pertimbangan biaya umum, lihat Prinsip desain Pengoptimalan Biaya.

Keunggulan Operasional

Keunggulan Operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untukKeunggulan Operasional.

  • Sebelum mengonfigurasi kluster Kubernetes dengan dukungan Azure Arc, tinjau batas langganan Azure Resource Manager dan batas grup sumber daya untuk merencanakan jumlah kluster.

  • Gunakan Helm, yang merupakan alat pengemasan sumber terbuka, untuk menginstal dan mengelola siklus hidup aplikasi Kubernetes. Mirip dengan manajer paket Linux seperti APT dan Yum, gunakan Helm untuk mengelola bagan Kubernetes, yang merupakan paket sumber daya Kubernetes yang telah dikonfigurasi sebelumnya.

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Penulis utama:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya

Panduan hibrid terkait:

Arsitektur terkait: