Argocd快速开始

安装

  • 首次安装:

    • 非高可用(Non-HA)版本:

      kubectl apply -n `<命名空间>` -f https://raw.githubusercontent.com/argoproj/argo-cd/`<版本号>`/manifests/install.yaml
      
    • 高可用(HA)版本:

      kubectl apply -n `<命名空间>` -f https://raw.githubusercontent.com/argoproj/argo-cd/`<版本号>`/manifests/ha/install.yaml
      
    • 可在 Argo CD 发布页 · github.com 查找版本信息

  • 升级:

  • 安装 ArgoCD CLI:

    • 参考 Argo CD 发布页 · github.com,下载与你在 Kubernetes 上安装的版本相匹配的 CLI 工具
    • 根据你的操作系统下载相应的二进制可执行文件(例如:Windows 用户应下载 argocd-windows-amd64.exe
    • 配置该可执行文件,使其能在你的操作系统上运行
    • 在 CMD 或终端中测试是否可正常使用

用户配置

  • 获取管理员账号密码并修改:

    • 查看 <命名空间> 中的 argocd-initial-admin-secret,其中包含 base64 编码的初始密码
    • 使用 base64 解码器获取原始密码
    • 使用初始密码以 admin 用户身份登录,在用户信息中更新密码
  • 创建新用户:

    • 编辑 ConfigMaps 中的 argocd-cm,在末尾添加 data 字段

    • data 字段中添加 accounts.<账号名> 并指定权限

      • 例如:accounts.test: apiKey, login 表示创建一个名为 test 的账号,并授予其生成 API 密钥和登录的权限
      • 权限配置详见 RBAC 配置文档
    • 修改新建用户密码,需要使用 ArgoCD CLI 登录:

      • 先执行:

        argocd login <你的 ArgoCD 服务地址>
        

        使用 admin 用户名和密码登录

      • 然后执行:

        argocd account update-password --account "<新建用户>" --current-password "<admin 密码>" --new-password "<新用户密码>"
        
      • 此后可使用新用户和密码登录 ArgoCD

  • 修改用户权限:

    • 权限配置说明详见 RBAC 配置文档
    • 在 ConfigMaps 的 argocd-rbac-cm 中为指定用户修改权限,参考上述配置方法

仓库配置

  • 生成 Bitbucket App 密码用于认证:

  • 配置仓库连接:

    • 在 ArgoCD 服务页面点击 <Settings>,选择 <CONNECT REPO> 添加一个 Bitbucket 仓库(通过 HTTPS)

    • 填写用户名和上一步生成的密码,仓库地址示例:

      https://bitbucket.org/test/ba-api/src/main/
      
    • 点击 <Connect> 测试连接,成功后表示仓库已配置完成,可进行后续操作


集群配置

  • 确认你要添加到 ArgoCD 的本地 Kubernetes context 名称(例如:qa-tokyo

  • 在 CMD/终端中添加集群 context:

    • 首先使用 ArgoCD CLI 登录

    • 执行以下命令将集群添加到 ArgoCD:

      argocd cluster add "<Context 名称>"
      
    • 可通过 ArgoCD 页面或 CLI 命令修改集群显示名称:

      argocd cluster set "<旧名称>" --name "<新名称>"
      
    • 注意:不要修改集群命名空间!


API Token 配置

  • 确保账户拥有 apiToken 权限
  • 在 ArgoCD 页面进入 <Settings>-<Accounts>-<你的账号>,点击 <Generate New> 生成一个新的 API Token,并保存下来
  • 之后即可使用该 Token 进行 API 调用