kubernetes - 在使用kubenet和双栈的k8s1.16中,如何配置为在另一个节点上ping cbr0 gw?

标签 kubernetes ipv6 cni

我安装了带有两个节点的kubernetes v1.16集群,并在this guide之后启用了“IPv4 / IPv6 dual-stack”。对于“双栈”,我将--network-plugin=kubenet设置为kubelet。

现在,这些Pod具有ipv4和ipv6地址,并且每个节点都有一个同时具有ipv4和ipv6地址的cbr0 gw。
但是,当我从一个节点ping到另一个节点的cbr0 gw时,它失败了。

我尝试手动添加路线,如下所示:
“ip路由通过[其他节点的IP地址]添加[其他节点的podCIDR]”

在两个节点上添加路由之后,可以使用ipv4 ping通cbr0 gw成功。
但是“手动添加路线”似乎不是正确的方法。

使用kubenet时,应如何配置从一个节点ping到另一个节点的cbr0 gw?

最佳答案

Kubenet是用于启用IPv6的requirement,正如您所述,kubenet有一些限制,我们可以阅读here:

Kubenet is a very basic, simple network plugin, on Linux only. It does not, of itself, implement more advanced features like cross-node networking or network policy. It is typically used together with a cloud provider that sets up routing rules for communication between nodes, or in single-node environments.



我想强调一点,kubenet不会自动为您创建路由。

根据这些信息,我们可以理解,在您的场景中,这是预期的行为,并且没有发生任何问题。
如果要继续朝这个方向前进,则需要手动创建路线。

请记住,这是一个Alpha功能(WIP),这一点很重要。

还需要做一些工作来引导Kubernetes cluster with Dual Stack using Kubeadm,但是它尚不可用,并且没有ETA。

this repository中提供了一些IPv6和双堆栈设置以及其他网络插件的示例,但是仍然需要手动添加路由。

This project serves two primary purposes: (i) study and validate ipv6 support in kubernetes and associated plugins (ii) provide a dev environment for implementing and testing additional functionality (e.g.dual-stack)

关于kubernetes - 在使用kubenet和双栈的k8s1.16中,如何配置为在另一个节点上ping cbr0 gw?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58626861/

相关文章:

kubernetes - 我如何确保在EKS上将Pod安排到每个Kubernetes节点之前对其进行注释?

kubernetes - 使用 Vagrant 设置 Kubernetes 时出错

kubernetes - 所有 Kubernetes 代理目标都关闭 - Prometheus Operator

kubernetes - Kubernetes 中如何让服务 TCP/UDP 端口可被外部访问?

kubernetes - kubectl cp 在运行 nvidia-docker 的节点上失败并显示 "tar: this does not look like a tar archive"

kubernetes - 允许使用 Istio CNI 插件从 init 容器向 Kubernetes API 发出请求

java - 我的 Websocket 需要很长时间才能连接

ios - 需要 iPv6 兼容性 - iOS 应用程序被苹果拒绝

proxy - 如何使用 ipv6 请求连接到 ipv4 主机?

kubernetes - apiserver 可以通过CNI 提供的网络连接到节点的Kubelet 端口吗?