Saat membuat atau menerapkan aplikasi dalam kluster Container Service for Kubernetes (ACK), Anda dapat memodifikasi aturan penjadwalan pod sesuai kebutuhan dan mendistribusikannya di berbagai node serta zona untuk meningkatkan ketersediaan aplikasi. Topik ini menjelaskan cara mengonfigurasi aturan penjadwalan.
Konfigurasikan aturan penjadwalan saat Anda membuat aplikasi
Masuk ke EDAS console. Di panel navigasi sisi kiri, pilih . Halaman Applications akan muncul. Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace. Di sudut kiri atas, klik Create Application.
- Di langkah Basic Information, atur parameter Tipe Kluster dan Lingkungan Runtime Aplikasi, lalu klik Next. Tabel berikut menjelaskan parameter tersebut.
Parameter Deskripsi Cluster Type Jenis kluster tempat Anda ingin menerapkan aplikasi. Pilih Kubernetes Clusters. Application Runtime Environment Lingkungan runtime aplikasi. Pilih lingkungan runtime aplikasi berdasarkan jenis aplikasi. - Java:
- Custom: Pilih opsi ini jika Anda ingin menggunakan gambar kustom untuk menerapkan aplikasi di kluster ACK.
- Java: Pilih opsi ini jika Anda ingin menggunakan paket JAR universal untuk menerapkan aplikasi sebagai aplikasi Dubbo atau Spring Boot. Anda dapat mengatur parameter Lingkungan Java setelah memilih opsi ini.
- Tomcat: Pilih opsi ini jika Anda ingin menggunakan paket WAR universal untuk menerapkan aplikasi sebagai aplikasi Dubbo atau Spring. Anda dapat mengatur parameter Lingkungan Java dan Versi Kontainer setelah memilih opsi ini.
- EDAS-Container (HSF): Pilih opsi ini jika Anda ingin menggunakan paket WAR atau FatJar untuk menerapkan aplikasi sebagai aplikasi High-speed Service Framework (HSF). Anda dapat mengatur parameter Lingkungan Java, Versi Pandora, dan Versi Ali-Tomcat setelah memilih opsi ini.
- PHP: Pilih opsi ini jika Anda ingin menjalankan aplikasi sebagai aplikasi PHP di Apache HTTP Server.
- Node.js, C++, Go, and Other Languages: Pilih opsi ini jika Anda ingin menerapkan aplikasi layanan mikro menggunakan gambar kustom. Aplikasi dapat dikembangkan dalam bahasa pemrograman apa pun.
- Java:
Di langkah Configurations, konfigurasikan informasi lingkungan, informasi dasar, dan metode penerapan aplikasi, atur parameter sumber daya terkait, lalu klik Next.
- Di langkah Advanced Settings, klik Scheduling Rules dan konfigurasikan mode penjadwalan serta aturan sesuai kebutuhan.
- Pilih mode Built-in Configuration.
Parameter Deskripsi Zone Scheduling - Default Scheduling: Secara default, pod dijadwalkan berdasarkan status sumber daya kluster. Sistem mungkin menerapkan semua pod di zona yang sama. Oleh karena itu, aturan penjadwalan ini tidak menjamin ketersediaan tinggi.
- Deploy in As Many Zones As Possible: Aturan anti-afinitas digunakan untuk menerapkan pod di sebanyak mungkin zona untuk memastikan ketersediaan tinggi.
Node Scheduling - Default Scheduling: Secara default, pod dijadwalkan berdasarkan beban node kluster.
- Deploy to as Many Nodes as Possible: Pod diterapkan di sebanyak mungkin node untuk memastikan ketersediaan tinggi.
- Pilih mode Custom Configuration.
Jika aturan penjadwalan bawaan berdasarkan zona atau node tidak memenuhi kebutuhan Anda dalam skenario kompleks, gunakan fitur konfigurasi kustom yang disediakan oleh Enterprise Distributed Application Service (EDAS) untuk menyesuaikan aturan Anda sendiri.
Tabel 1. Buat Aturan Penjadwalan pada Afinitas Node Parameter Deskripsi Selector Kondisi yang digunakan untuk menyaring node. Anda dapat mengatur parameter Node Tag Key, Operator, dan Node Tag Value untuk menentukan node ke mana pod diterapkan.
Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 2. Buat Aturan Penjadwalan pada Afinitas Aplikasi Parameter Deskripsi Kubernetes Namespace Namespace kluster ACK yang menampung aplikasi. Topology Key Kunci label node yang digunakan untuk menentukan apakah node berbeda berada di domain topologi yang sama, seperti node, zona, atau wilayah. Selector Kondisi yang digunakan untuk menyaring pod. Anda dapat mengatur parameter Application Tag Key, Operator, dan Application Tag Value untuk menentukan pod yang akan berjalan di domain topologi yang sesuai. Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 3. Buat Aturan Penjadwalan pada Anti-Afinitas Aplikasi Parameter Deskripsi Kubernetes Namespace Namespace kluster ACK yang menampung aplikasi. Topology Key Kunci label node yang digunakan untuk menentukan apakah node berbeda berada di domain topologi yang sama, seperti node, zona, atau wilayah. Selector Kondisi yang digunakan untuk menyaring pod. Anda dapat mengatur parameter Application Tag Key, Operator, dan Application Tag Value untuk menentukan pod yang akan berjalan di domain topologi yang sesuai. Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 4. Buat Aturan Penjadwalan pada Toleransi Parameter Deskripsi Tag Key Kunci yang digunakan untuk mencocokkan taint. Operator Operator yang digunakan untuk mencocokkan taint. Tag Value Nilai yang digunakan untuk mencocokkan taints. Toleransi mencocokkan taints berdasarkan parameter Tag Key, Tag Value, Operator, dan Effect yang telah Anda tentukan. Effect Efek yang berlaku setelah taint pada node ditoleransi. Tolerance (Seconds) Anda hanya dapat mengatur parameter ini jika parameter Effect diatur ke NoExecute.
Jumlah waktu selama pod dapat berjalan di node setelah taint ditoleransi. Jika parameter ini tidak diatur, pod dapat terus berjalan di node. - Pilih mode Built-in Configuration.
Klik Create Application.
Di halaman Creation Completed, periksa informasi di bagian Basic Information, Configurations, dan Advanced Settings. Lalu, klik Create Application.
Di bagian atas halaman Application Overview, klik View Details. Di halaman Change List, lihat proses perubahan aplikasi. Tunggu beberapa menit hingga aplikasi diterapkan. Setelah proses perubahan selesai, lihat status instans di bagian Basic Information halaman Application Overview. Jika status menunjukkan bahwa pod sedang berjalan, aplikasi telah berhasil diterapkan.
Konfigurasikan aturan penjadwalan saat Anda memperbarui aplikasi
Anda dapat mengonfigurasi aturan penjadwalan saat membuat atau menerapkan aplikasi.
Masuk ke EDAS console.
Di panel navigasi sisi kiri, klik . Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman, pilih namespace. Pilih Container Service or Serverless Kubernetes Cluster dari daftar drop-down Cluster Type. Lalu, temukan aplikasi yang ingin Anda terapkan dan klik nama aplikasi.
Di halaman Overview atau Basic information, pilih di sudut kanan atas.
Di halaman Select Deployment Mode, pilih mode penerapan dan klik Start Deployment di sudut kanan atas bagian mode penerapan tertentu.
- Atur informasi lingkungan dan informasi paket penerapan, klik Scheduling Rules, lengkapi konfigurasi sesuai kebutuhan, lalu klik OK.
- Pilih mode Built-in Configuration.
Parameter Deskripsi Zone Scheduling - Default Scheduling: Secara default, pod dijadwalkan berdasarkan status sumber daya kluster. Sistem mungkin menerapkan semua pod di zona yang sama. Oleh karena itu, aturan penjadwalan ini tidak menjamin ketersediaan tinggi.
- Deploy in As Many Zones As Possible: Aturan anti-afinitas digunakan untuk menerapkan pod di sebanyak mungkin zona untuk memastikan ketersediaan tinggi.
Node Scheduling - Default Scheduling: Secara default, pod dijadwalkan berdasarkan beban node kluster.
- Deploy to as Many Nodes as Possible: Pod diterapkan di sebanyak mungkin node untuk memastikan ketersediaan tinggi.
- Pilih mode Custom Configuration.
Jika aturan penjadwalan bawaan berdasarkan zona atau node tidak memenuhi kebutuhan Anda dalam skenario kompleks, gunakan fitur konfigurasi kustom yang disediakan oleh Enterprise Distributed Application Service (EDAS) untuk menyesuaikan aturan Anda sendiri.
Tabel 1. Buat Aturan Penjadwalan pada Afinitas Node Parameter Deskripsi Selector Kondisi yang digunakan untuk menyaring node. Anda dapat mengatur parameter Node Tag Key, Operator, dan Node Tag Value untuk menentukan node ke mana pod diterapkan.
Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 2. Buat Aturan Penjadwalan pada Afinitas Aplikasi Parameter Deskripsi Kubernetes Namespace Namespace kluster ACK yang menampung aplikasi. Topology Key Kunci label node yang digunakan untuk menentukan apakah node berbeda berada di domain topologi yang sama, seperti node, zona, atau wilayah. Selector Kondisi yang digunakan untuk menyaring pod. Anda dapat mengatur parameter Application Tag Key, Operator, dan Application Tag Value untuk menentukan pod yang akan berjalan di domain topologi yang sesuai. Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 3. Buat Aturan Penjadwalan pada Anti-Afinitas Aplikasi Parameter Deskripsi Kubernetes Namespace Namespace kluster ACK yang menampung aplikasi. Topology Key Kunci label node yang digunakan untuk menentukan apakah node berbeda berada di domain topologi yang sama, seperti node, zona, atau wilayah. Selector Kondisi yang digunakan untuk menyaring pod. Anda dapat mengatur parameter Application Tag Key, Operator, dan Application Tag Value untuk menentukan pod yang akan berjalan di domain topologi yang sesuai. Weight Bobot dari aturan. Nilai valid: bilangan bulat dari 0 hingga 100. Nilai default: 1. Tabel 4. Buat Aturan Penjadwalan pada Toleransi Parameter Deskripsi Tag Key Kunci yang digunakan untuk mencocokkan taint. Operator Operator yang digunakan untuk mencocokkan taint. Tag Value Nilai yang digunakan untuk mencocokkan taint. Toleransi mencocokkan taint berdasarkan parameter Tag Key, Tag Value, Operator, dan Effect yang Anda atur. Effect Efek yang berlaku setelah taint pada node ditoleransi. Tolerance (Seconds) Anda hanya dapat mengatur parameter ini jika parameter Effect diatur ke NoExecute.
Jumlah waktu selama pod dapat berjalan di node setelah taint ditoleransi. Jika parameter ini tidak diatur, pod dapat terus berjalan di node.Penting Aplikasi akan dimulai ulang setelah Anda klik OK. Kami sarankan Anda melakukan operasi ini selama jam-jam sepi. - Pilih mode Built-in Configuration.