Jadwalkan pod gerbang ASM (Alibaba Cloud Service Mesh) ke node tertentu dalam kluster Kubernetes Anda guna meningkatkan ketersediaan tinggi gerbang dan mengisolasi pod gerbang dari pod aplikasi. Misalnya, sebarkan pod gerbang di berbagai node yang berada dalam domain kegagalan berbeda untuk redundansi, atau dedikasikan node tertentu khusus untuk beban kerja gerbang.
Prasyarat
Konsep Utama
Tabel berikut menjelaskan konsep penjadwalan Kubernetes yang digunakan dalam topik ini:
Concept | Description |
node label | Pasangan kunci-nilai yang dilampirkan pada sebuah node. Label node digunakan untuk memberi tag pada node guna penjadwalan pod. Aturan afinitas node mereferensikan label-label ini melalui |
taint | Atribut kunci-nilai-efek yang diterapkan pada sebuah node sehingga node tersebut menolak pod yang tidak memiliki toleransi yang sesuai. Sebagai contoh, taint dengan kunci |
toleration | Atribut kunci-nilai-efek yang diterapkan pada sebuah pod sehingga pod tersebut dapat dijadwalkan ke node yang memiliki taint yang sesuai. Taint dan toleration bekerja bersama untuk mengontrol pod mana yang dapat berjalan di node mana. Setiap node dapat memiliki satu atau lebih taint. |
node affinity | Sekumpulan aturan penjadwalan yang menentukan node mana yang dapat menjalankan pod berdasarkan label node. Afinitas node mendukung dua jenis aturan. Aturan wajib ( |
Langkah 1: Tambahkan label ke node
Jalankan perintah berikut untuk menampilkan nama node dalam kluster:
kubectl get nodesJalankan perintah berikut untuk menambahkan label ke node target:
# Format perintah
kubectl label nodes <node-name> <label-key>=<label-value>
# Contoh
kubectl label nodes node1 mykey4pod=asmgatewayLangkah 2: Tambahkan taint ke node
Jalankan perintah berikut untuk menambahkan taint ke sebuah node:
kubectl taint nodes node1 mykey=myvalue:NoSchedulePerintah ini menambahkan taint ke node bernama node1. Taint tersebut memiliki kunci mykey, nilai myvalue, dan efek NoSchedule. Hanya pod yang memiliki toleransi yang sesuai yang dapat dijadwalkan ke node node1.
Langkah 3: Konfigurasikan afinitas node dan toleransi untuk gerbang ASM
Konfigurasikan parameter nodeAffinity untuk menyebarkan pod gerbang ASM ke node yang ditentukan. Konfigurasikan parameter tolerations agar sesuai dengan taint yang Anda buat di Langkah 2 sehingga pod gerbang dapat dijadwalkan ke node yang ditentukan.
-
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih .
Di sisi kanan halaman Ingress Gateway, klik View YAML untuk gerbang target.
Pada dialog Edit, tambahkan konten berikut di bawah bidang
spec, lalu klik OK.affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: mykey4pod operator: In values: - asmgateway tolerations: - key: "mykey" operator: "Equal" value: "myvalue" effect: "NoSchedule"Periksa apakah pod gerbang berjalan di node yang diharapkan.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Di bagian atas halaman Pods, pilih namespace istio-system dan periksa apakah pod gerbang berjalan di node yang diharapkan.
Jika pod gerbang berjalan di node target, berarti Anda telah berhasil mengonfigurasi afinitas node dan toleransi untuk gerbang ASM.
-