0

我正在按照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 不健康

这总是在几天后发生。我不知道我做错了什么。

4

1 回答 1

1

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

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

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

  1. 比如有没有发生什么特别的事情gke-k8-default-pool-xxxx
  2. 您为什么定义了健康检查104.155.xxx.xxx(为什么会在这个实例中关闭)?

所以你可以选择找出上面的真正原因,或者只是重新启动实例gke-k8-default-pool-xxxx以检查它是否再次成功。

于 2017-04-13T07:52:50.043 回答