【发布时间】:2021-11-08 21:41:48
【问题描述】:
我有 terraform 可以通过 helm chart 将 hash vault 自动部署到 GKE,但是,要初始化 vault,我目前必须跳转到我们的 linux jumpbox VM,kubectl 到 pod(位于它自己的命名空间中) 运行 Vault 操作员 init 命令。
我发现这个带有图像/容器的 github 存储库;
https://github.com/sethvargo/vault-init
我在我的默认 vault.tmpl 中作为 sidecar 容器注入了它,如果 pod 崩溃并且必须启动备份,它似乎可以正常工作,即 vault 将重新初始化,但对于第一次干净初始化,它不会工作。
任何想法如何使它工作?我愿意通过其他方式做到这一点,但理想情况下更愿意让它在我的 terraform 中工作。
我的 main.tf:
resource "helm_release" "vault" {
name = "vault"
repository = "https://helm.releases.hashicorp.com"
chart = "vault"
namespace = "vault"
reset_values = true
values = [
templatefile("../values/vault.tmpl", {
tls_disable = 1
region = var.region
project = data.google_client_config.current.project
replicas = var.vault_replicas
keyring = var.keyring_name
cryptokey = var.cryptokey
bucket = var.vault_bucket
})
]
}
我的保管库模板配置:
server:
extraContainers:
- name: vault-init
image: registry.hub.docker.com/sethvargo/vault-init:0.2.0
imagePullPolicy: Always
env:
#- name: VAULT_SKIP_VERIFY
# value: true
#- name: CHECK_INTERVAL
# value: "5"
#- name: VAULT_ADDR
# value: "http://127.0.0.1:8200"
#- name: VAULT_SECRET_SHARES
# value: "1"
#- name: VAULT_SECRET_THRESHOLD
# value: "1"
#- name: VAULT_AUTO_UNSEAL
# value: true
- name: GCS_BUCKET_NAME
value: vault-storage
- name: KMS_KEY_ID
value: projects/......
【问题讨论】:
标签: terraform azure-pipelines kubernetes-helm hashicorp-vault