2026/5/21 15:43:18
网站建设
项目流程
网站建设客户沟通模块,恒彩装饰和圣都哪个好,重庆拓达建设集团网站,网站开发研究手段有哪些一份详细的 ArgoCD CLI 命令使用指南#xff0c;按「基础准备→核心命令#xff08;按使用场景分类#xff09;→高级用法→实用技巧」的结构整理#xff0c;覆盖日常运维90%以上的场景#xff0c;新手也能快速上手。
一、前置准备
1. 安装 ArgoCD CLI
方式1#xff1…一份详细的 ArgoCD CLI 命令使用指南按「基础准备→核心命令按使用场景分类→高级用法→实用技巧」的结构整理覆盖日常运维90%以上的场景新手也能快速上手。一、前置准备1. 安装 ArgoCD CLI方式1官方二进制包推荐# Linuxcurl-sSL -o argocd-linux-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64chmodx argocd-linux-amd64sudomvargocd-linux-amd64 /usr/local/bin/argocd# Maccurl-sSL -o argocd-darwin-amd64 https://github.com/argoproj/argo-cd/releases/latest/download/argocd-darwin-amd64chmodx argocd-darwin-amd64sudomvargocd-darwin-amd64 /usr/local/bin/argocd# WindowsPowerShellInvoke-WebRequest -Uri https://github.com/argoproj/argo-cd/releases/latest/download/argocd-windows-amd64.exe -OutFile argocd.exe# 把 argocd.exe 加入系统环境变量方式2通过 kubectl 端口转发无需要本地安装应急使用# 端口转发后台运行默认端口8080kubectl port-forward svc/argocd-server -n argocd8080:443# 所有 argocd 命令后添加 --port 8080 --insecure 即可使用argocd app list --port8080--insecure2. 登录 ArgoCD 集群场景1直接访问 ArgoCD Server有公网/集群内访问地址# 基本登录命令默认用户名 admin密码需获取argocd loginargocd-server地址[可选参数]# 示例1HTTP 访问不验证证书测试/内网环境argocd login argocd.example.com:80 --insecure --username admin --password你的密码# 示例2HTTPS 访问带证书生产环境argocd login argocd.example.com:443 --certificate-authority /path/to/ca.crt --username admin# 示例3使用端口转发登录本地无公网访问argocd login localhost:8080 --insecure --username admin场景2获取默认 admin 密码新部署的 ArgoCD# 从 Secret 中提取默认密码部署后自动生成需解码kubectl -n argocd get secret argocd-initial-admin-secret -ojsonpath{.data.password}|base64 -decho登录后可选操作修改 admin 密码argocd account update-password --current-password旧密码--new-password新密码二、核心命令详解按使用场景分类场景1应用Application管理最常用应用是 ArgoCD 的核心资源所有同步、查询、修改操作都围绕应用展开。1. 查看应用列表# 基础列表argocd app list# 筛选命名空间下的应用argocd app list --namespace应用命名空间# 格式化输出json/yaml便于脚本处理argocd app list -o json argocd app list -o yaml2. 查看应用详情定位故障核心命令# 基础详情argocd app get应用名# 详细信息含同步日志、资源状态、阻塞原因推荐故障排查使用argocd app get应用名--verbose# 仅查看应用的同步状态和资源差异argocd app get应用名--diff3. 创建应用# 命令行直接创建简单场景argocd app create应用名\--repoGit仓库地址\# 如 https://github.com/your/repo.git--pathGit仓库内配置文件路径\# 如 k8s/apps/xxx--target-revisionGit分支/标签/提交\# 如 main、v1.0.0--dest-serverK8s集群地址\# 默认为 https://kubernetes.default.svc本地集群--dest-namespace应用部署命名空间\# 如 default、your-namespace# 示例创建一个名为 demo-app 的应用argocd app create demo-app\--repo https://github.com/your/k8s-manifests.git\--path demo-app/prod\--target-revision main\--dest-namespace demo\--sync-policy automated# 启用自动同步可选# 从 YAML 文件创建复杂场景推荐纳入Git版本控制argocd app create -fapplication.yaml4. 同步应用手动触发# 基础同步argocd appsync应用名# 强制同步解决不可变字段、资源冲突核心应急命令argocd appsync应用名--force# 同步时跳过钩子PreSync/PostSync应急时使用argocd appsync应用名--force --skip-hooks# 仅同步指定资源避免全量同步提高效率argocd appsync应用名--resource资源类型/资源名\--resource deployment/demo-app\--resource job/update-bucket-config5. 终止正在进行的同步解决卡 Syncing 问题argocd app terminate应用名6. 修改应用配置无需重新创建# 示例1启用自动同步和自动清理Pruneargocd appset应用名--sync-policy automated --auto-prune# 示例2修改Git仓库路径或分支argocd appset应用名--path new/path/in/git --target-revision dev# 示例3添加同步选项强制替换不可变资源argocd appset应用名--sync-optionReplacetrue# 示例4暂停应用同步禁止自动/手动同步维护时使用argocd appset应用名--pause# 恢复同步argocd appset应用名--unpause7. 删除应用# 仅删除 ArgoCD 中的应用记录不删除 K8s 集群中的实际资源推荐argocd app delete应用名# 同时删除 ArgoCD 应用记录和 K8s 集群中的资源谨慎使用生产环境需确认argocd app delete应用名--cascade场景2仓库Repository管理管理 ArgoCD 关联的 Git 仓库/Helm 仓库用于拉取应用配置。1. 添加 Git 仓库无认证argocd repoaddGit仓库地址--name仓库别名可选# 示例argocd repoaddhttps://github.com/your/k8s-manifests.git --name my-k8s-repo2. 添加带认证的 Git 仓库HTTPS 用户名/密码argocd repoaddhttps://github.com/your/private-repo.git\--usernameGit用户名\--passwordGit密码/个人访问令牌PAT3. 添加带 SSH 认证的 Git 仓库# 先确保本地有 SSH 密钥且公钥已添加到 Git 仓库argocd repoaddgitgithub.com:your/private-repo.git\--ssh-private-key-pathSSH私钥路径\# 如 ~/.ssh/id_rsa--insecure-ignore-host-key# 忽略主机密钥验证测试环境生产不推荐4. 查看仓库列表和详情# 列表argocd repo list# 详情验证仓库连通性排查拉取失败问题argocd repo getGit仓库地址/别名5. 删除仓库argocd repo removeGit仓库地址/别名场景3集群Cluster管理管理 ArgoCD 可部署应用的 K8s 集群支持多集群部署。1. 查看 ArgoCD 已关联的集群argocd cluster list# 注默认包含本地集群https://kubernetes.default.svc2. 添加外部 K8s 集群# 方式1使用 kubeconfig 文件推荐需本地有目标集群的 kubeconfigargocd clusteraddkubeconfig中的集群上下文名\--name集群别名可选\--namespace默认部署命名空间可选# 方式2手动指定 APIServer 地址和令牌argocd clusteradd集群APIServer地址\--tokenK8s 服务账户令牌\--name集群别名\--insecure# 忽略证书验证测试环境3. 删除已关联的集群argocd cluster remove集群APIServer地址/别名场景4用户Account与权限管理管理 ArgoCD 本地用户生产环境推荐集成 LDAP/OIDC此处仅介绍本地用户。1. 查看当前登录用户argocd accountwhoami2. 修改当前用户密码argocd account update-password3. 列出所有本地用户argocd account list4. 创建/修改本地用户需 ArgoCD 管理员权限# 编辑用户配置直接修改 ConfigMapArgoCD 会自动加载kubectl edit configmap argocd-cm -n argocd场景5日志与故障排查# 查看应用的同步日志实时跟踪核心排查命令argocd app logs应用名-f# -f 实时滚动输出类似 tail -f# 查看 ArgoCD 组件日志自身故障排查如控制器卡死argocd admin logs -n argocd# 需在 argocd 命名空间下执行三、高级命令admin 管理管理员专用这类命令主要用于 ArgoCD 自身的运维和配置需集群管理员权限。1. 备份 ArgoCD 数据核心运维命令argocd adminexportargocd-backup-$(date%Y%m%d).json2. 恢复 ArgoCD 数据argocd adminimport-argocd-backup-20260129.json3. 重启 ArgoCD 组件argocd admin restart -n argocd# 等价于 kubectl rollout restart deployment -n argocd4. 验证应用配置提前排查 YAML 语法/资源冲突argocd admin validate应用配置文件路径四、实用技巧与最佳实践命令别名简化在.bashrc/.zshrc中添加别名提高效率aliasacargocdaliasacaargocd appaliasaclargocd app listaliasacgargocd app getaliasacsargocd app sync生效source ~/.bashrc之后可直接用acs 应用名同步应用。脚本化批量操作结合jq解析 JSON 输出实现批量同步/排查# 批量同步所有命名空间下的应用argocd app list -o json|jq -r.[].metadata.name|xargs-I{}argocd appsync{}--force避免重复登录登录后 ArgoCD 会在~/.argocd/config中保存凭证后续命令无需重复登录。生产环境禁用 --insecure生产环境必须使用合法 SSL 证书避免--insecure参数带来的安全风险。总结核心流程login登录→app create创建应用→app sync同步应用→app get排查故障覆盖日常大部分操作应急命令app terminate终止卡壳同步、app sync --force强制同步、admin export备份解决高频故障最佳实践复杂配置用 YAML 文件创建应用不可变资源添加Replacetrue注解避免手动操作引入风险。这份指南足够覆盖日常运维场景若需某一命令的更细节用法可执行argocd 命令 --help查看官方详细说明如argocd app sync --help。