argo workflows触发方式
定时触发
类似于 k8s 中的 job 和 cronjob,CronWorkflow 会定时创建 Workflow 来实现定时触发。
1 | apiVersion: argoproj.io/v1alpha1 |
类似于 k8s 中的 job 和 cronjob,CronWorkflow 会定时创建 Workflow 来实现定时触发。
1 | apiVersion: argoproj.io/v1alpha1 |
templates,或者引用 WorkflowTemplate 和 ClusterWorkflowTemplate。Workflow 可以引用 WorkflowTemplate 以使用其定义的步骤和任务。WorkflowTemplate 类似,但在集群范围内可用,适用于跨命名空间的工作流。Workflow 可以引用 ClusterWorkflowTemplate,这使得模板在所有命名空间中都可用。Workflow、WorkflowTemplate 或 ClusterWorkflowTemplate 中。templates 可以相互引用,支持复用和组合。templates 直接执行,也可以引用 WorkflowTemplate 或 ClusterWorkflowTemplate。新建命名空间并部署项目资源
1 | kubectl create namespace argo |
默认情况下, argo workflows 服务不对外暴露服务,可以通过 LoadBalancer 或者 NodePort 类型的 Service、Ingress、Kubectl 端口转发等方式将 argo workflows 服务发布到 Kubernetes 集群外部。
由于是 vm 自建,所以选择使用 NodePort 的方式暴露服务。
1 | kubectl patch svc argo-server -n argo -p '{"spec": {"type": "NodePort"}}' |
查看随机暴露的端口
1 | root@devops:~# kubectl get svc -n argo |