小编ciz*_*ixs的帖子

节点未就绪,待处理的pod

我正在GKE上运行一个集群,有时我会进入挂起状态.现在我只使用两个节点并允许群集自动缩放.其中一个节点具有NotReady状态,只是停留在其中.因此,由于CPU不足,我的一半pod正在等待.

我是怎么到那儿的

我从一开始就部署了一个具有相当高的CPU使用率的pod.当我将其缩放到2时,我注意到CPU使用率为1.0; 在我将部署扩展到3个副本的那一刻,我希望第三个处于Pending状态,直到集群添加另一个节点,然后在那里安排它.
相反,节点切换到NotReady状态,其上的所有pod现在都处于Pending状态.但是,节点没有重启或任何东西 - 它只是不被Kubernetes使用.然后GKE认为有足够的资源,因为VM有0 CPU使用率,并且不会扩展到3.我无法从控制台手动SSH到实例 - 它被卡在加载循环中.

我可以手动删除实例然后它开始工作 - 但我不认为这是完全管理的想法.

我注意到的一件事 - 不确定是否相关:在GCE控制台中,当我查看VM实例时,实例组和负载均衡器(这是nginx入口点周围的服务)正在使用Ready节点,但NotReady节点仅由实例组使用 - 而不是负载平衡器.

此外,kubectl get events有一条线:

Warning   CreatingLoadBalancerFailed   {service-controller }          Error creating load balancer (will retry): Failed to create load balancer for service default/proxy-service: failed to ensure static IP 104.199.xx.xx: error creating gce static IP address: googleapi: Error 400: Invalid value for field 'resource.address': '104.199.xx.xx'. Specified IP address is already reserved., invalid
Run Code Online (Sandbox Code Playgroud)

loadBalancerIP: 104.199.xx.xx在代理服务的定义中指定了以确保在每次重新启动时服务获得相同(保留)的静态IP.

有关如何防止这种情况发生的任何想法?因此,如果一个节点卡在NotReady状态,它至少会重新启动 - 但理想情况下不会进入这样的状态开始?

谢谢.

google-cloud-platform kubernetes google-kubernetes-engine

6
推荐指数
1
解决办法
1818
查看次数

iptables模式下的kube-proxy无法正常工作

我有

  • Kubernetes:v.1.1.1
  • iptables v1.4.21
  • 内核:4.2.0-18-与Ubuntu wily一起提供的泛型
  • 通过在交换机上终止的L2 VLAN完成联网
  • 没有云提供商

我所做的

我正在尝试使用kube-proxy的iptables模式.我用--proxy_mode=iptables争论启用了它.似乎缺少一些规则:

iptables -t nat -nvL

Chain PREROUTING (policy ACCEPT 8 packets, 459 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2116  120K KUBE-SERVICES  all  --  *      *       0.0.0.0/0            0.0.0.0/0            /* kubernetes service portals */

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2 packets, 120 bytes)
 pkts bytes target     prot opt in     out …
Run Code Online (Sandbox Code Playgroud)

kubernetes kube-proxy

5
推荐指数
1
解决办法
4414
查看次数

kube-proxy`--masquerade-all = true`是什么意思?

KUBE-代理管理页说:

--masquerade-all       If using the pure iptables proxy, SNAT everything
Run Code Online (Sandbox Code Playgroud)

但它确实详细解释了.

  • --masquerade-all什么时候应该设置为true?
  • 它解决了什么问题?
  • 如果设置会发生什么--masquerade-all=false?有什么区别--masqurade-all=true

kubernetes kube-proxy

2
推荐指数
1
解决办法
2050
查看次数

有什么可能golang http响应错误?

与许多golang net/http文章一样,请求返回两个值:响应和错误:

resp, err := http.Get("http://example.com/")
if err != nil {
    // handle error
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
Run Code Online (Sandbox Code Playgroud)

对于与http相关的错误,它将返回resp状态代码,如502,400等.返回的可能错误是什么?我需要知道它们才能处理它们.

http go

1
推荐指数
1
解决办法
1185
查看次数