我想知道mesos或k8s是否可以提供来自多个网络接口的资源?我想在mesos(或k8s)从节点上附加多个网络接口(public eth0、private eth1),并想在特定接口上绑定我在mesos的从节点上运行的特定应用程序?难道mesos或k8s不需要像openstack那样有四个不同的物理网络吗??有参考指南或文件吗?
ui7jx7zq1#
在kubernetes上,没有一种完全支持的方法来做到这一点。我认为docker也不支持这一点(https://github.com/docker/docker/issues/1824)作为一种变通方法,你可以这样做:有一个接口是pods的“默认网络接口”。它是您配置kubelet和docker使用的。你的大多数豆荚都用这个。他们得到了一个领奖台。对于需要访问其他接口或两者的“特殊”pod,请在这些pod上使用“hostnet:true”参数,kubernetes不会将pod放在网络容器中。这些豆荚可以绑定到任一接口。不会得到“podip”,而是使用他们使用的任何接口的ip。您必须自己管理端口冲突。您可能需要为这些pod使用守护程序。在具有的pod之间不会获得任何网络策略保护 hostNet .同一节点上的所有吊舱 hostNet 将能够在本地主机上相互交谈,因此您可以减少隔离。如果只有一个或几个应用程序需要“非默认”网络,并且这些应用程序是“系统应用程序”,由管理集群的同一团队管理,而不是由“不太受信任”的应用程序团队管理,那么这种变通方法是很好的。或者如果您有一个只有几个人运行kubernetes集群的小组织。
hostNet
1条答案
按热度按时间ui7jx7zq1#
在kubernetes上,没有一种完全支持的方法来做到这一点。我认为docker也不支持这一点(https://github.com/docker/docker/issues/1824)
作为一种变通方法,你可以这样做:
有一个接口是pods的“默认网络接口”。它是您配置kubelet和docker使用的。你的大多数豆荚都用这个。他们得到了一个领奖台。
对于需要访问其他接口或两者的“特殊”pod,请在这些pod上使用“hostnet:true”参数,kubernetes不会将pod放在网络容器中。这些豆荚
可以绑定到任一接口。
不会得到“podip”,而是使用他们使用的任何接口的ip。
您必须自己管理端口冲突。您可能需要为这些pod使用守护程序。
在具有的pod之间不会获得任何网络策略保护
hostNet
.同一节点上的所有吊舱
hostNet
将能够在本地主机上相互交谈,因此您可以减少隔离。如果只有一个或几个应用程序需要“非默认”网络,并且这些应用程序是“系统应用程序”,由管理集群的同一团队管理,而不是由“不太受信任”的应用程序团队管理,那么这种变通方法是很好的。或者如果您有一个只有几个人运行kubernetes集群的小组织。