首页 > 解决方案 > 如何将 VLAN 附加到 kubernetes pod?

问题描述

我有一个环境,我们有一个裸机服务器(服务器 1),其 NIC 配置为通过 VLAN 5 流量。

CentOS 部署在这台服务器上。现在我有一个 kubernetes pod,运行 DHCP 服务。

现在我在同一个 VLAN 5 上有另一台服务器(服务器 2),它必须从我上面提到的 DHCP 服务获取 IP。

当 DHCP 请求来自服务器 2 时,它将到达服务器 1,因为服务器 1 配置为通过 VLAN 5。

但是如何让这个请求到达我在 CentOS 上运行的 DHCP 服务 pod?我应该如何配置这个 pod 的网络?

标签: kuberneteskubernetes-podvlankubernetes-networkpolicykubernetes-networking

解决方案


如果我理解正确,您已经部署了一个 DHCP-Server Pod。

需要公开 DHCP 服务。现在看起来 Pod 还没有暴露。Kubernetes 中有一个Service的概念,它是一种将运行在一组 Pod 上的应用程序公开为网络服务的抽象方式。

有不同类型的服务。其中之一是NodePort

NodePort:在静态端口(NodePort)上公开每个节点 IP 上的服务。自动创建 NodePort 服务路由到的 ClusterIP 服务。您可以通过请求从集群外部联系 NodePort 服务<NodeIP>:<NodePort>

需要注意的是,通常您只能使用端口 30000–32767(DHCP 协议不使用这些端口)。

这就是为什么需要将传入的 DHCP 请求从端口 67 重新路由到 NodePort 服务使用的端口(例如iptables 重定向)。

希望有帮助。


推荐阅读