Kubectl等待服务获取外部IP [英] Kubectl wait for service to get external ip
本文介绍了Kubectl等待服务获取外部IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用kubectl等待服务获得分配的外部IP。我一直在尝试使用以下内容作为入门指南
kubectl wait --for='jsonpath={.spec.externalTrafficPolicy==Cluster}' --timeout=30s --namespace cloud-endpoints svc/esp-echo
但我一直收到以下错误信息
error: unrecognized condition: "jsonpath={.spec.externalTrafficPolicy==Cluster}"
推荐答案
无法传递任意jsonpath
,并且已经有一个request for the feature。
但是,您可以使用带有一些休眠的bash脚本,并使用其他kubectl
命令监视服务:
kubectl get --namespace cloud-endpoints svc/esp-echo --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}"
例如,上述命令将返回LoadBalancer服务的外部IP。
您可以使用上面的代码编写一个简单的bash文件:
#!/bin/bash
ip=""
while [ -z $ip ]; do
echo "Waiting for external IP"
ip=$(kubectl get svc $1 --namespace cloud-endpoints --template="{{range .status.loadBalancer.ingress}}{{.ip}}{{end}}")
[ -z "$ip" ] && sleep 10
done
echo 'Found external IP: '$ip
这篇关于Kubectl等待服务获取外部IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文