自定义域名访问GitOps控制台

如需使用自定义域名访问ACK One GitOps控制台,您可以将自定义域名通过CNAME记录指向GitOps的默认域名,配置SSL证书后,通过https://${your-domain}并使用云SSO账号登录。

前提条件

已从ACK One控制台获取Fleet实例的KubeConfig,并通过kubectl连接至Fleet实例。

操作步骤

  1. 登录DNS,将自定义域名CNAME到GitOps的默认域名。

    GitOps默认域名为:argocd.${your-fleet-id}.${region}.alicontainer.com

    • ${your-fleet-id}:替换为您的ACK One Fleet ID。

    • ${region}:替换为ACK One Fleet实例所在的地域。

  2. 将SSL证书配置到GitOps,以让浏览器信任您的域名。

    证书下载完成后,在ACK One Fleet实例中执行以下命令,在Fleet中创建名为argocd-server-tls的Secret。

    kubectl create -n argocd secret tls argocd-server-tls \
      --cert=/path/to/cert.pem \
      --key=/path/to/key.pem
    说明

    当证书快过期时,您需要使用新的SSL证书更新该Secret。

  3. 将GitOps的argocd-cm文件中SSO的默认域名替换为您自己的域名,并重启argocd-server使其生效。

    依次执行以下4条命令,执行前请替换以下参数:

    • ${your-fleet-id}:替换为您的ACK One Fleet ID。

    • ${region}:替换为ACK One Fleet实例所在的地域。

    • ${your-domain}:替换为您自己的域名。

    kubectl -nargocd get cm argocd-cm -oyaml > argocd-cm.yaml
    
    # 例如:sed -i "s|https://argocd.c9f382209eb004ec5a586************.cn-hangzhou.alicontainer.com|https://test.example.com|g" argocd-cm.yaml
    sed -i "s|https://argocd.${your-fleet-id}.${region}.alicontainer.com|https://${your-domain}|g" argocd-cm.yaml
    
    kubectl -nargocd apply -f argocd-cm.yaml
    
    kubectl -nargocd rollout restart deployment argocd-server
  4. 将自定义域名修改至RAM中OAuth应用的回调地址中。

    1. 使用阿里云账号登录RAM控制台

    2. 在左侧导航栏,选择集成管理 > OAuth应用(公测)

    3. 企业应用页签,单击目标应用ackone-argo-cd-${your-fleet-id}@app.${your-uid}.onaliyun.com,其中,${your-fleet-id}}为您的ACK One Fleet ID,${your-uid}为您的阿里云账号ID。

    4. 基本信息区域,单击编辑基本信息,将回调地址修改为https://${your-domain}/auth/callback,其中,${your-domain}为您自己的域名。

  5. 在浏览器中输入https://${your-domain},并使用云SSO账号登录,快速地访问ACK One GitOps控制台。其中,${your-domain}为您自己的域名。

相关文档

如果您需要通过ACK One GitOps实现多集群应用发布功能,请参见ACK One GitOps最佳实践