使用 Argo CD 在 Kubernetes 中部署应用程序(初学者指南)

在Kubernetes中部署应用程序可能会很复杂,特别是对于新手来说。输入Argo CD,这是一个基于GitOps的声明性工具,旨在自动化Kubernetes应用程序部署。在这个研讨会中,您将学习如何设置和使用Argo CD来无缝部署应用程序,包括为完全新手设计的逐步操作。

您将学到什么

  • 安装和配置Argo CD。
  • 使用GitOps原则部署应用程序。
  • 监控部署和故障排除。
  • 回滚和管理应用程序版本。
  • 为生产环境使用Argo CD提供安全性。

为什么选择Argo CD?

Argo CD通过持续将您的集群与Git存储库中定义的清单同步,简化了在Kubernetes中的应用程序管理。其优点包括:

  • 声明性管理:在Git中定义期望的集群状态。
  • 持续交付:通过实时同步自动化部署。
  • 版本控制:轻松回滚到先前的版本。

先决条件

在开始之前,请确保您具备以下条件:

  1. 一个Kubernetes集群(可以使用Minikube、Kind,或像GKE、EKS、AKS这样的托管服务)。
  2. 已安装并配置连接到您的集群的kubectl
  3. 拥有GitHub或GitLab账户用于托管您的Kubernetes清单文件。
  4. 对YAML语法有基本了解(如果您是新手,本研讨会会涵盖这部分内容)。

逐步指南

1. 设置Kubernetes集群

步骤1:安装Minikube

如果您没有集群,使用Minikube

Shell

 

步骤2:启动Minikube

在系统上安装Minikube后运行命令minikube start

Shell

 

步骤3:验证集群

确认集群正在运行:

Shell

 

2. 安装Argo CD

步骤1:创建命名空间

Argo CD在自己的命名空间中运行以实现隔离:

Shell

 

步骤2:安装Argo CD

应用官方清单以安装Argo CD:

Shell

 

步骤3:验证安装

检查Argo CD的Pod:

Shell

 

3. 访问Argo CD用户界面

步骤1:暴露Argo CD

argocd-server暴露到您的本地机器:

Shell

 

步骤 2:检索管理员凭据

获取默认管理员密码:

Shell

 

步骤 3:登录到用户界面

  1. 在浏览器中打开https://localhost:8080
  2. 使用以下信息登录:
    • 用户名:admin
    • 密码:在上一步中检索到。

4. 将 Argo CD 连接到您的 Git 仓库

步骤 1:准备一个 Git 仓库

  1. 创建一个 Git 仓库(例如,在 GitHub 上)。
  2. 将您的 Kubernetes 清单添加到仓库中。使用此示例deployment.yaml
YAML

 

步骤 2:将仓库添加到 Argo CD

从用户界面:

  1. 导航到设置 > 仓库
  2. 添加您的 Git 仓库 URL 和认证详细信息(SSH 或 HTTPS)。

或者,使用 CLI:

Shell

 

5. 部署您的第一个应用程序

步骤 1:创建一个应用程序

在 Argo CD 用户界面中:

  1. 点击新应用
    • 应用名称: nginx-app
    • 项目: 默认
    • 仓库网址: 您的 Git 仓库网址
    • 路径: 到 deployment.yaml 的路径
    • 集群网址: https://kubernetes.default.svc
    • 命名空间: 默认

步骤 2: 同步应用

创建应用后:

  1. 在 Argo CD UI 中点击同步
  2. 观察应用部署到您的 Kubernetes 集群

6. 自动化部署

步骤 1: 启用自动同步

启用持续同步:

Shell

 

步骤 2: 测试更改

  1. 修改 Git 中的 deployment.yaml
  2. 推送更改到仓库
  3. Argo CD 将检测更改并自动同步到集群

7. 监控和故障排除

步骤 1: 监控应用健康状况

在 UI 中检查:

  • 健康: 表示应用程序是否按预期运行。
  • 同步状态: 确保集群状态与 Git 匹配。

步骤 2:查看日志

如果出现问题:

Shell

 

步骤 3:回滚更改

回滚到之前的状态:

Shell

 

8. 确保 Argo CD 安全

步骤 1:更改默认管理员密码

使用命令 argocd account update-password 更改默认管理员密码:

Shell

 

步骤 2:集成 SSO

对于生产环境,集成 GitHub 或 LDAP 等单点登录 (SSO) 解决方案。

GitOps 最佳实践

  1. 分支策略: 为开发、预发布和生产使用单独的分支。
  2. 代码审查: 强制对清单更改进行同行审查。
  3. 审计日志: 定期审查 Argo CD 日志以确保合规性和调试。

结论

Argo CD 提供了一种适合初学者但功能强大的方式来使用 GitOps 原则管理 Kubernetes 部署。这个研讨会让您掌握有效部署、监控和管理应用程序的技能。通过遵循这些最佳实践,您将朝着精通 Kubernetes 持续交付的目标迈出坚实的一步。

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd