首页
/ 【亲测免费】 ArgoCD Vault Plugin 使用教程

【亲测免费】 ArgoCD Vault Plugin 使用教程

2026-01-18 10:27:11作者:沈韬淼Beryl

项目介绍

ArgoCD Vault Plugin 是一个开源工具,旨在简化在 ArgoCD 中使用 Vault 进行秘密管理的流程。该插件允许用户在 Kubernetes 资源中引用 Vault 中的秘密,并在部署过程中自动替换这些引用。

项目快速启动

安装 ArgoCD Vault Plugin

首先,确保你已经安装了 ArgoCD 和 Vault。然后,按照以下步骤安装 ArgoCD Vault Plugin:

  1. 克隆项目仓库:

    git clone https://github.com/argoproj-labs/argocd-vault-plugin.git
    cd argocd-vault-plugin
    
  2. 构建插件:

    make build
    
  3. 将生成的二进制文件复制到 ArgoCD 插件目录:

    cp dist/argocd-vault-plugin /usr/local/bin/
    
  4. 配置 ArgoCD 以使用该插件。编辑 ArgoCD 配置文件(通常位于 /etc/argocd/argocd-cm.yaml),添加以下内容:

    data:
      configManagementPlugins: |
        - name: argocd-vault-plugin
          init:
            command: [sh, -c, "argocd-vault-plugin generate -s $ARGOCD_APP_NAME"]
          generate:
            command: [sh, -c, "argocd-vault-plugin generate -s $ARGOCD_APP_NAME"]
    

使用 ArgoCD Vault Plugin

假设你有一个 Kubernetes 资源文件 deployment.yaml,其中包含对 Vault 秘密的引用:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-app
spec:
  replicas: 1
  template:
    spec:
      containers:
        - name: example-app
          image: example-image
          env:
            - name: SECRET_KEY
              value: <vault:secret/data/example-app#SECRET_KEY>

在 ArgoCD 中创建一个应用,并指定使用 argocd-vault-plugin 插件:

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: example-app
spec:
  project: default
  source:
    repoURL: 'https://github.com/your-repo.git'
    targetRevision: HEAD
    path: path-to-your-manifests
    plugin:
      name: argocd-vault-plugin
  destination:
    server: 'https://kubernetes.default.svc'
    namespace: default

应用案例和最佳实践

应用案例

假设你有一个多租户的 Kubernetes 集群,每个租户都有自己的命名空间和秘密。使用 ArgoCD Vault Plugin,你可以轻松地在不同命名空间中部署应用,并确保每个应用只能访问其对应的秘密。

最佳实践

  1. 秘密管理:确保所有秘密都存储在 Vault 中,并通过 ArgoCD Vault Plugin 引用。
  2. 命名空间隔离:为每个租户创建独立的命名空间,并使用命名空间级别的秘密。
  3. 权限控制:确保只有授权的应用和服务可以访问特定的秘密。

典型生态项目

ArgoCD Vault Plugin 通常与其他生态项目一起使用,以构建完整的 CI/CD 流水线。以下是一些典型的生态项目:

  1. Argo Workflows:用于定义和执行复杂的 CI/CD 工作流。
  2. Vault:用于安全地存储和管理秘密。
  3. Kubernetes:用于部署和管理容器化应用。
  4. Helm:用于打包和部署 Kubernetes 应用。

通过结合这些工具,你可以构建一个强大且安全的 CI/CD 流水线,确保应用的持续交付和秘密的安全管理。

登录后查看全文
热门项目推荐
相关项目推荐