searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

vault和vault-secrets-operator使用介绍

2024-08-26 09:48:27
70
0

vault Secrets Operator(VSO)是一个开源解决方案,它允许Kubernetes集群中的Pods直接从HashiCorp Vault安全地获取并使用秘密信息。VSO通过观察自定义资源定义(CRD)的变化,能够实时同步Vault中的秘密到Kubernetes Secrets中,从而确保应用程序在无需直接访问Vault的情况下也能安全地使用这些数据

VSO的主要特点包括全面支持Vault秘密引擎、安全通信(支持TLS/mTLS与Vault之间的通信)、利用Pod的ServiceAccount进行身份验证、自动同步与刷新秘密、秘密轮换功能,以及内置的Prometheus监控集成

使用VSO时,可以通过创建和配置CRDs来同步Vault和Kubernetes Secrets。例如,VaultStaticSecret CRD用于同步Vault中的静态秘密,而VaultDynamicSecret CRD用于同步动态秘密,如数据库凭据或云服务账户

VSO支持从Vault的多个实例同步秘密,并且支持所有Vault秘密引擎。此外,VSO还支持跨Vault命名空间的身份验证,这对于使用Vault企业版1.13+的用户特别有用

为了开始使用VSO,你可以使用Helm或Kustomize进行部署,并创建相应的CRD实例来配置秘密的同步。VSO还提供了示例和文档,帮助用户快速上手并了解端到端的工作流程

总的来说,Vault Secrets Operator提供了一种强大且灵活的方式来管理Kubernetes集群中的秘密,同时利用Vault的安全特性和灵活性

Vault Secrets Operator 在 Kubernetes 集群中如何实现秘密的自动同步和刷新?

  1. 安装 VSO:首先,使用 Helm chart 在 Kubernetes 集群中安装 VSO。这可以通过以下命令完成:

    helm install vault-secrets-operator hashicorp/vault-secrets-operator --create-namespace --namespace vault-secrets-operator --version 0.1.0 
  2. 配置 Vault 连接和认证:创建 VaultConnectionVaultAuth CRDs,提供连接到 Vault 服务器的配置信息和认证配置

    apiVersion: secrets.hashicorp.com/v1beta1
    kind: VaultConnection
    metadata:
      namespace: vso-example
      name: vault-connection
    spec:
      address: vault.vault.svc.cluster.local:8200
  3. 创建同步资源:根据需要同步的 secrets 类型,创建相应的 CRDs,例如 VaultStaticSecretVaultDynamicSecretVaultPKISecret,这些 CRDs 指定了如何从 Vault 中同步 secrets 到 Kubernetes Secrets

    apiVersion: secrets.hashicorp.com/v1beta1
    kind: VaultStaticSecret
    metadata:
      namespace: vso-example
      name: vault-static-secret
    spec:
      vaultAuthRef: vault-auth
      mount: secret
      path: myapp/config
      destination:
        name: myapp-secret
        create: true
  4. 自动同步:VSO 通过观察其支持的 CRDs 的变化来同步 Vault 中的秘密到 Kubernetes Secrets。这意味着任何在 Vault 中的秘密更改都会自动复制到目标 Kubernetes Secret 中

  5. 自动刷新:对于 VaultStaticSecret 类型的 secrets,VSO 支持通过 Vault 事件即时更新 Kubernetes Secrets。这可以通过订阅 Vault 事件来实现,尽管设置刷新间隔(例如 refreshAfter)仍然是推荐的,因为事件消息的传递并不是保证的

  6. 秘密轮换:VSO 支持自动秘密轮换,适用于 DeploymentReplicaSetStatefulSet 等 Kubernetes 资源类型。这确保了 secrets 定期更新,提高了安全性

  7. 监控集成:VSO 内置了 Prometheus 指标,方便系统监控

通过这种方式,VSO 可以作为一个 Kubernetes Operator 来自动化 secrets 管理任务,减少服务管理负担,并提供安全的 secrets 管理解决方案

 
0条评论
0 / 1000
王****学
2文章数
0粉丝数
王****学
2 文章 | 0 粉丝
王****学
2文章数
0粉丝数
王****学
2 文章 | 0 粉丝
原创

