跳转至

开启 ArgoCD UI

为了方便用户直接在应用工作台中利用 ArgoCD 的原生 UI 查看 ArgoCD 的应用详情, DCE 5.0 应用工作台提供了开启 ArgoCD UI 的功能。本文档将指导您如何开启 ArgoCD UI。

Note

在 UI 中仅有只读权限,如果有其他操作需求,请通过工作台进行操作。

开启 ArgoCD 的 UI 功能需要修改的配置项较多,并且配置项之间是相互影响的,请严格按照下面的步骤进行配置。

修改 ArgoCD 配置

下述配置均在 kpanda-global-cluster 集群中,并假设您的 ArgoCD 安装在 argocd 这个命名空间中。

前往 容器管理 -> 集群列表 -> kpanda-global-cluster -> 自定义资源 ,根据资源分组及版本搜索 (即 apiVersion 字段。以 Gateway 为例,搜索 networking.istio.io),进入自定义资源详情后,选择对应命名空间及版本,在右侧点击 YAML 创建 。 创建以下几个资源。

  1. 创建 Gateway

    apiVersion: networking.istio.io/v1alpha3
    kind: Gateway
    metadata:
      name: argocd-gateway
      namespace: argocd # 注意命名空间
    spec:
      selector:
        istio: ingressgateway
      servers:
        - hosts:
            - "*"
          port:
            name: http
            number: 80
            protocol: HTTP
          tls:
            httpsRedirect: false
        - hosts:
            - "*"
          port:
            name: https
            number: 443
            protocol: HTTPS
          tls:
            cipherSuites:
              - ECDHE-ECDSA-AES128-GCM-SHA256
              - ECDHE-RSA-AES128-GCM-SHA256
              - ECDHE-ECDSA-AES128-SHA
              - AES128-GCM-SHA256
              - AES128-SHA
              - ECDHE-ECDSA-AES256-GCM-SHA384
              - ECDHE-RSA-AES256-GCM-SHA384
              - ECDHE-ECDSA-AES256-SHA
              - AES256-GCM-SHA384
              - AES256-SHA
            credentialName: argocd-secret
            maxProtocolVersion: TLSV1_3
            minProtocolVersion: TLSV1_2
            mode: SIMPLE
    
  2. 创建 VirtualService

    apiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: argocd-virtualservice
      namespace: argocd # 注意命名空间
    spec:
      gateways:
        - argocd-gateway
      hosts:
        - "*"
      http:
        - match:
            - uri:
                prefix: /argocd
          route:
            - destination:
                host: amamba-argocd-server
                port:
                  number: 80
    
  3. 创建 GProductProxy

    apiVersion: ghippo.io/v1alpha1
    kind: GProductProxy
    metadata:
      name: argocd
    spec:
      gproduct: amamba
      proxies:
        - authnCheck: false
          destination:
            host: amamba-argocd-server.argocd.svc.cluster.local
            port: 80
          match:
            uri:
              prefix: /argocd/applications/argocd
        - authnCheck: false
          destination:
            host: amamba-argocd-server.argocd.svc.cluster.local # 如果命名空间不是 argocd,需要更改 svc 的名称
            port: 80
          match:
            uri:
              prefix: /argocd
    

    host 中的 amamba-argocd-server.argocd.svc.cluster.local 需要根据您的 ArgoCD 的服务名称和命名空间进行修改。 具体修改路径为 容器管理 -> 集群列表 -> kpanda-global-cluster -> 容器网络 ,根据 ArgoCD 安装的命名空间搜索关键词 amamba-argocd-server 来确定。

  4. 修改 ArgoCD 的相关配置

    前往 容器管理 -> 集群列表 -> kpanda-global-cluster -> 工作负载 -> 无状态负载 , 选择您安装的 ArgoCD 的命名空间,如 argocd。找到 amamba-argocd-server,点击右侧的 重启 按钮。

    修改 argocd-cmd-params-cm

    kind: ConfigMap
    metadata:
      name: argocd-cmd-params-cm
      namespace: argocd
    data:
      server.basehref: /argocd # 添加这三行
      server.insecure: "true"
      server.rootpath: /argocd
    

    修改 argocd-rbac-cm

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: argocd-rbac-cm
      namespace: argocd
    data:
      policy.csv: |-
        g, amamba, role:admin
        g, amamba-view, role:readonly   # 添加这一行
    

    修改 argocd-cm

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: argocd-cm
      namespace: argocd
    data:
      accounts.amamba: apiKey
      accounts.amamba-view: apiKey # 添加这一行
    
  5. 更改完上述选项后,需要重启 amamba-argocd-server 这个 Deployment。

    前往 容器管理 -> 集群列表 -> kpanda-global-cluster -> 工作负载 -> 无状态负载 , 选择您安装的 ArgoCD 的命名空间,如 argocd。 找到 amamba-argocd-server,点击右侧的 重启 按钮。

修改应用工作台配置项

经过上述步骤后,还需要更改应用工作台的配置项才能使 ArgoCD UI 生效。

  1. 前往 容器管理 -> 集群列表 -> kpanda-global-cluster -> 配置与密钥 -> 配置项 , 选择命名空间 amamba-system,修改 amamba-config 这个 ConfigMap,修改以下配置项:

    generic:
      argocd:
        host: amamba-argocd-server.argocd.svc.cluster.local:443  # 将端口改为 443
        enableUI: true         # 添加这个选项
    

    host 端口保持 443,其中 amamba-argocd-server.argocd.svc.cluster.local 需要根据您的 ArgoCD 的服务名称和命名空间进行修改。 具体修改路径为 容器管理 -> 集群列表 -> kpanda-global-cluster -> 容器网络 ,根据 ArgoCD 安装的命名空间搜索关键词 amamba-argocd-server 来确定。

  2. 更改完上述选项后,前往 容器管理 -> 集群列表 -> kpanda-global-cluster -> 工作负载 -> 无状态负载 , 选择命名空间 amamba-system,分别重启 amamba-apiserveramamba-syncer 这两个 Deployment。

查看拓扑

  1. 应用工作台 -> 持续发布 页面中,点击一个应用名称,进入详情界面

  2. 详情界面点击 ArgoCD 拓扑 即可看到拓扑图:

    topo

评论