想给每个 pod 分配一个正常的 ip
|      1julyclyde      2020-06-30 14:07:06 +08:00 也可以啊 | 
|  |      2pmispig      2020-06-30 14:23:55 +08:00 支持,但是坑比较多。。插件没有比较权威的 | 
|  |      3idblife OP @pmispig  我们是自己搞了一套分布式服务化框架,java 工程直接获取网卡 ip 去 zookeeper 注册,获取到的 pod ip 从集群外无法连接,郁闷 | 
|      6vakara      2020-06-30 15:06:18 +08:00 via Android 可以去看看 macvlan, 就可以和主机一样对外提供访问了。 | 
|      8Illusionary      2020-06-30 15:11:25 +08:00 @idblife 你这个需求太简单了,在公司路由加几条规则就可以做到办公网络直通 k8s pod 段 ip,我们公司就是这么弄的,开发环境的 k8s 集群搭在公司机房,办公网络的电脑可以直接访问 k8s 内部的 172.30.x.x 的 pod 网段 | 
|  |      9rrfeng      2020-06-30 15:18:12 +08:00 支持。 | 
|  |      10pmispig      2020-06-30 15:55:50 +08:00 @Illusionary 应该要有一个 nat 网关吧? | 
|  |      11NoobPhper      2020-06-30 17:10:37 +08:00 HostNetwork: true | 
|      12yitiaoxiaoxi      2020-06-30 17:18:23 +08:00 这样会不会有问题,pod 的 ip 会变化 | 
|  |      13monkeyWie      2020-06-30 17:45:05 +08:00 为啥不用 NodePort service 暴露出去 | 
|  |      14pepesii      2020-06-30 17:54:00 +08:00 可以用 hostport 不呢 | 
|      15optional      2020-06-30 18:16:26 +08:00 via iPhone nat 过去是最简单的 | 
|      16joesonw      2020-06-30 18:32:27 +08:00 如果是开发环境的话, 可以试试 metallb, 支持从 DHCP 拿 IP 作为 Service IP | 
|  |      17idblife OP @Illusionary  不是路由加几条规则就能搞定的吧 | 
|  |      20idblife OP @NoobPhper  需要相同端口的两个应用程序不能在同一节点上运行。当群集上运行的应用程序数量增加时,这可能会导致端口冲突。由于这些原因,主机网络不是使您的应用程序可以从群集外部访问的好方法。 | 
|  |      21awhane      2020-06-30 19:18:34 +08:00 你这个常规需求,只需 pod 和集群外网络互通即可。然后注意下容器实例停止清理注册中心心跳数据就行。 | 
|  |      23awhane      2020-06-30 21:54:45 +08:00 @idblife 拿容器 ip 你具体有什么困难呢?我看 java 拿本地 ip 的实现就是通过 /etc/hosts hostname 拿解析的 IP(容器 IP),拿到了然后注册到服务治理,外部访问即可。 | 
|  |      24cheng6563      2020-06-30 22:06:51 +08:00 via Android 我司是 network:host 了 | 
|  |      25defunct9      2020-07-01 06:13:58 +08:00 via iPhone 网络是个很复杂的问题。 建议直接 lxc,桥接。我们就是这么干的 | 
|  |      28awhane      2020-07-01 11:13:00 +08:00 @idblife 如果你说的容器 ip 不是 127.0.0.1 地址。看你注册中心是包含了 k8s 实例和非 k8s 实例,要想互相访问就需要打通了,开源社区 underlay Calico Bgp 和外部交换机学习路由,或者外部静态路由分发到 k8s 某个节点都行。 | 
|  |      29idblife OP @awhane  准备通过 multus-cni 添加 macvlan,给 docker 容器里再加一块单独网卡用作跨集群通信 |