Google cloud platform 如何在pod定义中获取Kubernetes服务IP
将Kubernetes 1.2.1与谷歌云结合使用。我定义了一个服务并正在运行。我想启动一个pod,获取服务的集群IP地址。这样我就可以将这个IP传递给一个在容器启动时运行的脚本 根据我所读到的内容,我可以使用表单Google cloud platform 如何在pod定义中获取Kubernetes服务IP,google-cloud-platform,kubernetes,Google Cloud Platform,Kubernetes,将Kubernetes 1.2.1与谷歌云结合使用。我定义了一个服务并正在运行。我想启动一个pod,获取服务的集群IP地址。这样我就可以将这个IP传递给一个在容器启动时运行的脚本 根据我所读到的内容,我可以使用表单MYSERVICE\u SERVICE\u HOST,其中MYSERVICE是服务的名称。以下是Pod的定义: apiVersion: v1 kind: Pod metadata: labels: name: mypod name: mypod spec: cont
MYSERVICE\u SERVICE\u HOST
,其中MYSERVICE是服务的名称。以下是Pod的定义:
apiVersion: v1
kind: Pod
metadata:
labels:
name: mypod
name: mypod
spec:
containers:
- name: mypod
image: myimage
env:
- name: VARIABLE_NAME
value: MYSERVICE_SERVICE_HOST
图像的脚本运行此
echo "Variable: $VARIABLE_NAME"
当我运行kubectl日志mypod
时,我看到
Variable: MYSERVICE_SERVICE_HOST
我做错了什么?您的脚本工作正常。在pod yaml中,您正在将环境变量
variable\u NAME
设置为MYSERVICE\u SERVICE\u HOST
,并且您的脚本正在打印您指定的值。如果您将脚本更改为echo“MYSERVICE\u SERVICE\u HOST:$MYSERVICE\u SERVICE\u HOST”
它应该打印出您要查找的IP 您的脚本工作正常。在pod yaml中,您正在将环境变量variable\u NAME
设置为MYSERVICE\u SERVICE\u HOST
,并且您的脚本正在打印您指定的值。如果您将脚本更改为echo“MYSERVICE\u SERVICE\u HOST:$MYSERVICE\u SERVICE\u HOST”
它应该打印出您要查找的IP 只需将K8 env var名称包装成$()
您只需要将K8 env var名称包装为$()
- name: VARIABLE_NAME
value: $(MYSERVICE_SERVICE_HOST)