【发布时间】:2020-07-21 15:43:38
【问题描述】:
如何更改 Kubernetes NodePort 服务超时时间?
我已经通过使用 apache2 网络服务器运行无限循环 php 代码对其进行了测试,但 3 分钟后它以来自 nginx 的 504 网关超时结束。我猜它是由 NodePort 服务 Kubernetes 处理的
【问题讨论】:
标签: kubernetes kubernetes-service
如何更改 Kubernetes NodePort 服务超时时间?
我已经通过使用 apache2 网络服务器运行无限循环 php 代码对其进行了测试,但 3 分钟后它以来自 nginx 的 504 网关超时结束。我猜它是由 NodePort 服务 Kubernetes 处理的
【问题讨论】:
标签: kubernetes kubernetes-service
Kubernetes 中的大部分服务方面都由kube-proxy 和/或常规 iptables 处理,因此本身不存在 TCP 连接超时。如果您正在查看较低级别的原语,您可以查看 Linux 内核级别的 TCP timeouts ⏳,但通常那些具有合理的默认值。
您提供的关于您的问题的细节非常少 ? 但假设您使用的是 Nginx 入口控制器,您可以应对实际服务流量实际上已启动并在您获得这些超时的特定时刻接收流量的服务/pod。您还可以使用 annotations 或 configmap 在 Nginx 入口控制器级别调整超时⏳
✌️
【讨论】:
NodePort 只是在节点上暴露 pod 的端口,健康检查不是它的功能。
我猜您正在寻找可以为每个容器定义的livenessProbe。它的目的是检查容器是否健康,如果不是,它将杀死它然后重新启动,以便容器恢复到其原始/正常状态。
HTTP liveness 探针示例,通过访问容器的端口 80 和路径 / 每 5 秒检查一次容器的运行状况。
livenessProbe:
httpGet:
port: 80
path: /
periodSeconds: 5
更多配置详情here
【讨论】: