HOME

ArgoCD基本配置

1. 环境准备

在开始ArgoCD的基本配置之前,请确保你的环境中已安装了以下组件:

安装Argo CD

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为其他版本。

2. Argo CD用户与权限配置

登录到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

3. 配置Argo CD应用仓库

将你的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>

4. 部署示例应用

创建一个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

5. 监控与调试

登录到Argo CD Web UI,可以查看所有应用的状态及操作日志。如果需要进一步调试或配置,可以通过Kubernetes的API进行访问和修改。

通过以上步骤,你已经完成了Argo CD的基本配置,并部署了一个简单的示例应用程序。随着更多实践,你可以探索Argo CD提供的高级功能以满足更复杂的应用场景需求。