簡體   English   中英

Google App Engine彈性狀態檢查中的Docker網址錯誤

[英]Docker in Google App Engine Flexible health check has wrong URL

我的服務使用如下網址:

<google_url>/v1/lookup_stuff

<google_url>/v1/是服務中所有內容的基本URL,因此,當運行狀況檢查ping <google_url>它將獲得404。我需要更新為ping <google_url>/v1/

(可能有用的信息,該服務在Docker中,當我手動轉到正確的URL時可以訪問該服務)

如何將gcloud的健康服務指向正確的服務網址?

明確起見,可以:

  • Google網址: service-something.appspot.com
  • 服務的所有URL在以下位置: service-something.appspot.com/v1

我需要將健康檢查器指向:

  • service-something.appspot.com/v1/_ah/health

代替

  • service-something.appspot.com/_ah/health

無論如何,這確實是個隱秘的暴露問題:

  • 如果 <google_url>是您設計的標記,則將其分成兩個部分: <google_base_url>/v1/<google_path_url>lookup_stuff則可以ping <google_base_url>/v1/並且在需要原始 <google_url> = <google_base_url> + <google_path_url>

  • 如果<google_url>是由某個框架等提供給您的,則您需要對其進行解釋,以獲取所需的初始部分。 也許您可以使用正則表達式模式,請檢查此內容以便搜索

  • 第三種選擇是在您的Web服務中放置一個重寫規則,該規則將所有ping重定向到所需的url,再次檢查此內容,以便搜索apache ,或者擴展您的問題以解釋您使用的Web服務器,打算做什么等

最后,在kubernetes-health-check上查看這個不錯的示例, 檢查如何配置活動探針,其中有一個path參數應該有用

更新:

靈活的環境現在支持更新的運行狀況檢查 ,該更新的運行狀況檢查由可配置的活動性檢查和/或准備情況檢查組成 ,二者均具有可配置的path功能。

請注意,這些更新的運行狀況檢查不兼容,並且不能與舊式運行狀況檢查並存:

您必須分別為每個項目啟用更新的運行狀況檢查。 默認情況下,啟用舊式運行狀況檢查。 您不能在同一項目中同時使用兩種類型的運行狀況檢查。

原始答案,僅適用於舊式健康檢查:

該路徑當前不可配置。 健康檢查

您無需執行任何特殊操作即可實施運行狀況檢查。 如果您的應用程序不處理運行狀況檢查,則HTTP 404響應將被解釋為成功答復。

您可以編寫自己的自定義運行狀況檢查代碼。 它應該使用HTTP狀態代碼200回復/_ah/health請求。 響應必須包含消息正文,但是,該正文的值將被忽略(可以為空)。

因此,您可以這樣保留它-您的應用始終被認為是健康的。 或者,您可以通過/_ah/health告訴您的應用正確回答健康檢查請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM