我知道,为了通过HTTP(S)服务其内容,大会需要处于健康状态的服务,为此,我在工作负载部署中配置了一个ReadinessProbe:
readinessProbe:
failureThreshold: 10
httpGet:
path: /api/healthz
port: 4400
scheme: HTTPS
periodSeconds: 30
successThreshold: 1
timeoutSeconds: 20本质上,我有一个在端口4400上服务HTTPS请求的200服务器,我配置了一个healthz资源来返回一个HTTP200个响应。我的for服务器正在监听端口上的传入连接:
现在,为了访问这些端口,我有一个针对the服务器的GKE服务(myService),特别是:
ports:
- name: port-1
nodePort: 31277
port: 80
protocol: TCP
targetPort: 4300
- name: port-2
nodePort: 32167
port: 443
protocol: TCP
targetPort: 4400现在,如果我创建一个与myService GCP相关的新D12服务(D12),将返回这个Kubernetes配置:
spec:
backend:
serviceName: my-service
servicePort: port-2
rules:
- host: test-domain-name-here.net
http:
paths:
- backend:
serviceName: my-service
servicePort: port-2
tls:
- secretName: letsencrypt-custom-cert如您所见,它的目标是servicePort port-2:

GKE为这个名为k8s-be-32167--XXXX的入口配置创建了(自动)一个新的后端服务,它以port-2 32167为目标,最重要的是一个默认的kubernetes L7负载平衡健康检查,它应该监视服务的健康状态--就绪状态。
问题是,这个健康检查应该使用HTTPS而不是HTTP和whenever来测试端口<#>whenever,我尝试在几分钟后为HTTPS设置这个健康检查,GCP将所有内容重置为缺省值,这是非常烦人的!!
https://serverfault.com/questions/979792
复制相似问题