在开始ArgoCD的基本配置之前,请确保你的环境中已安装了以下组件:
Argo CD可以通过多种方式部署到Kubernetes集群中。以下是使用Helm图表进行安装的步骤:
# 添加Argo CD仓库
helm repo add argocd https://argoproj.github.io/argo-helm/
# 更新本地repo信息
helm repo update
# 使用默认值部署Argo CD应用
kubectl create namespace argocd
helm install argocd --namespace argocd argocd/argocd --set argocd-server.image.tag=v2.4.3
上述命令使用了最新版本的Argo CD(以v2.4.3
为例)。根据需要,可以调整tag为其他版本。
登录到Argo CD控制台后,创建一个名为 admin
的管理员账号,并为该账户分配必要的权限:
# 获取初始密码
kubectl -n argocd get secret $(kubectl -n argocd get pod -l app.kubernetes.io/name=argocd-server -o jsonpath='{.items[0].metadata.name}') -o go-template='{{index .data "admin.password"}}' | base64 --decode
# 登录到Argo CD Web UI
https://<argocd-server-ip-or-domain>
# 使用上述命令获取的密码登录,初始化设置
创建管理员用户:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: admin-user
spec:
source:
repoURL: https://github.com/argoproj/argocd-example-apps.git
destination:
server: https://k8s.cluster.example.com
namespace: default
使用Kubernetes命令行工具创建管理员用户:
kubectl apply -f admin-user.yaml
将你的Git仓库添加到Argo CD中,以便将其作为应用源。这里以GitHub为例说明配置过程。
首先,在GitHub上克隆或初始化一个空的仓库,并创建示例应用程序文件:
git init my-app
cd my-app
echo "apiVersion: v1" > k8s/namespace.yaml
echo "kind: Deployment" > k8s/deployment.yaml
echo "metadata:" >> k8s/deployment.yaml
echo " name: hello-world" >> k8s/deployment.yaml
将此仓库添加到Argo CD应用库:
argocd repo add <github-url>
创建一个Argo CD应用资源文件来部署你的应用程序,例如 example-app.yaml
:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: example-app
spec:
source:
repoURL: https://github.com/your-github-repo/my-app.git
path: k8s
destination:
server: https://k8s.cluster.example.com
namespace: default
使用Argo CD命令行工具部署应用:
argocd app create example-app --file example-app.yaml
登录到Argo CD Web UI,可以查看所有应用的状态及操作日志。如果需要进一步调试或配置,可以通过Kubernetes的API进行访问和修改。
通过以上步骤,你已经完成了Argo CD的基本配置,并部署了一个简单的示例应用程序。随着更多实践,你可以探索Argo CD提供的高级功能以满足更复杂的应用场景需求。