Argo CD持续交付工具部署

介绍

Argo CD 是一款适用于 Kubernetes 的声明式 GitOps 持续交付工具。

架构

Argo CD 是作为一个 Kubernetes 控制器来实现的,它能持续监控运行中的应用程序,并将当前的实时状态与所需的目标状态(在 Git 仓库中指定)进行比较。 如果部署的应用程序的实时状态与目标状态有偏差,则会被视为 "不同步"。 Argo CD 会报告并可视化差异,同时提供自动或手动同步实时状态的功能,使其恢复到所需的目标状态。 对 Git 仓库中的所需目标状态所做的任何修改都会自动应用并反映在指定的目标环境中。

功能

  • 将应用程序自动部署到指定的目标环境中
  • 支持多种配置管理/模板工具(kustomize、helm、Jsonnet、plain-YAML)
  • 管理和部署到多个集群的能力
  • SSO 集成(OIDC、OAuth2、LDAP、SAML 2.0、GitHub、GitLab、Microsoft、LinkedIn)
  • 多租户和 RBAC 授权策略
  • 回滚/任意滚动到 Git 仓库中提交的任何应用程序配置
  • 应用资源健康状态分析
  • 自动配置漂移检测和可视化
  • 自动或手动将应用程序同步到所需状态
  • 提供应用程序活动实时视图的 Web UI
  • 用于自动化和 CI 集成的 CLI
  • Webhook 集成(GitHub、BitBucket、GitLab)
  • 用于自动化的访问令牌
  • 同步前、同步中、同步后钩子,以支持复杂的应用程序推出(如蓝色/绿色和金丝雀升级)
  • 应用程序事件和 API 调用的审计跟踪
  • Prometheus 指标
  • 参数重写,用于重写 Git 中的 helm 参数

安装

sh 复制代码
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

部署完成后查看pod是否正常启动

sh 复制代码
kubectl get pods -n argocd

安装 Argo CD CLI

Argo CD CLI 是用于管理 Argo CD 的命令行工具,具体操作系统安装文档参考 Argo CD CLI 安装文档

sh 复制代码
# ubuntu 系统安装
curl -sSL -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64

# 授权
chmod +x /usr/local/bin/argocd

验证:

暴露 Argo CD 服务

默认情况下,Argo CD API 服务器不公开外部 IP。 要访问 API 服务器,请选择以下技术之一公开 Argo CD API 服务器:

sh 复制代码
# NodePort
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "NodePort"}}'

# LoadBalancer
kubectl patch svc argocd-server -n argocd -p '{"spec": {"type": "LoadBalancer"}}'

浏览器通过https:// :31951 访问Argo CD

获取 Argo CD 密码

Argo CD 安装后有一个内置的 "admin "用户,可以完全访问系统。 建议仅在初始配置时使用 "admin "用户,然后切换到本地用户或配置 SSO 集成,admin "账户的初始密码会自动生成,并以明文形式存储在 Argo CD 安装命名空间中名为 "argocd-initial-admin-secret "的秘密中的 "password "字段中。

sh 复制代码
# 获取 admin 密码
kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 -d

命令方式获取

sh 复制代码
argocd admin initial-password -n argocd

修改 Argo CD 密码

图形化界面修改 Argo CD 密码

命令行方式修改 Argo CD 密码

sh 复制代码
# 首先登录
argocd login 192.168.0.81:31951

# 修改密码
argocd account update-password

测试通过 Git 实现应用部署

首先在设置里面添加git仓库

创建成功显示

创建应用

点击sync部署

kubernetes-dashboard查看

相关推荐
谷隐凡二15 小时前
Kubernetes Route控制器简单介绍
java·容器·kubernetes
李少兄20 小时前
Kubernetes 日志管理
docker·容器·kubernetes
秋饼20 小时前
【K8S测试程序--git地址】
git·容器·kubernetes
oMcLin20 小时前
如何在RHEL 9上配置并优化Kubernetes 1.23高可用集群,提升大规模容器化应用的自动化部署与管理?
kubernetes·自动化·php
ghostwritten20 小时前
Kubernetes 网络模式深入解析?
网络·容器·kubernetes
原神启动121 小时前
K8S(七)—— Kubernetes Pod 基础概念与实战配置
云原生·容器·kubernetes
不想画图1 天前
Kubernetes(五)——rancher部署和Pod详解
linux·kubernetes·rancher
大都督老师1 天前
配置 containerd 使用镜像加速器拉取 Docker Hub 镜像
容器·kubernetes·k8s
木童6621 天前
Kubernetes 操作管理完全指南:从陈述式到声明式,覆盖全生命周期
云原生·容器·kubernetes
不想画图1 天前
Kubernetes(三)——组网概念和基础操作指令
云原生·容器·kubernetes