[英]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.