如何正确设置库伯奈特斯的readinessProbe?
如果在部署类中为Kubernetes的readinessProbe设置此配置。
readinessProbe:
httpGet:
path: /healthcheck
port: 8080
httpHeaders:
- name: Authorization
value: Basic <real base64 encoded data>将其部署到GKE,GCP的健康检查不能通过使用基本身份验证来访问内部应用程序。
但是从here来看,它似乎应该使用这个语法。为什么不能通过?
服务器端在/healthcheck点使用JSON响应。是否也需要将Accept或Content-Type设置为httpHeaders
而且,将此健康检查设置为livenessProbe或readinessProbe好吗?
发布于 2021-03-12 14:43:45
据库伯奈特斯医生说:
如果容器中的进程在遇到问题或变得不健康时能够自行崩溃,则不一定需要活性探测;kubelet将根据Pod的restartPolicy自动执行正确的操作。如果希望容器在探测失败时被杀死并重新启动,那么请指定一个活动探测,并指定一个restartPolicy值为Always或OnFailure。
--如果您只想在探测成功时才开始向Pod发送流量,请指定一个就绪探测。在这种情况下,就绪探测可能与活性探测相同,但是在规范中存在就绪探测意味着Pod将在没有接收到任何通信量的情况下启动,并且只有在探测开始成功后才开始接收流量。如果容器需要在启动期间加载大型数据、配置文件或迁移,请指定准备状态探测。
因此,你可以根据你的需要进行健康检查。但在库伯奈特斯博士,他们给出了一个健康检查的例子,作为一个活泼的探索。
最好的做法是在发送请求时使用内容类型,然后是浏览器或其他典型客户端。我相信使用Content: application/json可以解决服务器端的其他问题。
https://stackoverflow.com/questions/66601436
复制相似问题