无法从Pod容器内部访问Kubernetes API

我已经创建了hashicorp保管库部署并配置了kubernetes auth。保管库容器从Pod内部调用kubernetes

api进行k8s身份验证,并且该调用失败,并显示500个错误代码(连接被拒绝)。我正在将docker用于Windows kubernetes。

我将以下配置添加到Vault中以进行kubernetes身份验证机制。

{

"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:

{

"role": "tanmoy-role",

"jwt": "<k8s service account token>"

}

curl --request POST --data @payload2.json http://127.0.0.1:8200/v1/auth/kubernetes/login

上面的卷曲给出以下响应:

{“错误”:[[张贴http://kubernetes/apis/authentication.k8s.io/v1/tokenreviews:拨号tcp

10.96.0.1:80:连接:连接被拒绝“]}

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

NAME            TYPE           CLUSTER-IP      EXTERNAL-IP              PORT(S)                         AGE

kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 13d

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

我的保管箱和服务运行正常:

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

按照约翰的建议,我将payload.json中的“ kubernetes_host”更改为“ https://

kubernetes ”。但是现在我得到了这个错误:

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

回答:

终于,我找出了出问题的地方:

我的payload.json内容错误

应该是这样的:

{

"kubernetes_host": "https://kubernetes",

"kubernetes_ca_cert": <kubectl exec to vault pod and cat /var/run/secrets/kubernetes.io/serviceaccount/ca.crt, now make the cert one line by following this answer: https://stackoverflow.com/a/14580203/2054147>

}

现在在端点下面可以正常工作并返回愿望client_token

curl --request POST --data @payload2.json http://127.0.0.1:8200/v1/auth/kubernetes/login

感谢@John帮助我弄清楚kubernetes_host的最初问题。

以上是 无法从Pod容器内部访问Kubernetes API 的全部内容, 来源链接: utcz.com/qa/430315.html

回到顶部