我正在执行https://codelabs.developers.google.com/codelabs/cloud-hello-kubernetes的步骤,并且可以使用以下命令成功地将我的pod暴露给外界:
kubectl expose deployment hello --type="LoadBalancer"
我已经设置了静态IP,当我运行时
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.111.xxx.x <none> 443/TCP 13d
hello 10.111.xxx.xx 104.155.xxx.xxx 80/TCP 12d
一切看起来都不错并且工作了几天,但过了一段时间后,来自104.155.xxx.xxx的流量停止路由到我的pod,当我检查负载均衡器时,我开始收到这样的错误:
实例gke-k8-default-pool-xxxx对于104.155.xxx.xxx不健康
这种情况总会在几天后发生。我不知道我做错了什么。
答案 0 :(得分:1)
负载均衡器功能由底层基础架构提供(在您的情况下是GCE),因此这与它自己的kubernetes几乎没有任何关系。
实例gke-k8-default-pool-xxxx对于104.155.xxx.xxx不健康
从您提供的日志中,我只能告诉您GCE中的实例(vm)无法通过您为ip 104.155.xxx.xxx
定义的运行状况检查。因此,您需要检查几件事情:
gke-k8-default-pool-xxxx
发生了什么特别的事情?104.155.xxx.xxx
定义了什么运行状况检查(为什么这个实例会失效?)因此,您可以选择找出上面的真正原因,或者只是重新启动实例gke-k8-default-pool-xxxx
以检查它是否再次成功。