vault和vault-secrets-operator使用介绍

2024-08-26 09:48:27
70
0

vault Secrets Operator(VSO)是一个开源解决方案,它允许Kubernetes集群中的Pods直接从HashiCorp Vault安全地获取并使用秘密信息。VSO通过观察自定义资源定义(CRD)的变化,能够实时同步Vault中的秘密到Kubernetes Secrets中,从而确保应用程序在无需直接访问Vault的情况下也能安全地使用这些数据

VSO的主要特点包括全面支持Vault秘密引擎、安全通信(支持TLS/mTLS与Vault之间的通信)、利用Pod的ServiceAccount进行身份验证、自动同步与刷新秘密、秘密轮换功能,以及内置的Prometheus监控集成

使用VSO时,可以通过创建和配置CRDs来同步Vault和Kubernetes Secrets。例如,VaultStaticSecret CRD用于同步Vault中的静态秘密,而VaultDynamicSecret CRD用于同步动态秘密,如数据库凭据或云服务账户

VSO支持从Vault的多个实例同步秘密,并且支持所有Vault秘密引擎。此外,VSO还支持跨Vault命名空间的身份验证,这对于使用Vault企业版1.13+的用户特别有用

为了开始使用VSO,你可以使用Helm或Kustomize进行部署,并创建相应的CRD实例来配置秘密的同步。VSO还提供了示例和文档,帮助用户快速上手并了解端到端的工作流程

总的来说,Vault Secrets Operator提供了一种强大且灵活的方式来管理Kubernetes集群中的秘密,同时利用Vault的安全特性和灵活性

Vault Secrets Operator 在 Kubernetes 集群中如何实现秘密的自动同步和刷新?

  1. 安装 VSO:首先,使用 Helm chart 在 Kubernetes 集群中安装 VSO。这可以通过以下命令完成:

    helm install vault-secrets-operator hashicorp/vault-secrets-operator --create-namespace --namespace vault-secrets-operator --version 0.1.0 
  2. 配置 Vault 连接和认证:创建 VaultConnectionVaultAuth CRDs,提供连接到 Vault 服务器的配置信息和认证配置

    apiVersion: secrets.hashicorp.com/v1beta1
    kind: VaultConnection
    metadata:
      namespace: vso-example
      name: vault-connection
    spec:
      address: vault.vault.svc.cluster.local:8200
  3. 创建同步资源:根据需要同步的 secrets 类型,创建相应的 CRDs,例如 VaultStaticSecretVaultDynamicSecretVaultPKISecret,这些 CRDs 指定了如何从 Vault 中同步 secrets 到 Kubernetes Secrets

    apiVersion: secrets.hashicorp.com/v1beta1
    kind: VaultStaticSecret
    metadata:
      namespace: vso-example
      name: vault-static-secret
    spec:
      vaultAuthRef: vault-auth
      mount: secret
      path: myapp/config
      destination:
        name: myapp-secret
        create: true
  4. 自动同步:VSO 通过观察其支持的 CRDs 的变化来同步 Vault 中的秘密到 Kubernetes Secrets。这意味着任何在 Vault 中的秘密更改都会自动复制到目标 Kubernetes Secret 中

  5. 自动刷新:对于 VaultStaticSecret 类型的 secrets,VSO 支持通过 Vault 事件即时更新 Kubernetes Secrets。这可以通过订阅 Vault 事件来实现,尽管设置刷新间隔(例如 refreshAfter)仍然是推荐的,因为事件消息的传递并不是保证的

  6. 秘密轮换:VSO 支持自动秘密轮换,适用于 DeploymentReplicaSetStatefulSet 等 Kubernetes 资源类型。这确保了 secrets 定期更新,提高了安全性

  7. 监控集成:VSO 内置了 Prometheus 指标,方便系统监控

通过这种方式,VSO 可以作为一个 Kubernetes Operator 来自动化 secrets 管理任务,减少服务管理负担,并提供安全的 secrets 管理解决方案

 
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
4
3