argo workflow 部署

  • Post author:
  • Post category:其他


Argo Workflows 官网中有提供

快速部署

的案例,但并不能满足我们在实际生产中的需求,接下来将使用社区维护的

helm chart argo-workflows

进行相关部署。



1. minio 部署



1.1 下载 helm chart

helm repo add bitnami https://charts.bitnami.com/bitnami
helm pull bitnami/minio 
tar xf minio-11.10.13.tgz && cd minio



1.2 修改 values.yaml

## 目前集群中只用一个 node 节点,MinIO server 模式选择 standlone
mode: standlone
## 设置控制台登录时的用户名和密码
auth:
  rootUser: admin
  rootPassword: "1qaz2wsx" 
## 创建默认的存储桶
defaultBuckets: "argo-workflows"  
## 进行持久化设置
provisioning:
  enabled: true
  storageClass: "nfs-client"
  size: 100Gi
ingress:
  enabled: true
  apiVersion: "networking.k8s.io/v1"
  ingressClassName: "nginx"
  hostname: minio.local
## 监控指标获取与监控告警设置
metrics:
  serviceMonitor:
    enabled: true
    namespace: "monitoring"
  prometheusRule:
    enabled: true
    namespace: "monitoring"



1.3 安装

helm ungrade --install argo-artifacts . -n argo-workflows



2 postgresql 部署



2.1 下载 helm chart

helm repo add bitnami https://charts.bitnami.com/bitnami
helm search repo  postgresql
helm pull bitnami/postgresql
tar xf postgresql-12.1.0.tgz && cd postgresql/



2.2 修改 values.yaml

global:
  storageClass: "nfs-client"
  postgresql:
    auth:
	  postgresPassword: "1qaz2wsx"
	  username: "workflows"
	  password: "1qaz2wsx"
	  database: "workflows"
metrics:
  enabled: true
  serviceMonitor:
    enabled: true
	namespace: "monitoring"



2.3 安装

 helm upgrade --install postgresql . -n argo-workflows



3 argo-workflows 部署



3.1 预准备

  • 创建 secret 存放 postgresql 的 dmin password, username, password (for username),提供给 argo-workflow
kubectl create secret -n argo-workflows generic argo-workflows-postgresql \
  --from-literal=username=workflows \
  --from-literal=password=1qaz2wsx \
  --from-literal=postgres-password=1qaz2wsx
  • 创建 secret 存放 minio 的 accessKey 和 secretKey
kubectl create secret -n argo-workflows generic argo-workflows-minio \
  --from-literal=accessKey=admin \
  --from-literal=secretKey=1qaz2wsx 



3.2 下载 helm chart

git clone https://github.com/argoproj/argo-helm.git
cd argo-helm/charts/argo-workflows/ 
git checkout argo-workflows-0.20.7



3.3 修改 values.yaml

controller:
  persistence:
    postgresql:
	  host: postgresql
	  port: 5432
	  database: workflows
	  tableName: workflows
      userNameSecret:
        name: argo-workflows-postgresql
        key: username
      passwordSecret:
        name: argo-workflows-postgresql
        key: password
  serviceMonitor:
    enabled: true
	namespace: "monitoring"
artifactRepository:
  s3:
    accessKeySecret:
      name: argo-workflows-minio
      key: accesskey
    secretKeySecret:
      name: argo-workflows-minio
      key: secretkey
    bucket: argo-workflows
    endpoint: argo-artifacts-minio:9000

1.3.4 安装

helm install argo-workflows . -n argo-workflows



版权声明:本文为cl18707602767原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。