ArgoCD主要有三个组件:
API Server: 将API暴露给WebUI/CLI/CICD系统
Repository Server: 内部服务,维护git仓库的本地缓存。
Application Controller: 持续监控应用,将当前应用状态和目标状态进行对比。如果检测到了OutofSync
状态,它将采取相应的行为。
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
为了和API Server进行通讯,我们需要安装 ArgoCD CLI:
VERSION=$(curl --silent "https://api.github.com/repos/argoproj/argo-cd/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/')
sudo curl --silent --location -o /usr/local/bin/argocd https://github.com/argoproj/argo-cd/releases/download/$VERSION/argocd-linux-amd64
sudo chmod +x /usr/local/bin/argocd