请帮我创建一个用于Kubernetes的YAML配置文件,以应对如下情况:一个pod包含3个容器(例如),这些容器需要部署在Google GCE集群的3个节点上。
|P| |Cont1| ----> |Node1|
|O| ---> |Cont2| ----> |Node2| <----> GCE cluster
|D| |Cont3| ----> |Node3|
谢谢
请帮我创建一个用于Kubernetes的YAML配置文件,以应对如下情况:一个pod包含3个容器(例如),这些容器需要部署在Google GCE集群的3个节点上。
|P| |Cont1| ----> |Node1|
|O| ---> |Cont2| ----> |Node2| <----> GCE cluster
|D| |Cont3| ----> |Node3|
谢谢
来自Kubernetes概念,
简而言之,为了真正从微服务架构中受益,与通常部署在虚拟机中的单块架构相比,您应该将每个容器放置在单个 Pod 中。但是,在某些情况下,您需要考虑共同定位容器。即,如《组合容器模式》(Patterns for Composite Containers)文章所述,一些组合容器应用程序包括:Kubernetes集群中的Pod可以用两种主要方式使用:运行单个容器的Pod。这种“一个Pod一个容器”的模型是最常见的Kubernetes用例;在这种情况下,您可以将Pod视为单个容器的包装器,而Kubernetes管理Pod而不是直接管理容器。运行多个需要协同工作的容器的Pod。一个Pod可能封装了由多个紧密耦合且需要共享资源的共同定位容器组成的应用程序。这些共同定位的容器可能形成一个单一的服务单元——一个容器向公众提供来自共享卷的文件,而另一个“边车”容器则刷新或更新这些文件。Pod将这些容器和存储资源一起包装成一个可管理的单个实体。
- Ambassador 容器扩展和增强“主”容器
- Adapter 容器代理本地连接到世界
一旦定义并运行部署,调度程序将负责选择最适合您的 Pod 的位置,除非您通过在部署的 YAML 中定义标签来手动分配节点(不建议除非您知道自己在做什么)。手动分配节点。标准化和规范化输出
您可以将多个容器分配给单个 Pod。您可以将 Pod 分配给特定的节点池。但我不确定是否可以将多个容器分配给在单个 Pod 中运行的多个节点。
在这里,您可以将每个容器分配给不同的 Pod(3 个容器 -> 3 个 Pod),然后通过将此代码添加到部署的 .yaml 文件中,将每个 Pod 分配给不同的节点池。
nodeSelector:
nodeclass: pool1