Kubectl等待服务获取外部IP [英] Kubectl wait for service to get external ip

查看:16
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