hashicorpVault k8s - 代理容器不会初始化

问题描述 投票:0回答:2

我尝试遵循 Hashicorp Vault 的指南将机密注入应用程序 pod:https://learn.hashicorp.com/tutorials/vault/kubernetes-sidecar#inject-secrets-into-the-pod

问题是,我根本无法让Vault-agent(sidecar)初始化。

我尝试遵循几个指南,但在尝试启动 sidecar 时总是收到此错误。我不知道为什么我一直收到它,因为日志没有显示任何错误:

kubectl logs pod/orgchart-6f88c9f9f4-fzwcf vault-agent -n vault

我不太确定发生了什么事。我完全遵循上述指南。

当我尝试运行部署补丁时发生错误,该补丁用于在应用程序中注入机密。这是补丁的代码:

spec:
  template:
    metadata:
      annotations:
        vault.hashicorp.com/agent-inject: 'true'
        vault.hashicorp.com/role: 'internal-app'
        vault.hashicorp.com/agent-inject-secret-database-config.txt: 'internal/data/database/config'

该指南对部署补丁进行了以下说明:

Vault Agent Injector 仅在包含一组特定注释时修改部署。现有部署可能会对其定义进行修补以包含必要的注释。

因此,我们使用补丁来修改部署并注入所需的秘密,然后像这样应用它:

kubectl patch deployment orgchart --patch "$(cat patch-inject-secrets.yaml)"

正如您在这里看到的,补丁已经 82 分钟没有初始化了:

提前谢谢您!

kubernetes hashicorp-vault vault
2个回答
0
投票

该 Pod 中是否有Vault-agent-init 容器?可以分享一下日志吗?通常,vault-agent-init 是有问题的,并且大多数时候日志会显示任何配置问题。


0
投票

通过读取

vault-agent-init
容器的日志:

kubectl logs pods/orgchart-68cc76597b-vjr2k vault-agent-init

我能够理解这个问题了:

2023-12-23T18:20:51.978Z [WARN] (view) vault.read(internal/data/database/config): vault.read(internal/data/database/config): Error making API request.

URL: GET http://vault.default.svc:8200/v1/internal/data/database/config
Code: 403. Errors:

* 1 error occurred:
    * permission denied

 (retry attempt 2 after "500ms")

作为临时解决方法,我使用

*
而不是
internal/data/database/config

vault policy write internal-app - <<EOF
path "*" {
   capabilities = ["read"]
}
EOF

可以端口转发 Vault UI 以在 UI 中查看机密,而不是在终端中键入 Vault 命令:

kubectl port-forward vault-0 8200:8200 
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.