簡體   English   中英

Google App Engine Flex上的Elasticsearch部署

[英]Elasticsearch deployment on google app engine flex

是否可以使用docker映像在App Engine Flex環境上部署Elasticsearch。

我在本地計算機上嘗試了以下我的文件

文件夾:elasticsearch

app.yaml
Dockerfile
docker-entrypoint.sh
config folder(containing elasticsearch.yml)file

app.yaml的內容

runtime: custom 
env: flex

https://github.com/GoogleCloudPlatform/elasticsearch-docker/tree/master/5/5.2.0復制的Dockerfile和docker-entrypoint.sh

對Dockerfile的修改

replaced EXPOSE 9200 9300 to EXPOSE 8080

修改elasticsearch.yml

cluster.name: "beaconinside-docker-cluster"
path.data: /usr/share/elasticsearch/data
http.host: 0.0.0.0
http.port: 8080
discovery.zen.minimum_master_nodes: 1

我在本地計算機上使用docker文件構建了一個容器

docker build -t elasticdemo .

然后,我運行容器

docker run -p 8080:8080 elasticdemo

我可以在0.0.0.0:8080上訪問elasticsearch

問題:

我正在嘗試將Elasticsearch作為應用程序部署到Google App Engine Flex環境

gcloud應用程序部署app.yaml --version elasticdocker --project myproject

部署失敗,並出現以下錯誤

Updating service [default]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9]

希望我將Elasticsearch部署為應用程序,並可以在已部署的url上使用。 您能用這種方法提供指示/幫助/建議嗎?

您可以將ES部署到App Engine Flexible環境中,但並不是特別有用。 托管GAE Flexible容器的VM會作為維護的一部分定期重新啟動,並且本地磁盤上存儲的所有數據在重新啟動時都會丟失。 如果要使用本地磁盤進行長期存儲,建議您部署GCE VM(或使用GCP Marketplace中的解決方案)或部署到支持持久性磁盤的 GKE。

至於實際問題:您可能沒有運行狀況檢查處理程序,因此App Engine Flexible環境在部署后不會認為您的應用程序健康。 我同意,該錯誤消息沒有用。

來自GAE Flexible文檔,用於構建自定義圖像

“運行狀況檢查是對URL / _ah / health的HTTP請求。運行狀況良好的應用程序應以狀態碼200進行響應。”

或者,您可以通過添加到app.yaml enable_health_check: False來關閉運行狀況檢查enable_health_check: False

暫無
暫無

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

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