最近,我们更新了使用Docker和Kubernetes部署的下拉向导服务。
它以前工作正常,准备好的探测器正在对内部集群IP产生健康检查,得到200秒。由于我们更新了健康检查pings,导致301,服务被认为是被关闭的。
我已经注意到,健康检查现在是默认的kubernetes L7负载平衡健康检查的NEG。(端口设置为80),它以前是默认的kubernetes L7负载平衡健康检查。端口是可配置的。
kube文件是通过CircleCI部署的,但就绪探测是:
kind: Deployment
metadata:
name: pes-${CIRCLE_BRANCH}
namespace: ${GKE_NAMESPACE_NAME}
annotations:
reloader.stakater.com/auto: 'true'
spec:
replicas: 2
selector:
matchLabels:
app: ***
template:
metadata:
labels:
app: ***
spec:
containers:
- name: ***
image: ***
envFrom:
- configMapRef:
name: ***
- secretRef:
name: ***
command: ['./gradlew', 'run']
resources: {}
ports:
- name: pes
containerPort: 5000
readinessProbe:
httpGet:
path: /api/healthcheck
port: pes
initialDelaySeconds: 15
timeoutSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
name: ***
namespace: ${GKE_NAMESPACE_NAME}
spec:
ports:
- name: pes
port: 5000
targetPort: pes
protocol: TCP
selector:
app: ***
type: LoadBalancer对于如何在GCP中配置这一点,有什么想法吗?
我有一种感觉,新的部署已经从遗留的健康检查变成了非遗留的,但是不知道还需要设置什么才能工作。kube文件是否处理创建防火墙规则,还是需要手动执行?
在https://cloud.google.com/load-balancing/docs/health-check-concepts?hl=en阅读文档
编辑:问题现在已经解决了,。在GKE版本被更新之后,它现在正在默认情况下创建一个NEG健康检查。通过将下面的注释添加到服务部署文件中,我们禁用了这一功能。
元数据:注释: cloud.google.com/neg:'{"ingress":false}‘
发布于 2022-02-01 06:06:49
问题现在已经解决了。在GKE版本被更新之后,它现在正在默认情况下创建一个NEG健康检查。通过将下面的注释添加到服务部署文件中,我们禁用了这一功能。
metadata: annotations: cloud.google.com/neg: '{"ingress":false}'
https://stackoverflow.com/questions/70808895
复制相似问题