健康检查无法访问GCP

问题描述 投票:0回答:1

我在谷歌云中有一个托管实例组,其中有一个实例。我为我的应用程序使用容器图像。我不允许 HTTP(S) 流量。负载均衡器指向它。我已经设置了运行状况检查,当我通过 SSH 进入实例并执行

curl localhost:80/health
操作时,我会收到响应,因此容器会正确启动。但是负载均衡器显示该实例运行状况不佳。我还为适当的 IP 范围(130.211.0.0/22、35.191.0.0/16)和端口(tcp:80)设置了入口防火墙规则。 我从使用以下命令创建的模板创建实例:
gcloud compute instance-templates create-with-container magnificent-monolith-try4 --project=my-proj --machine-type=e2-micro --network-interface=network=default,network-tier=PREMIUM --region=europe-west1 --maintenance-policy=MIGRATE [email protected] --scopes=https://www.googleapis.com/auth/cloud-platform --tags=lb-health-check,allow-health-check --container-image=europe-west1-docker.pkg.dev/my-proj/docker-repository/magnificent-monolith:010c59f2ad7a3a6ff86339cc320785bd9cc41615 --container-restart-policy=always --container-env=end=dev --no-shielded-secure-boot --boot-disk-auto-delete --boot-disk-size=10 --create-disk=auto-delete=yes,mode=rw,name=try-disk,image=projects/cos-cloud/global/images/cos-stable-109-17800-147-60 --shielded-vtpm --shielded-integrity-monitoring

无论出于何种原因,当我手动创建实例模板时,它似乎都有效。唯一的区别是在“图像”下,对于手动创建的模板,它显示

cos-stable-109-17800-147-60
,对于 cli 创建模板,它显示
cos-stable-113-18244-1-37
,但我不明白这如何对健康检查可访问性产生影响..

编辑: 我的实际目标是在我的应用程序更新时部署新的 docker-image。实现此目标的推荐方法是:

  1. 使用新的 docker-image 创建新的实例模板
  2. 在实例组中使用滚动更新到新模板

所以在这种情况下我的问题是:最小命令如何创建合适的实例模板?

google-cloud-platform google-cloud-compute-engine
1个回答
0
投票

回答您的实际问题:您的实例模板创建脚本似乎合理且相对最小。创建实例模板后,您还可以使用

gcloud compute instance-groups managed set-instance-template
命令从命令行执行转出。

至于您关于容器版本的问题,您列出的特定版本存在问题

cos-stable-113-18244-1-37
。您可以在线搜索该特定版本,以找到抱怨它的各种线程。我建议手动将图像设置为
cos-stable-109
版本,因为如果您不设置版本,Google可能会向您推送另一个损坏的容器版本。

© www.soinside.com 2019 - 2024. All rights reserved.