将启动脚本写入 google 容器引擎

Writing a startup script to google container engine

我发现可以使用 控制台将 启动脚本 添加到 Google 计算实例 cli(gcloud). 我想将 启动脚本 添加到 google 容器引擎.

目标是在google容器引擎将其状态更改为通知我运行。我虽然一种有效的方法是在容器引擎中使用启动脚本,因为这些脚本只会在容器的状态更改为 运行.

时执行

知道如何将启动脚本添加到容器引擎或以任何其他方式在容器状态更改为 运行 时进行通知。

首先你的问题比较复杂。启动脚本的概念不属于容器世界。 据我所知,您无法在 Google 容器引擎 中添加启动脚本。这是因为 Container Engine 实例是不可变的(例如,您不能或不应该修改操作系统,您应该 运行 个容器)。

如果您在容器 starts/stops 时尝试 运行 脚本,您需要忘记 Compute Engine 世界中的启动脚本概念。您可以在 Kubernetes 中使用 container lifecycle hooks(Container Engine 中的编排器 运行ning)。

这是关于它的文档和教程: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/ https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/

您可以使用带有在特权模式下运行的简单 pod 的 DaemonSet 来近似启动脚本的行为。有关示例代码,请参阅 https://github.com/kubernetes/contrib/tree/master/startup-script

项目元数据适用于此,这是一个地形示例:

resource "google_compute_project_metadata_item" "main" {
    project = abcdefg # this is optional
    key = "startup-script"
    value = "#! /bin/sh\necho hello > /tmp/world"
}