Workflow 提供了一套 UI 来展示目前工作流的状态,方便查看每个步骤的容器日志,下面为您介绍如何使用 Ingress 暴露UI访问端点。

前提条件

操作步骤

  1. 执行 htpasswd 命令生成auth文件,用于存放用户名密码。
    $ htpasswd -c auth workflow
    New password: <workflow>
    New password:
    Re-type new password:
    Adding password for user workflow
  2. 执行如下命令,创建secret 来在 Kubernetes 集群中存放此加密文件。
    $ kubectl create secret generic workflow-basic-auth --from-file=auth -n argo
  3. 创建并拷贝内容到ingress yaml文件中,并执行kubectl apply -f ingress.yaml命令,创建workflow-ingress路由。
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: workflow-ingress
      namespace: argo
      annotations:
        # type of authentication
        nginx.ingress.kubernetes.io/auth-type: basic
        # name of the secret that contains the user/password definitions
        nginx.ingress.kubernetes.io/auth-secret: workflow-basic-auth
        # message to display with an appropriate context why the authentication is required
        nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - workflow'
    spec:
      rules:
      - host: workflow.<yourTestHost>
        http:
          paths:
          - path: /
            backend:
              serviceName: argo-ui
              servicePort: 80
    说明 此处的 host需要替换成您对应的集群地址(即为 集群信息中的 测试域名的值,例如:workflow.cfb131.cn-zhangjiakou.alicontainer.com)。
  4. 在浏览器输入workflow.<yourTestHost>,按照提示输入密码就能看到如下界面。

    你可以根据需要查看工作流的状态。