问题描述
我之前可以使用curl执行如下命令:
1 | https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1beta3/namespaces/default/ |
但在kubernetes 0.18.0中它提示“unauthorized”。奇怪的是,如果我使用外部IP地址(http://172.17.8.101:8080/api/v1beta3/namespaces/default/)是可以访问的。
高票回答
在官方文档中我发现了这个:
显然,我没有在之前版本的Kubernetes中使用安全令牌。从那时起,我设计了一个比运行代理或在容器上安装golang更简单的解决方案。请参阅此示例,该示例从api获取当前容器的信息:
1 | KUBE_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token) |
我还使用包含一个简单的二进制文件jq来解析json以用于bash脚本。
原文链接
How do I access the Kubernetes api from within a pod container?