【发布时间】:2017-11-10 16:17:07
【问题描述】:
有人可以帮我为 Kubernetes 创建一个 yaml 配置文件,以便面对这样的情况:一个 pod 有 3 个容器(例如),这些容器必须部署在集群的 3 个节点上(Google GCE) .
|P| |Cont1| ----> |Node1|
|O| ---> |Cont2| ----> |Node2| <----> GCE cluster
|D| |Cont3| ----> |Node3|
谢谢
【问题讨论】:
-
kubernetes.io/docs/concepts/workloads/pods/pod-overview 正如他们在此处的文档中所说:Pod 中的容器会自动在集群中的同一物理或虚拟机上共同定位和共同调度。这意味着一个 pod 的容器总是在同一个节点上。如果要水平扩展,可以将容器放入单独的 pod 中。
-
我无法在更多集群节点上部署一些容器似乎很奇怪,考虑到这样我无法利用集群的弹性和 kubernetes 实用程序轻松扩展 Web 服务器电池以在一个中进行一些操作射击...
-
嗯,一般来说,组件不需要等量缩放。您的数据库可以处理一定的负载,但您的网页本身可能需要扩展更多才能处理相同数量的用户。在这种情况下,让它们能够单独扩展是非常有益的。如果将它们放在同一个 pod 中,它们总是必须以完全相同的程度水平扩展。为什么要将它们捆绑在一起?
-
实际上的想法是为 db 提供一个 pod,为 Web 服务器提供一个不同的 pod。但我正在考虑以这种方式进行开发,因为我确信我可以使用集群将所有 Web 服务器作为单一服务进行管理。另一方面,如果一个带有多个容器的 pod 只能部署在一个节点上,那么拥有节点集群的意义是什么?考虑到集群节点具有相同的硬件特性,在同一个节点中拥有多个容器意味着权衡一个和留下另一个出院。现在我真的不明白拥有集群+kubernetes 的用处......
-
好吧,假设您的节点有 2 个 Pod 运行您的 Web 服务。您的集群将平衡两台服务器之间的负载,现在您可以处理更多流量。较小的节点通常也比拥有一个大型单体更便宜。此外,如果您正在运行两台网络服务器并且其中一台崩溃,您仍然可以从备份中提供流量。 Kubernetes 也会重启出现故障的服务。您应该研究可用性和水平可扩展性等术语。它还可以让您更有效地使用硬件。如果您有两个小型服务,它们可以放在一个节点上,您可以节省成本。
标签: kubernetes cluster-computing google-compute-engine