全部产品
Search
文档中心

Container Service for Kubernetes:Persistensi alur kerja

更新时间:Jun 26, 2025

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

  1. Buat instance ApsaraDB RDS for MySQL.

  2. Siapkan database baru di instance yang dibuat pada langkah sebelumnya dan konfigurasikan akun pengguna.

  3. Konfigurasikan virtual private cloud (VPC) untuk instance tersebut. Pastikan VPC sesuai dengan yang digunakan oleh kluster Anda.

    Penting

    Saat 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.

Catatan

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.

  1. Dalam namespace argo dari kluster, buat Secret bernama argo-mysql-config untuk 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: Opaque
  2. Ubah workflow-controller-configmap dalam namespace argo. Tambahkan konfigurasi persistensi di bidang data.

    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: password

    Tabel berikut menjelaskan parameter utama yang digunakan dalam file konfigurasi:

    Parameter

    Deskripsi

    host

    Titik akhir instance ApsaraDB RDS for MySQL.

    database

    Nama database yang Anda buat di instance ApsaraDB RDS for MySQL pada langkah sebelumnya.

    archive

    Menentukan apakah akan mengaktifkan persistensi alur kerja. Atur parameter ini ke true.

    archiveTTL

    Menentukan 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.

  3. Mulai ulang controller Argo Workflow dan Argo Server untuk menerapkan perubahan.