我以前能卷曲
https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1beta3/namespaces/default/
作为我的基本URL,但在kubernetes 0.18.0中,它给了我“未经授权”。奇怪的是,如果我使用API (http://172.17.8.101:8080/api/v1beta3/namespaces/default/
)的外部IP地址,它就能正常工作。
发布于 2015-06-09 17:55:37
在正式文件中,我发现:
显然,我缺少了以前版本的Kubernetes不需要的安全令牌。由此,我设计了一个比运行代理或在我的容器上安装golang更简单的解决方案。请参阅此示例,该示例从api获取当前容器的信息:
KUBE_TOKEN=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)
curl -sSk -H "Authorization: Bearer $KUBE_TOKEN" \
https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_PORT_443_TCP_PORT/api/v1/namespaces/default/pods/$HOSTNAME
我还使用包含一个简单的二进制文件jq (http://stedolan.github.io/jq/download/)来解析json,以便在bash脚本中使用。
发布于 2015-10-13 18:12:56
每个豆荚都有一个自动应用的服务帐户,允许它访问apiserver。服务帐户以承载令牌的形式提供客户端凭据,以及用于签署apiserver提供的证书的证书颁发机构证书。使用这两部分信息,您可以创建一个安全的、经过身份验证的连接到apisever,而无需使用curl -k
(又名curl --insecure
):
curl -v --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt -H "Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)" https://kubernetes.default.svc/
发布于 2017-08-24 16:26:31
使用客户机。
from kubernetes import client, config
config.load_incluster_config()
v1_core = client.CoreV1Api()
https://stackoverflow.com/questions/30690186
复制相似问题