全部产品
Search
文档中心

Container Service for Kubernetes:Ikhtisar distribusi aplikasi

更新时间:Jul 02, 2025

Fitur distribusi aplikasi dari Distributed Cloud Container Platform for Kubernetes (ACK One) didukung. Anda dapat menggunakan fitur ini untuk mendistribusikan aplikasi dari instance Fleet ke beberapa kluster terkait dengan instance tersebut. Fitur ini memungkinkan Anda mengonfigurasi kebijakan distribusi pada instance Armada. Anda dapat menggunakan kebijakan tersebut untuk mendistribusikan sumber daya Kubernetes yang memenuhi syarat secara efisien ke kluster yang sesuai dengan kebijakan. Selain itu, Anda dapat mengonfigurasi kebijakan berbeda untuk memenuhi persyaratan penyebaran berbagai kluster dan aplikasi. Dibandingkan dengan GitOps, metode distribusi ini tidak memerlukan repositori Git.

Cara kerja distribusi aplikasi

Setelah membuat sumber daya aplikasi di instance Fleet, buat PropagationPolicy dan ClusterPropagationPolicy untuk mengonfigurasi kebijakan distribusi guna mendistribusikan sumber daya tertentu ke kluster terkait dengan instance Fleet. Anda juga dapat membuat OverridePolicy dan ClusterOverridePolicy untuk menimpa sumber daya tertentu selama distribusi sesuai kebutuhan bisnis.

Catatan

Anda hanya perlu membuat PropagationPolicy dan OverridePolicy saat menginisialisasi aplikasi. Kebijakan ini tetap berlaku setelah dibuat. Anda dapat mengonfigurasi aturan pencocokan untuk sumber daya yang ingin didistribusikan dalam PropagationPolicy dan aturan pencocokan untuk sumber daya yang ingin ditimpa dalam OverridePolicy. Peningkatan atau pembaruan sumber daya berikutnya akan disinkronkan otomatis ke kluster terkait. Gunakan alat baris perintah AMC untuk memantau kemajuan distribusi aplikasi di kluster terkait.

Fitur lanjutan

Penjadwalan Workload berdasarkan bobot statis dan bobot dinamis

Dalam skenario penjadwalan aplikasi multi-kluster, instance Fleet ACK One menjadwalkan replika pod ke beberapa kluster berdasarkan kebijakan distribusi. Berikut adalah kebijakan distribusi yang didukung:

  • Kebijakan distribusi berdasarkan bobot statis: Administrator kluster dapat menentukan bobot statis untuk kluster terkait dalam kebijakan. Penjadwal menjadwalkan sejumlah replika pod tertentu ke kluster berdasarkan bobot yang ditentukan. Untuk informasi lebih lanjut tentang cara mengonfigurasi kebijakan distribusi berdasarkan bobot statis, lihat replicaScheduling.

  • Kebijakan distribusi berdasarkan bobot dinamis: Penjadwal menghasilkan bobot dinamis untuk kluster dengan menghitung jumlah pod yang dapat ditampung oleh setiap kluster terkait berdasarkan jumlah sumber daya yang tersedia di kluster. Penjadwal menjadwalkan sejumlah replika pod tertentu ke kluster berdasarkan bobot dinamis. Untuk informasi lebih lanjut tentang cara mengonfigurasi kebijakan distribusi berdasarkan bobot dinamis, lihat Distribusi dinamis dan penjadwalan ulang.

Penjadwalan ulang

Dalam skenario penjadwalan aplikasi multi-kluster, jumlah sumber daya yang tersedia di setiap kluster terkait berubah secara dinamis. Akibatnya, pod mungkin gagal dijadwalkan ke kluster karena alasan seperti prioritas pod rendah atau sumber daya tidak mencukupi. Saat pod gagal dijadwalkan ke kluster terkait, penjadwal ulang akan menjadwalkan kembali pod ke kluster lain untuk memastikan pod dapat berjalan normal. Penjadwalan ulang diaktifkan secara default. Untuk informasi lebih lanjut tentang cara memverifikasi penjadwalan ulang, lihat Verifikasi penjadwalan ulang.

Pemulihan tingkat aplikasi

Dalam skenario penjadwalan aplikasi multi-kluster, Anda dapat meningkatkan pemanfaatan sumber daya dengan menempatkan layanan online dan offline bersama-sama di kluster yang sama. Untuk mencegah layanan online terpengaruh oleh layanan offline, Anda dapat memberikan prioritas lebih rendah kepada layanan offline daripada layanan online atau menjalankan layanan offline pada instance preemptible. Dalam kasus ini, layanan offline mungkin berhenti berjalan karena alasan seperti pengecualian node, perebutan sumber daya oleh pod dengan prioritas lebih tinggi, atau pelepasan instance preemptible.

