Sumber daya terkait alur kerja, seperti status berjalan, dihapus secara berkala. Untuk menganalisis dan melacak sejarah alur kerja, Anda dapat mengonfigurasi kebijakan persistensi untuk menyimpan log alur kerja dalam database. Hal ini memastikan bahwa log tetap dapat diakses meskipun alur kerja atau pod yang menjalankannya telah dihapus. Topik ini menggunakan contoh database ApsaraDB RDS for MySQL untuk menunjukkan cara menyiapkan kebijakan persistensi.
Langkah 1: Konfigurasikan instance ApsaraDB RDS for MySQL dan buat database
Buat instance ApsaraDB RDS for MySQL.
Siapkan database baru di instance yang dibuat pada langkah sebelumnya dan konfigurasikan akun pengguna.
Konfigurasikan virtual private cloud (VPC) untuk instance tersebut. Pastikan VPC sesuai dengan yang digunakan oleh kluster Anda.
PentingSaat mengonfigurasi daftar putih IP, sertakan blok CIDR dari VPC ini.
Untuk langkah-langkah terperinci, lihat Langkah 1: Cepat membuat instance RDS MySQL dan konfigurasikan database.
Setelah konfigurasi, catat nama pengguna dan kata sandi database untuk digunakan selanjutnya.
Untuk informasi tentang cara RDS ditagih, lihat Item yang dapat ditagih.
Langkah 2: Tambahkan konfigurasi persistensi
Anda dapat menambahkan parameter terkait persistensi ke ConfigMap Argo Workflows untuk menyimpan data alur kerja dalam database. Data yang disimpan dalam database bersifat persisten. Secara default, komponen inti Argo tidak mendeteksi perubahan dalam konfigurasi database ConfigMap secara otomatis. Setelah konfigurasi, Anda harus memulai ulang controller Argo Workflow dan Argo Server secara manual untuk menerapkan perubahan.
Dalam namespace
argodari kluster, buat Secret bernamaargo-mysql-configuntuk menyimpan nama pengguna dan kata sandi database.apiVersion: v1 stringData: username: nama-pengguna-database # Ganti dengan akun database RDS Anda. password: kata-sandi-database # Ganti dengan kata sandi database RDS Anda. kind: Secret metadata: name: argo-mysql-config namespace: argo type: OpaqueUbah
workflow-controller-configmapdalam namespaceargo. Tambahkan konfigurasi persistensi di bidangdata.data: persistence: | connectionPool: maxIdleConns: 100 maxOpenConns: 0 connMaxLifetime: 0s # 0 berarti koneksi tidak memiliki masa hidup maksimum. archiveTTL: 30d archive: true mysql: host: rm-xxx.mysql.cn-beijing.rds.aliyuncs.com port: 3306 database: argo-workflow tableName: argo_workflows userNameSecret: name: argo-mysql-config key: username passwordSecret: name: argo-mysql-config key: passwordTabel berikut menjelaskan parameter utama yang digunakan dalam file konfigurasi:
Parameter
Deskripsi
hostTitik akhir instance ApsaraDB RDS for MySQL.
databaseNama database yang Anda buat di instance ApsaraDB RDS for MySQL pada langkah sebelumnya.
archiveMenentukan apakah akan mengaktifkan persistensi alur kerja. Atur parameter ini ke
true.archiveTTLMenentukan periode retensi untuk alur kerja. Tidak ada nilai maksimum. Dalam contoh ini, parameter diatur ke
30d, yang berarti alur kerja disimpan dalam database selama 30 hari.Mulai ulang controller Argo Workflow dan Argo Server untuk menerapkan perubahan.