云原生CI/CD | Argo CD 详细介绍 (一)

发布于:2025-03-29 ⋅ 阅读:(29) ⋅ 点赞:(0)

什么是Argo CD?

ArgoCD 是以 Kubernetes Controller 的形式来实现的,它会对运行在 Kubernetes 集群上的应用程序进行监听,并将实际运行状态和期望状态(在部署清单文件中指定,且存储在版本控制系统中)进行对比,当两者状态不一致的时候,则提示 OutOfSync,此时可以通过自动或者手动的方式来完成同步操作,以让两者状态再次保持一致。存储在 Git 仓库中的任何变更都会被自动同步至集群侧。

Argo cd安装

[root@k8s-master ~]# kubectl create namespace argocd 
namespace/argocd created
[root@k8s-master ~]# kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
[root@k8s-master ~]# kubectl get pod,svc -n argocd
NAME                                                   READY   STATUS    RESTARTS   AGE
pod/argocd-application-controller-0                    1/1     Running   0          8m55s
pod/argocd-applicationset-controller-5fc7f85d7-fng6k   1/1     Running   0          8m55s
pod/argocd-dex-server-7768bbd49f-bglzh                 1/1     Running   0          8m55s
pod/argocd-notifications-controller-7f755cf54c-fr5k5   1/1     Running   0          8m55s
pod/argocd-redis-794d54f5f7-d7k85                      1/1     Running   0          8m55s
pod/argocd-repo-server-5cd7854ccb-wh75d                1/1     Running   0          8m55s
pod/argocd-server-5d4db8fd9-wmxr6                      1/1     Running   0          8m55s

NAME                                              TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
service/argocd-applicationset-controller          ClusterIP      10.96.217.4     <none>        7000/TCP,8080/TCP            8m56s
service/argocd-dex-server                         ClusterIP      10.96.165.22    <none>        5556/TCP,5557/TCP,5558/TCP   8m56s
service/argocd-metrics                            ClusterIP      10.96.117.13    <none>        8082/TCP                     8m56s
service/argocd-notifications-controller-metrics   ClusterIP      10.96.178.194   <none>        9001/TCP                     8m55s
service/argocd-redis                              ClusterIP      10.96.97.86     <none>        6379/TCP