我正在尝试在Compute Engine VM上部署容器(使用create-with-container
参数)。
容器运行一个长期运行的任务并退出。容器退出后如何关闭虚拟机?
[编辑:工作负载是用Java实现的,并且占用大量内存,因此选择Compute Engine而不是诸如App Engine或Cloud Functions之类的托管服务。
答案 0 :(得分:1)
我将创建一个简单的Web服务器,例如用Python和Flask编写的服务器,该服务器在实例内部启动时运行。
创建Flask Web服务器和容器知道的共享密钥以提供安全性。
您在容器内的软件将调用端点。端点调用halt()。然后,VM关闭。这将总共是20行代码。
关键是Flask Web服务器需要以特权运行才能调用halt()。
答案 1 :(得分:0)
要么使用Cloud Functions处理此类工作负载,要么schedule task with Cron for Python使用App引擎任务队列,或者利用Cloud Scheduler来运行bash脚本,这些脚本定义了加速和杀死VM的逻辑。我敢肯定,有了这些,您就可以解决用例。我先去了解Cloud Functions。