閱讀173 返回首頁    go 英雄聯盟


probe__服務編排文檔_用戶指南_容器服務-阿裏雲

設置服務的健康性檢查。

  • 通過 URL 進行檢查,支持 HTTP 協議、TCP 協議。
  • 通過 shell 腳本檢查。

健康檢查會從容器宿主機上發起,每隔一定時間(默認兩秒)向容器發起請求或在容器上執行 shell 腳本命令。

檢查成功的判斷條件為:HTTP 請求的返回碼為 2XX/3XX;TCP 端口可建立連接;shell 腳本運行返回值為 0。

檢查的字段解釋:

  • aliyun.probe.url:HTTP、TCP 請求的 URL。請注意您不需要填寫自己的域名或者 IP 地址,隻需要加上 container 這個單詞,該 URL 最終會被解析成容器相應的 IP 去進行健康檢查,檢查結果返回 2XX 或者 3XX 才認為服務是健康的。
    • 例如,容器通過 8080 端口提供 HTTP 服務,並提供了 /ping 作為健康檢查的 URL,則探測 URL 的格式為 https://container:8080/ping,容器服務會自動通過 HTTP GET 請求檢查 URL 的返回結果,如果返回結果的返回碼為 2XX 或 3XX,則說明健康檢查成功。
    • 例如,MySQL 容器偵聽 3306 端口,探測 URL 的格式為 tcp://container:3306,服務會檢查容器 3306 端口是否打開,如果打開則說明健康檢查成功。
  • aliyun.probe.cmd:健康檢查執行的檢查 Shell 命令,/check.sh;容器服務會定期在容器內執行該命令,當 shell 腳本返回值為 0 時表明健康檢查成功。
  • aliyun.probe.timeout_seconds:健康檢查的超時時間。
  • aliyun.probe.initial_delay_seconds:在容器啟動後延遲幾秒開始健康檢查。

注意:

  • 一個服務中隻能包含 aliyun.probe.urlaliyun.probe.cmd 其中之一。
  • 如果服務不包含 aliyun.probe.urlaliyun.probe.cmd,則容器缺省為健康狀態,且其他 aliyun.probe.xxx 標簽會被忽略。

示例:

利用 URL 檢測容器健康狀態。

  1. os:
  2. image: my_nginx
  3. labels:
  4. aliyun.probe.url: https://container/ping
  5. aliyun.probe.timeout_seconds: "10"
  6. aliyun.probe.initial_delay_seconds: "3"

利用 shell 腳本檢測容器健康狀態。

  1. os:
  2. image: my_app
  3. labels:
  4. aliyun.probe.cmd: health_check.sh
  5. aliyun.probe.initial_delay_seconds: "3"

最後更新:2016-12-20 14:43:15

  上一篇:go 標簽概覽__服務編排文檔_用戶指南_容器服務-阿裏雲
  下一篇:go rolling_updates__服務編排文檔_用戶指南_容器服務-阿裏雲