王柳 发表于 2023-3-13 16:44:23

使用Argocd UI发布Guestbook

1. ArgoCD核心概念


[*]Application:应用,一组由资源清单定义的 Kubernetes资源,这是一个 CRD资源对象
[*]Application source type:用来构建应用的工具
[*]Target state:目标状态,指应用程序所需的期望状态,由Git存储库中的文件表示
[*]Live state:实时状态,指应用程序实时的状态,比如部署了哪些 Pods等真实状态
[*]Sync status:同步状态表示实时状态是否与目标状态一致,部署的应用是否与Git所描述的一样?
[*]Sync:同步指将应用程序迁移到其目标状态的过程,比如通过对Kubernetes集群应用变更
[*]Sync operation status:同步操作状态指的是同步是否成功
[*]Refresh:刷新是指将Git中的最新代码与实时状态进行比较,弄清楚有什么不同
[*]Health:应用程序的健康状况,它是否正常运行?能否为请求提供服务?
[*]Tool:工具指从文件目录创建清单的工具,例如Kustomize或Ksonnet 等
[*]Configuration management tool:配置管理工具
[*]Configuration management plugin:配置管理插件
Argocd官方示例的一个小应用: https://github.com/argoproj/argocd-example-apps.git
2. 部署应用

在部署这个应用之前,你需要一个kubernetes集群和部署了Argocd组件。
2.1 检查Argocd各组件是否正常

# kubectl get po -n argocd
NAME                                             READY   STATUS    RESTARTS       AGE
argocd-application-controller-0                  1/1   Running   10 (22h ago)   31d
argocd-applicationset-controller-fb8d96cb5-kvfc2   1/1   Running   11 (22h ago)   31d
argocd-dex-server-69f8bb9b-l78dc                   1/1   Running   4 (22h ago)    13d
argocd-notifications-controller-85fdd8f7d9-nxj2t   1/1   Running   10 (22h ago)   31d
argocd-redis-6d67ff987b-bz29z                      1/1   Running   4 (22h ago)    13d
argocd-repo-server-67566f5fb4-hl5h6                1/1   Running   4 (22h ago)    13d
argocd-server-58dd4685bc-qssbs                     1/1   Running   13 (22h ago)   31d2.2 在UI界面添加Git仓库

https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311210308783-667535696.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311210317712-1079136187.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311210324022-25234024.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311210330890-1266629137.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311210336970-1117797496.jpg
2.3 创建Applications

https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311212828804-308736452.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311212835665-1436582001.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311212842008-1798753884.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311212856988-904319825.jpg
2.4 查看应用状态

https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311213113460-1254342643.jpg
https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311213121470-1453121162.jpg
2.5 应用同步完成

https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311213405647-1624450531.jpg
2.6 使用命令行查看

应用默认是clusterip使用nodeport访问
# kubectl get po,svc-n guestbook
NAME                                          READY   STATUS    RESTARTS   AGE
pod/kustomize-guestbook-ui-779bc8b498-kpmnl   1/1   Running   0          10m

NAME                           TYPE      CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
service/kustomize-guestbook-ui   ClusterIP   xxxxxxxx<none>      80/TCP    10m2.7 修改为NodePort

# kubectl edit svc kustomize-guestbook-ui-n guestbook
service/kustomize-guestbook-ui edited

# kubectl get svc-n guestbook
NAME                     TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)      AGE
kustomize-guestbook-ui   NodePort   xxxxxxxx<none>      80:31179/TCP   13m2.8 访问guestbook

https://img2023.cnblogs.com/blog/2178349/202303/2178349-20230311214334403-1399199025.jpg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 使用Argocd UI发布Guestbook