我有一个StatefulSet的ejabberd3
副本。我使用以下声明将它们暴露给 GCP NEG:
apiVersion: v1
kind: Service
metadata:
name: ejabberd
annotations:
cloud.google.com/neg: '{"exposed_ports": {"5222":{"name": "ejabberd-xmpp-production-neg"}, "5443":{"name": "ejabberd-http-production-neg"}}}'
spec:
type: ClusterIP
clusterIP: None
selector:
app: ejabberd
ports:
- protocol: TCP
name: xmpp
port: 5222
targetPort: 5222
- protocol: TCP
name: http
port: 5443
targetPort: 5443
运行状况检查是端口 5443 上的 HTTP 端点,它在 path 处返回 HTTP 200 (OK) 状态代码/
。
问题是,当我创建SSL 代理时,健康检查总是失败,但是当我 ssh 进入 Pod 并执行时,$ curl localhost:5443/
我得到了成功响应。TCP 健康检查也不起作用。