当我从pod调用Kubernetes api时,为什么我会“未经授权”?

时间:2016-01-05 17:16:32

标签: kubernetes

从pod中,我正在尝试使用kubernetes api获取有关服务的信息。直到几周前,它工作得很好。我不确定是什么改变了。这是我正在使用的代码:

SERVICE_NAME="rabbitmq"
KUBE_TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token`
KUBE_BASE_API_URL="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_PORT_443_TCP_PORT}/api/v1/namespaces/${KUBERNETES_POD_NAMESPACE}"
KUBE_AUTH_HEADER="Authorization: Bearer $KUBE_TOKEN"
SERVICE_INFO=$(/usr/bin/curl -sSk -H "${KUBE_AUTH_HEADER}" "$KUBE_BASE_API_URL/endpoints/$SERVICE_NAME")

我正在使用向下api填充KUBERNETES_POD_NAMESPACE环境变量。 SERVICE_INFO的值为Unauthorized

我不知道它是否相关,但我注意到当我尝试ping https://kubernetes时,我得到ping: unknown host https://kubernetes。但是,我相信kube-dns运行得很好,因为它查找http://rabbitmq就好了。

我正在使用Kubernetes v1.1.1,我正在使用运行CoreOS的本地计算机。

1 个答案:

答案 0 :(得分:0)

为了解决它,我不得不重新创建主人。我还不确定到底发生了什么