Untuk mengatasi masalah ini, instance Fleet ACK One mendukung pemulihan tingkat aplikasi. Saat pekerjaan atau tugas berhenti berjalan, fitur pemulihan tingkat aplikasi secara otomatis memigrasikan pekerjaan atau tugas ke kluster lain. Untuk informasi lebih lanjut, lihat Gunakan Kube Queue pada instance Fleet dan jadwalkan PyTorchJob menggunakan penjadwalan gang.

Penjadwalan gang multi-kluster

Penjadwalan gang memastikan bahwa sekelompok pod yang saling terkait dijadwalkan pada waktu yang sama. Jika persyaratan penjadwalan tidak terpenuhi, tidak ada pod yang dijadwalkan. Penjadwalan gang menyediakan solusi untuk penjadwalan pekerjaan dalam skenario all-or-nothing. Dalam skenario distribusi aplikasi multi-kluster, penjadwalan gang multi-kluster menggunakan pra-alokasi sumber daya atau pemeriksaan sumber daya dinamis untuk menjadwalkan sekelompok pod yang saling terkait ke kluster yang sama.

Pekerjaan pelatihan PyTorch dan TensorFlow menggunakan arsitektur master-worker dan pekerjaan Spark menggunakan arsitektur driver-executor. Saat menjalankan pekerjaan pelatihan PyTorch atau TensorFlow yang menggunakan beberapa GPU di beberapa node atau menjalankan pekerjaan Spark, Anda dapat menggunakan fitur penjadwalan gang multi-kluster untuk menjadwalkan pod pekerjaan ke kluster yang sama. Ini memastikan komunikasi antara pod master dan worker serta antara pod driver dan executor.

Dengan fitur penjadwalan gang multi-kluster, penjadwalan ulang, dan pemulihan tingkat aplikasi, instance Fleet ACK One memastikan bahwa pekerjaan AI dapat dijadwalkan ke kluster yang menyediakan sumber daya yang cukup dan berjalan normal. Untuk informasi lebih lanjut, lihat Distribusi pekerjaan.

Sumber daya yang dapat didistribusikan

Tabel berikut menjelaskan sumber daya yang didukung oleh distribusi aplikasi multi-kluster dan penyebaran diferensiasi.

Catatan

Secara default, jika Anda memiliki izin untuk membuat sumber daya pada instance Fleet, Anda memiliki izin untuk mendistribusikan sumber daya dari instance Fleet ke kluster yang terkait dengan instance tersebut.

Tingkat sumber daya

Jenis sumber daya

APIVersion

Kebijakan distribusi

Kebijakan override

Kluster

Namespace

v1

Didukung

Didukung

PersistentVolume

v1

Didukung

Didukung

StorageClass

storage.k8s.io/v1

Didukung

Didukung

CutomResourceDefinition

apiextensions.k8s.io/v1

Didukung

Didukung

Namespace

Deployment

apps/v1

Didukung

Didukung

StatefulSet

apps/v1

Didukung

Didukung

DaemonSet

apps/v1

Didukung

Didukung

Job

batch/v1

Didukung

Didukung

CronJob

batch/v1

Didukung

Didukung

Ingress

networking.k8s.io/v1

Didukung

Didukung

Service

v1

Didukung

Didukung

PersistentVolumeClaim

v1

Didukung

Didukung

ConfigMap

v1

Didukung

Didukung

Secret

v1

Didukung

Didukung

Pod

v1

Didukung

Didukung

LimitRange

v1

Didukung

Didukung

ResourceQuota

v1

Didukung

Didukung

HorizontalPodAutoscaler

autoscaling/v2

Didukung

Didukung

Referensi

Fitur

Deskripsi

Referensi

Menggunakan kebijakan distribusi untuk menerapkan aplikasi

Topik ini menjelaskan cara menggunakan kubectl untuk membuat PropagationPolicy guna mendistribusikan sumber daya tertentu ke kluster yang terkait dengan instance Fleet dan membuat OverridePolicy untuk menimpa sumber daya tertentu selama distribusi.

Memulai dengan distribusi aplikasi

Deskripsi kebijakan

Topik ini menjelaskan cara membuat kebijakan distribusi dan kebijakan override, serta menjelaskan parameter dalam template kebijakan. Anda dapat membaca topik ini untuk mendapatkan pemahaman menyeluruh tentang kebijakan distribusi aplikasi.

PropagationPolicy dan OverridePolicy

Menggunakan AMC untuk menanyakan status aplikasi di kluster terkait

Topik ini menjelaskan cara menjalankan perintah kubectl amc untuk menanyakan kemajuan distribusi aplikasi di kluster terkait.

Gunakan baris perintah AMC