Kubernetes 什么';从openshift pod定位apiserver的推荐方法是什么?
从Kubernetes文档(): 建议使用kubernetesDNS名称在pod中定位apiserver,该名称解析为服务IP,服务IP将被路由到apiserver 然而,当我在OpenShift吊舱的外壳中时,这个“kubernetes”dns名称似乎并不存在。我希望它默认存在,因为Kubernetes在下面运行,但我错了吗?这是使用OpenShift容器平台3.7版Kubernetes 什么';从openshift pod定位apiserver的推荐方法是什么?,kubernetes,openshift,Kubernetes,Openshift,从Kubernetes文档(): 建议使用kubernetesDNS名称在pod中定位apiserver,该名称解析为服务IP,服务IP将被路由到apiserver 然而,当我在OpenShift吊舱的外壳中时,这个“kubernetes”dns名称似乎并不存在。我希望它默认存在,因为Kubernetes在下面运行,但我错了吗?这是使用OpenShift容器平台3.7版 除了将apiserver作为环境变量或其他内容传入之外,是否有一种访问apiserver的标准方法?在OpenShift中,您
除了将apiserver作为环境变量或其他内容传入之外,是否有一种访问apiserver的标准方法?在OpenShift中,您可以使用:
https://openshift.default.svc.cluster.local
您还可以使用环境变量中的值:
KUBERNETES_SERVICE_PORT
KUBERNETES_SERVICE_HOST
例如:
#!/bin/sh
SERVER=`https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT`
TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token`
URL="$SERVER/oapi/v1/users/~"
curl -k -H "Authorization: Bearer $TOKEN" $URL
请注意,运行容器的
默认服务帐户将不具有REST API访问权限。最好的做法是在项目中创建一个新的服务帐户,并授予该帐户使用REST API端点执行所需操作的权限。在OpenShift中,您可以使用:
https://openshift.default.svc.cluster.local
您还可以使用环境变量中的值:
KUBERNETES_SERVICE_PORT
KUBERNETES_SERVICE_HOST
例如:
#!/bin/sh
SERVER=`https://$KUBERNETES_SERVICE_HOST:$KUBERNETES_SERVICE_PORT`
TOKEN=`cat /var/run/secrets/kubernetes.io/serviceaccount/token`
URL="$SERVER/oapi/v1/users/~"
curl -k -H "Authorization: Bearer $TOKEN" $URL
请注意,运行容器的默认服务帐户将不具有REST API访问权限。最好的做法是在项目中创建一个新的服务帐户,并授予该帐户使用RESTAPI端点执行所需操作的权限