4个Kubernetes的高级技巧

2023年 9月 21日 64.1k 0

背景

基于之前的文章,我们把服务程序部署在了Kubernetes上。本篇文章总结了4个在Kubernetes上常用的高级技巧。服务程序是Django开发的,但是本文总结的技巧跟程序开发语言无关。

技巧1. 就绪性(Readiness)和存活性(Liveness)检查

  • 就绪性(Rediness)检查:当为 true 时,表示容器已准备好接受访问。常用在容器需要一些时间来准备环境后,再开始接受访问。
  • 存活性(Liveness)检查:这是 Kubernetes 定期运行的检查项,以确保容器处于活动状态并运行,如果失败,容器将被视为死亡,并将被终止并启动新容器。

二者在配置方面相似,但在调用时有所不同。

注意:我们说的是“容器”而不是“pod”,检查是针对每个容器的。

检查方式

上述检查项Kubernetes有以下三种检查方式:

  • command : 如果成功则返回 0,否则返回错误信息。
  • httpGet:如果返回值在 200 到 399 之间,则表示成功。
  • tcpSocket:如果 Kubernetes 可以打开 TCP 端口的连接,则表示成功,否则表示失败。

配置探针(Probes)

使用下属3种探针:

  • initialDelaySeconds : 在容器启动后,检查启动前的时间,默认为 0秒。
  • periodSeconds:检查的间隔时间,默认10秒。
  • failureThreadhold:如果探测失败后重试的次数,默认为 3次。

示例

采用 "httpGet"的方式做就绪性(Readiness)和存活性(Liveness)检查。

在Django应用的容器部分中,添加django-example_checks.yaml:

containers:
- name: web-app
image: django-example:v1.0
ports:
- containerPort: 80
readinessProbe: #

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论