成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker容器原生健康檢查機制詳解

云計算 云原生
本文介紹Docker中兩種原生的健康檢查方式,使用起來非常方便。目前主流的容器編排框架也都自帶了健康健康檢查功能,這種情況下不需要使用Docker原生的健康檢查方式。

為什么需要健康檢查機制?

健康檢查機制是用來檢查服務的可用性,當服務不可用時及時重啟以恢復可用性。之前的文章《Kubernetes中配置livenessProbe、readinessProbe和startupProbe》講解了Kubernetes中的各種健康檢查類型和配置方法,本篇文章講解一下docker容器的健康檢查機制。

看過上文提到的那篇文章的同學型相信肯定能理解為什么需要對服務本身做健康檢查。就以docker為例再解釋一下,Docker Daemon用來運行和管理容器,本身會監控容器中PID為1的進程,其實在實際場景中僅監控PID為1的進程是不夠的。例如當容器中的服產生死鎖的情況,這時候服務雖然不能處理用戶請求,但是PID為1的進程依然是運行狀態。

Docker健康檢查機制

Docker健康檢查有兩種方式:

  • 在Dockerfile中使用HEALTHCHECK命令配置健康檢查策略;
  • 在啟動容器時(docker run 命令)配置健康檢查策略。

在Dockerfile中使用HEALTHCHECK命令配置健康檢查策略

在Dockerfile中使用HEALTHCHECK聲明健康檢查策略,容器啟動后就會自動進行健康檢查。HEALTHCHECK支持下列選項:

  • --interval=<間隔時間>:兩次健康檢查的間隔時間,默認30 秒;
  • --timeout=<超時時間>:健康檢查命令運行超時時間,如果超過這個時間,本次健康檢查被視為失敗,默認 30 秒;
  • --retries=<重試次數>:當連續重試指定次數后,則將容器狀態置為 unhealthy,默認 3 次。
  • --start-period=<間隔>: 應用啟動時間,不計啟動過程中的健康檢查失效情況,默認 0 秒。

使用示例如下:

from elasticsearch:latest
HEALTHCHECK --interval=5s --timeout=2s --retries=3 \
CMD curl --silent --fail localhost:9200/_cluster/health || exit 1

在Dockerfile中HEALTHCHECK最好只寫一個,如果寫了多個,只有最后一個會有效。

CMD命令返回值有三種,如下

  • 0,成功;
  • 1,失敗;
  • 2,保留值,不要使用。

執行docker run后容器初始狀態為starting,等待配置的interval時間后,開始執行健康檢查。如果單次檢查返回值不是0或者檢查時間超過了timeout,本次檢查被認為失敗。如果健康檢查連續失敗次數超過了retries,狀態就會變為unhealthy,健康檢查結果一旦成功,容器就會被置為healthy狀態。

在啟動容器時(docker run 命令)配置健康檢查策略

示例如下:

$ docker run --rm -d \
     --name=es \
     --health-cmd="curl --silent --fail localhost:9200/_cluster/health || exit 1" \
     --health-interval=5s \
     --health-timeout=2s \
     --health-retries=3 \
     elasticsearch:latest

參數代表的意思和第一種方式中的相同,健康檢查命令的輸出存儲在健康狀態里,可以用docker inspect命令查看。

小結

本文介紹了Docker中兩種原生的健康檢查方式,使用起來非常方便。目前主流的容器編排框架也都自帶了健康健康檢查功能,這種情況下不需要使用Docker原生的健康檢查方式。

責任編輯:姜華 來源: 今日頭條
相關推薦

2017-08-25 10:20:46

Docker容器機制

2023-03-02 07:20:10

GRPC服務健康檢查協議

2022-09-07 09:19:49

Docker健康檢查

2024-02-27 17:30:11

2020-12-07 06:29:13

SpringBoot

2023-03-03 08:19:35

KubernetesgRPC

2023-03-01 08:33:37

gRPC健康檢查代碼

2024-10-31 15:16:35

2021-07-15 10:25:15

集群節點檢查

2022-08-23 10:04:23

Dockerhealth健康檢查

2022-02-28 07:40:23

Nacos注冊中心客戶端

2023-10-14 15:36:14

PodKubernetes

2023-01-30 07:51:38

云原生Kubernetesk8s

2021-01-15 05:38:28

ASPHttp端口

2021-04-18 10:34:28

Spring Clou郵件釘釘

2021-09-18 16:10:48

Spring BootJava微服務

2021-07-05 06:51:41

Nacos微服務源碼

2021-09-21 16:31:56

Windows 11微軟PC健康檢查工具

2024-02-19 08:01:59

服務微服務授權

2022-12-27 07:42:12

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清免费视频 | av在线黄| 久久骚 | 国产情侣在线看 | 97av视频| 国产精品一区一区三区 | 久久精品久久综合 | 一区精品视频在线观看 | 狠狠干美女 | 久久国内 | 国产免费一区二区 | 久久国内精品 | 自拍偷拍av| 日韩欧美中文字幕在线观看 | 97超碰站| 成人国产精品一级毛片视频毛片 | 天天干天天爽 | 午夜激情影院 | 成人不卡视频 | 91影库 | 麻豆亚洲 | com.国产| 成人在线不卡 | 91成人免费看 | 中文字幕一区二区三区四区五区 | 碰碰视频| www.色.com| 国产一区二区电影 | 日韩在线小视频 | 亚洲美女视频 | 紧缚调教一区二区三区视频 | 久草精品视频 | 国产女人与拘做视频免费 | 91看片在线观看 | 国产精品福利网 | 国产一级在线观看 | 男女污污网站 | 日日av| 国产精品久久久久aaaa樱花 | 日本一道本视频 | 精品欧美乱码久久久久久 |