我有一个沙盒gke集群,有一些服务和一些内部负载平衡器。
服务大多定义如下:
apiVersion: v1
kind: Service
metadata:
labels:
app: my-app
name: my-app
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
cloud.google.com/load-balancer-type: "Internal"
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: my-app
sessionAffinity: None
type: LoadBalancer
但最终有人报告端点不再工作(例如每周两次),我去调查并且负载均衡器没有附加实例组了。
我们做的唯一“奇怪”事情是在营业时间以外将所有应用程序的pod缩小到0个副本并在节点池上使用可抢占的实例...我认为它可能与第一个相关,但我强制缩放现在停止一些服务,他们的负载平衡器仍然很好。
它可能与preemptible相关,但似乎如果pod都在一个实例中(特别是kube-system pods),当节点发生故障时,pod一下子就会崩溃,看起来它可以正常恢复。
我看到的其他奇怪的事情是k8s-ig--foobar
将有0个实例。
有没有人经历过这样的事情?我找不到任何关于此的文档。
我打开了一个bug,它被标记为“无法重现”。
但是,从preemptible更改为“normal”实例会“修复”问题。