gpt4 book ai didi

google-cloud-platform - 如何确保 Google Cloud Compute 实例启动并运行

转载 作者:行者123 更新时间:2023-12-03 21:34:03 26 4
gpt4 key购买 nike

我从 shell 脚本创建 Google Cloud Compute 实例,然后通过 ssh 在该实例上启动几个命令。

如何确保实例中的操作系统正常运行?

例如:

gcloud compute instances create "$my_name" \
--tags "http-server" \
--image container-vm \
--metadata-from-file google-container-manifest="container.yml" \
--zone "$my_zone" \
--machine-type g1-small

然后我想跑
gcloud compute ssh \
"$my_name" --zone "$my_zone" \
--command 'sudo docker stop $(sudo docker ps -q -a)'

或者
gcloud compute copy-files \
some.conf root@"$my_name":/existing_dir/ \
--zone "$my_zone"

据我了解,如果实例未启动,第二个命令可能会因连接拒绝而失败。

如何确保该实例已启动并准备好接受 ssh 连接?

最佳答案

只需在发送命令之前检查 SSH 端口是否已打开。在实例操作系统启动之前,SSH 服务器不会启动:

IP=$(gcloud compute instances list | awk '/'$my_name'/ {print $5}')
if nc -w 1 -z $IP 22; then
echo "OK! Ready for heavy metal"
: Do your heavy metal work
else
echo "Maybe later?"
fi

解释:

  1. Get the IP for instance $my_name
  2. Check if port 22 is accepting incoming connections.

-w: Connection timeout (1 second should be more that enough)

-z: Check only if port is open and exit inmediately

关于google-cloud-platform - 如何确保 Google Cloud Compute 实例启动并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29434076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com