场景:我们使用竹子构建docker镜像,并将这些镜像推送到gcr.io。
chef-client runs将始终执行gcloud docker pull,以拉下最新的镜像。但是,chef-client将不会重新启动将启用新镜像的服务。我们在dev和prod中手动重启服务,因为我们不想让chef踢掉服务,直到我们确定新镜像正常工作。
那么,如果我们对我们的新构建有信心(这是我们正在做的事情),有没有一种优雅的方法来告诉chef-client一个新的镜像已经关闭,它需要重新启动服务?
它几乎就像一个“通知”的东西,几乎就像:
custom_docker_image_thingie "docker_image_name" do
tag node.environment
notifies :restart, "service[service_name]"
end这有意义吗?
发布于 2016-01-05 05:45:55
是的,它看起来就是这样的。不过,您需要您的custom_docker_image_thingie资源正确设置其updated?标志才能正常工作。有一些帮助器可以帮助您从其他较小的资源(12.5自定义资源语法、use_inline_resources、notifying_block)中构建资源,但是对于完全从头开始构建的东西,您需要自己编写代码。
https://stackoverflow.com/questions/34598816
复制相似问题