Tüm Ürünler
Search
Belge Merkezi

Container Compute Service:Persist workflows

Son Güncelleme:Oct 08, 2026

Argo Workflows, iş akışı durumlarını ve ilgili kaynakları düzenli olarak siler. Bir kalıcılık ilkesi yapılandırarak iş akışlarını bir MySQL veritabanına arşivleyin; böylece iş akışları veya bunların pod'ları silindikten sonra bile iş akışı günlüklerini görüntüleyebilirsiniz.

Bu konuda veritabanı arka ucu olarak ApsaraDB RDS for MySQL kullanılır.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Argo Workflows yüklü bir Alibaba Cloud Container Service kümesi

  • Kümedeki argo ad alanına erişim

  • Kümede Secret'lar oluşturma ve ConfigMap'leri değiştirme izinleri

1. Adım: ApsaraDB RDS for MySQL'i ayarlayın

Bir ApsaraDB RDS for MySQL örneği oluşturun, bu örnek üzerinde bir veritabanı oluşturun ve bir veritabanı hesabı yapılandırın. RDS örneği, kümeyle aynı Virtual Private Cloud (VPC) içinde bulunmalıdır. VPC'nin CIDR bloğundan gelen bağlantılara izin vermek için örnek üzerinde bir IP izin listesi yapılandırın.

Ayrıntılı adımlar için bkz. ApsaraDB RDS for MySQL örneği oluşturma ve veritabanı yapılandırma.

Kurulum tamamlandıktan sonra veritabanı hesabının kullanıcı adını ve parolasını kaydedin.

ApsaraDB RDS for MySQL fiyatlandırması hakkında bilgi için Faturalandırılan öğeler konusuna bakın.

2. Adım: Kalıcılık ayarlarını ekleyin

Argo Workflows ConfigMap'e kalıcılık ayarlarını ekleyin. Varsayılan olarak, ayarların etkili olması için Argo Workflows denetleyicisini ve Argo Server'ı manuel olarak yeniden başlatmanız gerekir.

1. Veritabanı kimlik bilgileri için bir Secret oluşturun

Veritabanı kullanıcı adını ve parolasını depolamak amacıyla argo ad alanında argo-mysql-config adlı bir Secret oluşturun.

Seçenek A: kubectl kullanma (önerilen)

kubectl create secret generic argo-mysql-config -n argo \
  --from-literal=username=<database-username> \
  --from-literal=password=<database-password>

Seçenek B: YAML bildirim dosyası kullanma

apiVersion: v1
kind: Secret
metadata:
  name: argo-mysql-config
  namespace: argo
type: Opaque
stringData:
  username: <database-username>  # Replace with the actual username.
  password: <database-password>  # Replace with the actual password.

Bildirimi uygulayın:

kubectl apply -f secret.yaml

2. ConfigMap'i güncelleyin

argo ad alanındaki workflow-controller-configmap öğesini düzenleyerek data altına persistence bloğunu ekleyin:

data:
  persistence: |
    connectionPool:
      maxIdleConns: 100
      maxOpenConns: 0
      connMaxLifetime: 0s     # 0 means connections don't have a max lifetime.
    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

Temel parametreler:

Parametre Açıklama
archive İş akışı kalıcılığını etkinleştirmek için true olarak ayarlayın.
archiveTTL Arşivlenen iş akışlarının saklama süresi. Bu örnekte 30d olarak ayarlanmıştır; bu, iş akışlarının 30 gün boyunca saklandığı anlamına gelir. Saklama süresinin üst sınırı yoktur.
mysql.host ApsaraDB RDS for MySQL örneğinin uç noktası.
mysql.port Veritabanı bağlantı noktası. Varsayılan değer 3306 değeridir.
mysql.database İş akışı verilerinin yazılacağı veritabanının adı.
mysql.tableName Birincil iş akışı tablosunun adı.
connectionPool.maxIdleConns Havuzdaki maksimum boşta bekleyen bağlantı sayısı.
connectionPool.maxOpenConns Maksimum açık bağlantı sayısı. 0 değeri sınırsız olduğunu gösterir.
connectionPool.connMaxLifetime Maksimum bağlantı ömrü. 0s değeri, bağlantıların maksimum ömür sınırına sahip olmadığını gösterir.
userNameSecret Veritabanı kullanıcı adını tutan Secret anahtarına referans.
passwordSecret Veritabanı parolasını tutan Secret anahtarına referans.

3. Argo Workflows denetleyicisini ve Argo Server'ı yeniden başlatın

Kalıcılık ayarlarının etkili olması için Argo Workflows denetleyicisini ve Argo Server'ı yeniden başlatın.

Sonraki adımlar

  • Kalıcılığı devre dışı bırakmak için persistence bloğunda archive: false ayarını yapın ve Argo Workflows denetleyicisi ile Argo Server'ı yeniden başlatın.

  • Arşivlenen iş akışlarını görüntülemek için Argo Server UI'ını açın ve Archived Workflows bölümüne gidin.