3. 使用UI创建应用
任务说明
本案例将使用 Argo CD 的 Web UI 手动创建一个示例应用,并完成首次同步(Sync),以熟悉 UI 操作路径。示例应用使用官方的 guestbook 仓库,该仓库包含 Kubernetes 清单文件。
前置条件
- 已安装并运行 Argo CD,且可通过
https://<ARGOCD_SERVER>访问 UI。 - 已通过
argocdCLI 或 UI 使用管理员账号登录(默认用户名为admin)。 - 目标 Kubernetes 集群已作为 Argo CD 的默认集群被添加(通常安装时自动配置)。
操作步骤与实现
以下步骤完全通过 UI 操作完成,无需编写代码。核心流程为:新建应用 → 配置仓库与路径 → 配置目标集群与命名空间 → 创建 → 同步。
- 访问 UI:在浏览器中打开 Argo CD 服务器地址,使用管理员账号登录。
- 新建应用:点击左侧导航栏的 Applications,然后点击右上角的 + New App 按钮。
- 填写应用基本信息:
- Application Name:输入
guestbook-ui-demo。 - Project:选择
default。 - Sync Policy:选择
Manual(本案例手动触发同步)。
- Application Name:输入
- 配置 Source(代码源):
- Repository URL:输入
https://github.com/argoproj/argocd-example-apps.git - Revision:保持默认
HEAD或输入master。 - Path:输入
guestbook(该目录下包含 deployment 和 service 清单)。
- Repository URL:输入
- 配置 Destination(目标集群):
- Cluster URL:选择
https://kubernetes.default.svc(表示 Argo CD 所在的同一集群)。 - Namespace:输入
default。
- Cluster URL:选择
- 创建应用:点击页面顶部的 Create 按钮。应用将出现在列表中,初始状态为
OutOfSync。 - 手动同步:
- 点击应用卡片
guestbook-ui-demo进入详情视图。 - 点击右上角的 Sync 按钮。
- 在弹出的确认窗口中,保持默认选项,点击 Synchronize。
- 点击应用卡片
- 验证结果:同步完成后,应用状态应变为
Synced且Healthy。资源树中会显示guestbook-ui的 Deployment 和 Service。
验证方法
通过以下条件判断操作是否成功:
- 在 Argo CD UI 中,应用
guestbook-ui-demo的 Status 显示为 Synced 和 Healthy。 - 在 Kubernetes 集群中执行
kubectl get deploy,svc -n default,能看到名为guestbook-ui的 Deployment 和 Service。
预期结果
同步完成后,UI 界面中应用状态为绿色(Healthy),资源树中展示 guestbook-ui 的 Deployment 与 Service。命令行验证输出示例:
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/guestbook-ui 1/1 1 1 2m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/guestbook-ui ClusterIP 10.96.123.45 <none> 80/TCP 2m
常见问题
- 同步失败且提示
context deadline exceeded:通常为网络无法访问 GitHub。请检查 Argo CD 服务器到github.com的连通性。 - 应用显示
OutOfSync但同步后无变化:检查Path是否填写正确,guestbook目录下应包含deployment.yaml和service.yaml。 - 无法选择集群:若 Cluster URL 下拉框为空,需先在 Settings → Clusters 中添加目标集群。