GCE:将流量路由到pod

时间:2016-11-11 18:22:14

标签: load-balancing kubernetes gcp google-compute-engine

我正在执行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不健康

这种情况总会在几天后发生。我不知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

负载均衡器功能由底层基础架构提供(在您的情况下是GCE),因此这与它自己的kubernetes几乎没有任何关系。

  

实例gke-k8-default-pool-xxxx对于104.155.xxx.xxx不健康

从您提供的日志中,我只能告诉您GCE中的实例(vm)无法通过您为ip 104.155.xxx.xxx定义的运行状况检查。因此,您需要检查几件事情:

  1. 实例gke-k8-default-pool-xxxx发生了什么特别的事情?
  2. 您为104.155.xxx.xxx定义了什么运行状况检查(为什么这个实例会失效?)
  3. 因此,您可以选择找出上面的真正原因,或者只是重新启动实例gke-k8-default-pool-xxxx以检查它是否再次成功。