【发布时间】:2019-10-19 08:36:22
【问题描述】:
我正在使用NAT 适配器 和仅主机适配器 使用VirtualBox 作为VM 驱动程序来设置minikube。创建 VM 后,我运行了几个 pod,其中之一是 Kafka(消息队列)。我在正确使用 Kafka 时遇到问题,因为 VM 创建了 2 个网络接口 eth0,它们指向 10.0.2.15 和 eth1,它们指向 192.168.99.100,这是设置仅主机适配器的 IP。
我在 Mac 上运行它,所以我尝试改用 HyperKit,它的工作方式似乎有所不同。因此,当使用 HyperKit 时,我得到一个接口 eth0,它指向 192.168.99.100,一切正常。
VirtualBox为什么要创建两个接口,即eth0和eth1?
| Host | | VM |
|--------------------------| |-----------------------|
| vboxnet0 (192.168.99.100)| | eth0 (10.0.2.15) | <--- why is this created?
| ... | | eth1 (192.168.99.100) |
附带说明,Kafka 在侦听器设置中使用PLAINTEXT://:9092,这使得它使用eth0 启动服务器,结果是10.0.2.15。这个 IP 稍后会被通告给任何连接到它的消费者。此 IP 似乎只能在 VM 内访问,这使得无法从外部连接,例如主人。准确地说,消费者连接到 Kafka,然后 Kafka 发送通告的侦听器,即 10.0.2.15,然后它无法发送任何消息,因为它试图连接到 10.0.2.15。
【问题讨论】:
标签: kubernetes virtualbox minikube