K8s怎么部署ArgoCD实现GitOps持续部署自动化

陌明君_9787

陌明君_9787

2026-10-16

445人浏览

原创

必须先部署argocd控制平面:创建argocd命名空间、应用官方稳定版清单、等待pod就绪、获取初始密码、暴露访问入口(如port-forward或ingress),再配置首个gitops应用,完成从git拉取到集群同步的全链路闭环。

k8s怎么部署argocd实现gitops持续部署自动化

要在 Kubernetes 集群中启用 GitOps 持续部署自动化,必须先部署 ArgoCD 控制平面——它不是简单运行几个 Pod 就能工作的工具,而是需要正确初始化命名空间、加载 CRD、启动控制器并暴露访问入口的一整套声明式系统;缺少任一环节,后续应用同步将直接失败。

安装 ArgoCD 控制平面

这一步操作起来很简单,直接用 kubectl 应用官方稳定版清单即可。

执行:kubectl create namespace argocd → kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

注意:该清单默认启用所有组件(包括 ApplicationSet、Notifications),若集群资源紧张,需提前删减对应 YAML 片段再应用;否则可能因 OOMKilled 导致 argocd-repo-server 启动失败,进而阻塞所有后续同步。

等待全部 Pod 进入 Running 状态:kubectl get pods -n argocd -w。重点关注 argocd-repo-server 和 argocd-application-controller 两个 Pod 的 READY 状态是否为 1/1。

获取初始管理员凭证

ArgoCD 安装后会自动生成一个名为 argocd-initial-admin-secret 的 Secret,其中 password 字段是 base64 编码的初始密码。

执行:kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d

输出即为 admin 用户的初始密码,请立即复制保存,该 Secret 在首次登录后会被自动删除。若跳过此步直接尝试登录 UI,将无法通过认证。

暴露 ArgoCD Server 访问方式

方法一:本地快速验证(仅限测试环境)

执行:kubectl port-forward svc/argocd-server -n argocd 8080:443

浏览器打开 https://localhost:8080,用户名填 admin,密码用上一步获取的初始密码。

YiHui GITHUB MONITOR
YiHui GITHUB MONITOR

监控多个 GitHub 仓库,配置发布、PR 与安全告警策略,通过定时 cron 任务推送低噪声通知。

下载

方法二:生产环境推荐(Ingress + TLS)

创建 ingress 资源,host 字段必须与你申请的 TLS 证书域名完全一致;若使用自签名证书,需在 argocd cli 登录时加 --insecure 参数,否则 CLI 会拒绝连接。

方法三:NodePort(临时调试用)

编辑 argocd-server Service,将 type 改为 NodePort,并记录分配的端口号(通常为 3xxxx),通过 https://<node-ip>:<nodeport></nodeport></node-ip> 访问。

配置首个 GitOps 应用

第一步:准备 Git 仓库

确保仓库中已存在一份有效的 Kubernetes 清单(如 deployment.yaml + service.yaml),且路径结构清晰(例如根目录下直接放 YAML,或统一放在 manifests/ 子目录)。

第二步:在 ArgoCD UI 中创建 Application

点击 “+ NEW APP” → 填写 Name(任意)、Project(默认 default)、Sync Policy(建议选 Automatic)、Repository URL(HTTPS 或 SSH 地址)、Revision(分支名,如 main)、Path(YAML 所在路径,如 ./ 或 ./manifests/)、Cluster URL(https://kubernetes.default.svc)、Namespace(目标命名空间,如 default)。

第三步:触发首次同步

点击 “CREATE”,页面跳转后点 “SYNC” → “SYNCHRONIZE” → 等待状态变为 Healthy & Synced。

此时 ArgoCD 已完成从 Git 拉取→渲染→比对→应用的全链路闭环,Git 仓库即成为该应用的唯一事实来源。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6199

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1800

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1054

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

4037

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3781

6

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

2025.12.13

486

14

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

2026.05.13

305

17

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

0

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vscode手册
vscode手册

共0课时 | 0人学习