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

前提条件

  • 您已成功创建一个 Kubernetes 集群,参见创建Kubernetes集群。
  • 您已连接到Kubernetes集群的Master节点,参见通过 kubectl 连接 Kubernetes 集群。

操作步骤

  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>,按照提示输入密码就能看到如下界面。
    开启Workflow UI
    你可以根据需要查看工作流的状态。

    开启Workflow UI