[英]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的健康服務指向正確的服務網址?
明確起見,可以:
service-something.appspot.com
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>
是由某個框架等提供給您的,則您需要對其進行解釋,以獲取所需的初始部分。 也許您可以使用正則表達式模式,請檢查此內容以便搜索
最后,在kubernetes-health-check上查看這個不錯的示例, 檢查如何配置活動探針,其中有一個path參數應該有用
更新:
靈活的環境現在支持更新的運行狀況檢查 ,該更新的運行狀況檢查由可配置的活動性檢查和/或准備情況檢查組成 ,二者均具有可配置的path
功能。
請注意,這些更新的運行狀況檢查不兼容,並且不能與舊式運行狀況檢查並存:
您必須分別為每個項目啟用更新的運行狀況檢查。 默認情況下,啟用舊式運行狀況檢查。 您不能在同一項目中同時使用兩種類型的運行狀況檢查。
原始答案,僅適用於舊式健康檢查:
該路徑當前不可配置。 從健康檢查 :
您無需執行任何特殊操作即可實施運行狀況檢查。 如果您的應用程序不處理運行狀況檢查,則HTTP
404
響應將被解釋為成功答復。您可以編寫自己的自定義運行狀況檢查代碼。 它應該使用HTTP狀態代碼
200
回復/_ah/health
請求。 響應必須包含消息正文,但是,該正文的值將被忽略(可以為空)。
因此,您可以這樣保留它-您的應用始終被認為是健康的。 或者,您可以通過/_ah/health
告訴您的應用正確回答健康檢查請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.