Kubernetes Pods与Google Cloud中的部署

时间:2016-11-01 11:22:29

标签: kubernetes google-kubernetes-engine

如果这个问题听起来很明显,我很抱歉,但Kubernetes和Google云文档在某些地方非常令人困惑和矛盾。

无论如何,我已将Dockerized网络服务器推送到我的私人Google Container Registry。我希望这个容器在它死后重新启动,但我只需要在任何给定时刻运行一个单独的实例。此外,还需要为服务器定义一组环境变量才能正确配置。

我已经创建了一个新群集。但是我从哪里开始呢?一些教程说应该声明pod和服务文件,但是接下来的教程说不应该直接声明pod而是使用部署。结果是我非常困惑。

这个简单用例的最佳方法是什么?另外,在Google Cloud中使用Kubernetes的推荐文档是什么? (谷歌的官方文档似乎已经过时了。)

2 个答案:

答案 0 :(得分:7)

根据您的说明,我建议您使用Deployment并将replicas设置为1.部署将确保您的pod始终有一个实例正在运行。您可以在部署清单的environment variables规范中定义pod template

在文档中,您可能还会看到将replication controllers用于同一目的的建议。这绝对是一个选项,但部署被视为复制控制器的successor,此时通常为recommended

裸露的pod不是durable,并且在节点故障或其他类型的驱逐情况下不会重新启动。

文档在很多地方都已过时,但据我所知,权威位置(即使是GKE)也是http://kubernetes.io/docs/

答案 1 :(得分:0)

@ryan的答案很清楚。

要拥有一个持久的Pod,必须使用Deployments来创建它。

通常最好使用

部署 ,因为它定义了 ReplicaSet 以确保所需数量的Pod始终可用,并指定了替换Pod的策略(在您的情况下,它是一个

如果直接在没有 Deployment 的情况下创建Pod,则必须手动创建和管理Pod。
不会重新安排Pod类型的对象(或发生故障时自动修复)。

您可以改用replica set,但它不如部署灵活。