gpt4 book ai didi

docker - 无法从 pod 容器内访问 kubernetes api

转载 作者:行者123 更新时间:2023-12-02 11:43:04 32 4
gpt4 key购买 nike

我已经创建了一个 hashicorp 保险库部署并配置了 kubernetes 身份验证。 Vault 容器从 pod 内部调用 kubernetes api 来进行 k8s 身份验证,并且该调用失败并显示 500 错误代码(连接被拒绝)。我正在为 Windows kubernetes 使用 docker。

我将以下配置添加到 kubernetes 身份验证机制的保管库中。

payload.json

{
"kubernetes_host": "http://kubernetes",
"kubernetes_ca_cert": <k8s service account token>
}
curl --header "X-Vault-Token: <vault root token>" --request POST --data @payload.json http://127.0.0.1:8200/v1/auth/kubernetes/config

我收到了预期的 204 响应。

我为 kubernetes auth 创建了一个角色,我试图使用它登录 vault:

payload2.json

{
"role": "tanmoy-role",
"jwt": "<k8s service account token>"
}
curl --request POST --data @payload2.json http://127.0.0.1:8200/v1/auth/kubernetes/login

上面的 curl 给出了以下响应:

{"errors":["Post http://kubernetes/apis/authentication.k8s.io/v1/tokenreviews: dial tcp 10.96.0.1:80: connect: connection refused"]}

下面是我的 kubernetes 服务启动并正常运行,我也可以使用代理访问 kubernetes 仪表板。

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP              PORT(S)                         AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13d

我无法弄清楚为什么无法从容器内部访问“kubernetes”服务。任何帮助将不胜感激。

编辑 1. 我的保险库 pod 和服务运行良好:

服务

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP              PORT(S)                         AGE
vault-elb-int LoadBalancer 10.104.197.76 localhost,192.168.0.10 8200:31650/TCP,8201:31206/TCP 26h

连播

NAME                     READY   STATUS    RESTARTS   AGE
vault-84c65db6c9-pj6zw 1/1 Running 0 21h

编辑 2.正如 John 所建议的,我将 payload.json 中的“kubernetes_host”更改为“https://kubernetes”。 '.但是现在我收到了这个错误:

{"errors":["Post https://kubernetes/apis/authentication.k8s.io/v1/tokenreviews: x509: certificate signed by unknown authority"]}

最佳答案

您的登录请求被发送到端口 80 上的 tokenreview 端点。我认为这是因为您的 kubernetes_host 指定了一个 http URL。 500 响应是因为它没有在端口 80 上监听,而是在 443 上监听(正如您在服务列表输出中看到的那样)。

尝试在配置授权时更改为https,即

payload.json

{
"kubernetes_host": "https://kubernetes",
"kubernetes_ca_cert": <k8s service account token>
}

关于docker - 无法从 pod 容器内访问 kubernetes api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59408875/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com