当前位置: 首页 > news >正文

Argo CD 入门 - 安装与第一个应用的声明式同步

Argo CD 入门 - 安装与第一个应用的声明式同步


Argo CD 架构简介

在安装之前,简单了解一下 Argo CD 的几个核心组件,有助于我们理解它的工作方式:

  • API Server: 这是我们与之交互的入口。它提供了一个 gRPC/REST API,支撑着 Web UI 和 CLI 的所有操作,并负责认证、授权等。
  • Repository Server: 这个组件负责拉取 Git 仓库的内容,将其缓存到本地,并解析和渲染 Kubernetes 清单文件(例如,处理 Helm chart 或 Kustomize 配置)。
  • Application Controller: 这是 GitOps 的“心脏”和“大脑”。它是一个持续运行的 Kubernetes 控制器,负责:
    1. 监控 Argo CD Application 资源。
    2. 调用 Repository Server 获取 Git 中的期望状态。
    3. 通过 Kubernetes API 检查集群中的实际状态。
    4. 比对两者,一旦发现偏差 (Drift),就采取行动进行协调 (Reconcile),即修正集群状态以匹配 Git 中的声明。

第一步:安装 Argo CD

我们将使用官方提供的 YAML 清单来安装 Argo CD。这个过程非常简单。

  1. 创建一个专门的命名空间:

    kubectl create namespace argocd
    
  2. 应用官方安装清单:

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

    这个命令会从 Argo CD 的官方 GitHub 仓库拉取最新的稳定版安装文件,并在我们刚刚创建的 argocd 命名空间中创建所有必需的资源(Deployments, Services, CRDs, RBAC 配置等)。

  3. 验证安装:

    kubectl get pods -n argocd
    

    等待片刻,直到所有的 Pod 都处于 Running 状态。你应该会看到类似 argocd-server-xxx, argocd-repo-server-xxx, argocd-application-controller-xxx 等 Pod。

第二步:访问 Argo CD

Argo CD 的服务默认不会暴露到集群外部,我们需要通过一些方式来访问它。

A. 访问 Web UI

对于本地测试和学习,最简单的方式是使用 kubectl 的端口转发功能:

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

这个命令会将你本地的 8080 端口转发到集群中 argocd 命名空间下的 argocd-server 服务的 443 端口。

现在,在你的浏览器中打开 https://localhost:8080。浏览器会提示一个安全警告,因为 Argo CD 默认使用自签名的 TLS 证书,请选择“继续前往”即可。

B. 获取初始管理员密码

Argo CD 在安装时会自动生成一个初始的管理员 (admin) 密码,并将其存储在一个 Kubernetes Secret 中。

使用以下命令来获取密码:

# 对于 Argo CD v2.5+,推荐使用 CLI 获取
# 如果你还没安装 CLI,可以先用下面的 kubectl 方法
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.dat

相关文章:

  • OC—UI学习-2
  • 全志v853跑通rtsp sample
  • 阿里云Alibaba Cloud安装Docker与Docker compose【图文教程】
  • 创新滑模观测器设计:改进趋近律与切换函数的永磁同步电机无传感器控制
  • 65、.NET 中DllImport的用途
  • React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)
  • Python环境搭建:pyenv-win的使用指南
  • leetcode56-合并区间
  • 如何将淘宝店铺商品搬到抖店去?利用 API 实现淘宝店铺商品到抖店的高效迁移
  • 分库分表的取舍
  • 机器学习算法_决策树
  • 【Java学习笔记】BigInteger 和 BigDecimal 类
  • Windows开机自动启动中间件
  • Python应用变量与数据类型
  • Redis : Hash形式
  • Linux68 FTP 测试 上传下载
  • 【PCIe总线】-- inbound、outbound配置
  • LSTM-SVM多变量时序预测(Matlab完整源码和数据)
  • Django知识-视图
  • uni-app学习笔记三十--request网络请求传参
  • 做正版电子书下载网站/seo一个月工资一般多少
  • .net网站开发实训代码/黑龙江最新疫情通报
  • 小程序制作流程微信/河北百度竞价优化
  • 做同城网站赚钱吗/网络营销常见的工具
  • 做网站设计哪家好/seo到底是做什么的
  • 西安公司企业网站建设/百度下载免费