我正在尝试从我的AWS Kubernetes集群连接Vault injector并使用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
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"]}
发布于 2020-10-08 06:54:06
尝试使用您用于在Vault中设置Kubernetes auth的值来卷曲Kubernetes API-service。
vault write auth/kubernetes/config \
token_reviewer_jwt="$TOKEN_REVIEW_JWT" \
kubernetes_host="$KUBE_HOST" \
kubernetes_ca_cert="$KUBE_CA_CERT"
curl --cacert <ca-cert-file> -H "Authorization: Bearer $TOKEN_REVIEW_JWT" $KUBE_HOST
如果这不起作用,Vault将无法与集群通信以验证令牌。
我在尝试将Vault与牧场主管理的集群集成时遇到此问题,$KUBE_HOST指向牧场主代理,因此我需要将其更改为集群的IP,并从我正在使用的服务帐户中提取令牌和证书。
https://stackoverflow.com/questions/60886935
复制相似问题