Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Kubernetes Fleet Manager dapat digunakan untuk membuat dan mengelola penyeimbangan beban multi-kluster berbasis DNS untuk beban kerja yang menghadap publik yang disebarkan di seluruh kluster anggota.
Penting
Fitur pratinjau Azure Kubernetes Fleet Manager tersedia secara layanan mandiri dan berdasarkan sistem pendaftaran. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Pratinjau Azure Kubernetes Fleet Manager sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi.
Pratinjau jaringan sarana data kami dirilis melalui API kami networking.fleet.azure.com/v1beta1
. Jika Anda tidak melihat objek pratinjau, periksa apakah Anda meminta networking.fleet.azure.com/v1beta1
API saat berinteraksi dengan kluster hub Fleet Manager.
Untuk memberikan penyeimbangan beban publik multi-kluster dengan DNS, Fleet Manager menggunakan Azure Traffic Manager dengan profil perutean tertimbang untuk bertindak sebagai frontend untuk Services
diekspor dari kluster anggota. Dimungkinkan untuk menggunakan kemampuan ini untuk penyeimbangan beban lapisan 4 dan 7.
Administrator armada menggunakan kubectl
untuk membuat dan mengonfigurasi TrafficManagerProfile
dan TrafficManagerBackend
sumber daya pada kluster hub Fleet Manager.
TrafficManagerProfile
menentukan Profil Azure Traffic Manager yang menyertakan konfigurasi pemantauan kesehatan titik akhir, dengan yang terkait mendefinisikan TrafficManagerBackend
Service
agar beban seimbang.
Layanan pada kluster anggota dapat ditambahkan ke penyeimbangan beban dengan membuat ServiceExport
pada kluster dan mengonfigurasi nama host DNS unik untuk Service
. Bobot opsional dapat ditentukan untuk mengonfigurasi perilaku perutean lalu lintas antar kluster. Jika beban kerja disebarkan menggunakan penempatan sumber daya kluster Manajer Armada, nama host DNS dapat dikonfigurasi pada penempatan menggunakan ResourceOverride
.
Pembuatan dan konfigurasi Traffic Manager terkait dikelola oleh Fleet Manager, dengan administrator armada dapat mendorong pengalaman end to end menggunakan API Kubernetes.
Properti dari TrafficManagerProfile
Sumberdaya TrafficManagerProfile
menyediakan representasi objek Kubernetes dari profil standar Azure Traffic Manager.
apiVersion: networking.fleet.azure.com/v1beta1
kind: TrafficManagerProfile
metadata:
name: myatm
namespace: work
spec:
monitorConfig:
protocol: HTTP
path: /api
port: 8080
intervalInSeconds: 30
timeoutInSeconds: 10
toleratedNumberOfFailures: 3
Properti penting yang perlu dipahami meliputi:
-
name
: digunakan sebagai awalan DNS untuktrafficmanager.net
nama DNS. Ini harus unik. Jika nama sudah digunakan, penyebaran gagal. -
namespace
: harus sama dengan sumber dayaTrafficManagerBackend
danService
yang sesuai. -
monitorCOnfig
: memetakan ke konfigurasi pemantauan Azure Traffic Manager standar. Opsi pemantauan titik akhir Azure Traffic Manager yang tidak didukung adalah: Pengaturan header kustom; kode status yang diharapkan.
Properti TrafficManagerBackend
Sumber TrafficManagerBackend
daya menyediakan objek Kubernetes yang digunakan untuk menyimpan titik akhir backend yang dapat dipertimbangkan oleh Traffic Manager sebagai penerima lalu lintas. Sebelum lalu lintas dikirim ke titik akhir, ServiceExport
harus dibuat.
apiVersion: networking.fleet.azure.com/v1beta1
kind: TrafficManagerBackend
metadata:
name: app
namespace: work
spec:
profile:
name: myatm
backend:
name: app
weight: 100
Properti penting yang perlu dipahami meliputi:
-
spec/profile/name
: harus cocok dengan yang sesuaiTrafficManagerProfile
. -
spec/backend/name
: harus cocok dengan nama layanan yang diekspor untuk penyeimbangan beban. -
spec/weight
: berat opsional (prioritas) untuk diterapkan ke backend ini. Nilai bilangan bulat antara 0 dan 1.000. Jika dihilangkan, Traffic Manager menggunakan bobot default '1'. Atur ke '0' untuk menonaktifkan perutean lalu lintas tanpa menghapus sumber daya Profil Traffic Manager yang terkait. Untuk informasi selengkapnya, lihat Metode perutean tertimbang Azure Traffic Manager.
Properti ServiceExport
Untuk menambahkan titik akhir dari Service
ke Traffic Manager, buat resource ServiceExport
pada kluster anggota yang berisi layanan. Daya ServiceExport
harus dibuat dalam namespace yang sama dengan Service
untuk diekspor.
apiVersion: networking.fleet.azure.com/v1alpha1
kind: ServiceExport
metadata:
name: kuard-export
namespace: kuard-demo
annotations:
networking.fleet.azure.com/weight: "50"
Properti penting yang perlu dipahami meliputi:
-
metadata/namespace
: harus cocok dengan namespace dariService
yang akan diekspor. -
metadata/annotations/networking.fleet.azure.com/weight
: berat opsional (prioritas) untuk diterapkan pada ekspor layanan ini. Nilai bilangan bulat antara 0 dan 1.000. Jika dihilangkan, Traffic Manager menggunakan bobot default '1'. Setel ke '0' untuk menonaktifkan perutean lalu lintas tanpa menghapus titik akhir layanan terkait. Untuk informasi lebih lanjut, lihat Metode perutean tertimbang Azure Traffic Manager.
Nama host DNS unik melalui anotasi Layanan
Untuk menambahkan Service
ke Traffic Manager, ia harus memiliki nama host DNS yang unik. Nama host DNS dapat diatur dengan mengikuti metode yang direkomendasikan oleh AKS menggunakan anotasi sebagaimana ditunjukkan service.beta.kubernetes.io/azure-dns-label-name
.
apiVersion: v1
kind: Service
metadata:
name: kuard-svc
namespace: kuard-demo
labels:
app: kuard
annotations:
service.beta.kubernetes.io/azure-dns-label-name: kuard-demo-cluster-01
spec:
selector:
app: kuard
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
Anotasi label DNS dapat diambil alih menggunakan ResourceOverride
fitur Fleet Manager sehingga memungkinkan untuk menyebarkan nama host unik di beberapa kluster. Untuk informasi selengkapnya, lihat panduan cara menyeimbangkan beban DNS.
Mengontrol rute lalu lintas
Di bagian ini kita akan melihat skenario umum untuk mengelola perutean lalu lintas antar kluster.
Mendistribusikan lalu lintas di seluruh kluster
Untuk memungkinkan Traffic Manager mempertimbangkan kluster apa pun untuk menerima lalu lintas, gunakan definisi yang ditampilkan.
Buat
TrafficManagerBackend
sumber daya dan abaikanweight
properti.apiVersion: networking.fleet.azure.com/v1beta1 kind: TrafficManagerBackend metadata: name: app namespace: work spec: profile: name: myatm backend: name: app
Pada setiap kluster, buatlah
ServiceExport
dan hilangkanlah propertiweight
.apiVersion: networking.fleet.azure.com/v1alpha1 kind: ServiceExport metadata: name: kuard-export namespace: kuard-demo
Setelah disebarkan, Traffic Manager akan memilih kluster secara acak, mengingat semua kluster dengan berat yang sama.
Mendistribusikan lalu lintas antar kluster dengan bobot berbeda
Untuk memberikan petunjuk preferensi kepada Traffic Manager saat memilih kluster, atur properti pada objek TrafficManagerBackend
dan ServiceExport
.
Buat
TrafficManagerBackend
sumber daya dan atur propertiweight
ke100
.apiVersion: networking.fleet.azure.com/v1beta1 kind: TrafficManagerBackend metadata: name: app namespace: work spec: profile: name: myatm backend: name: app weight: 100
ServiceExport
Buat dan aturweight
properti ke nilai yang mewakili prioritas yang harus digunakan Traffic Manager saat mempertimbangkan kluster untuk menerima lalu lintas.apiVersion: networking.fleet.azure.com/v1alpha1 kind: ServiceExport metadata: name: kuard-export namespace: kuard-demo annotations: networking.fleet.azure.com/weight: "40"
Setelah disebarkan, Traffic Manager akan memilih kluster dengan bobot yang lebih tinggi. Anda tidak perlu menetapkan nilai berat pada setiap kluster. Jika Anda mengatur nilai bobot yang sama pada lebih dari satu kluster, Traffic Manager akan mempertimbangkan kluster tersebut secara merata.
Mengecualikan kluster dari perutean lalu lintas
Untuk mengecualikan kluster dari pengaturan lalu lintas, setel properti weight
menjadi 0
pada sumber daya ServiceExport
. Bobot ini menghapus titik akhir dari konfigurasi Traffic Manager.
apiVersion: networking.fleet.azure.com/v1alpha1
kind: ServiceExport
metadata:
name: kuard-export
namespace: kuard-demo
annotations:
networking.fleet.azure.com/weight: "0"
Perilaku penghapusan TrafficManagerProfile
Ketika sumber daya Kubernetes dihapus, maka Azure Traffic Manager terkait beserta titik akhirnya juga ikut dihapus, dan permintaan tidak lagi dirutekan ke kluster.
Jika Anda ingin menghentikan perutean lalu lintas tetapi mempertahankan Azure Traffic Manager dan titik akhirnya, atur properti ke weight
0
TrafficManagerBackend
pada sumber daya.
Langkah selanjutnya
Azure Kubernetes Service