【发布时间】:2020-03-27 13:24:43
【问题描述】:
我正在尝试从我的 AWS Kubernetes 集群连接 Vault 注入器并使用 injector.externalVaultAddr="http://my-aws-instance-ip:8200" 登录
安装:
helm install vault \
--set='injector.externalVaultAddr=http://my-aws-instance-ip:8200' \
/path/to/my/vault-helm
在此处执行必要的步骤后:https://www.hashicorp.com/blog/injecting-vault-secrets-into-kubernetes-pods-via-a-sidecar/ 并对其进行自定义:
vault write auth/kubernetes/config \
token_reviewer_jwt="$(cat kube_token_from_my_k8s_cluster)" \
kubernetes_host="$KUBERNETES_HOST:443" \
kubernetes_ca_cert=@downloaded_ca_crt_from_my_k8s_cluster.crt
现在,在添加部署 app.yaml 并添加 vault 注释以读取 secret/helloworld 后,它不会启动我的 pod 并在容器 vault-agent-init 上显示此错误
NAME READY STATUS RESTARTS AGE
app-aaaaaaa-bbbb 1/1 Running 0 34m
app-aaaaaaa-cccc 0/2 Init:0/1 0 34m
vault-agent-injector-xxxxxx-zzzzz 1/1 Running 0 35m
$ kubectl logs -f app-aaaaaaa-cccc -c vault-agent-init
...
URL: PUT http://my-aws-instance-ip:8200/v1/auth/kubernetes/login
Code: 403. Errors:
* permission denied" backoff=2.769289902
我也尝试在本地手动操作:
$ export VAULT_ADDR="http://my-aws-instance-ip:8200"
$ curl --request POST \
--data "{\"role\": \"myapp\", \"jwt\": \"$(cat kube_token_from_my_k8s_cluster)\"}" \
$VAULT_ADDR/v1/auth/kubernetes/login
# RESPONSE OUTPUT
{"errors":["permission denied"]}
【问题讨论】:
-
您是否尝试过将
VAULT_ADDR设置为https://?您还可以提供$ vault status的输出吗? -
感谢@Crou,我还没有尝试将其设置为 https,因为我还没有实现与我们的保管库服务器的安全连接。
vault status很好。我无法粘贴实际的状态消息,因为此评论区不允许我添加代码部分。 -
@Tami Pangadi-你能解决这个问题吗?我也面临同样的问题。
标签: kubernetes hashicorp-vault