• 安装部署
  • kk最新版本支持集群开启IPV6/IPV4双栈吗?

24sama 你好,现在kubeadm应该是支持IPv6的,KK有什么方法可以开启吗?如果需要修改KK源码,大概需要修改哪些?

    tttt
    kk暂时不支持。应该在kk生成kubeadm配置文件的地方加上ipv6双栈的配置就可以了,也欢迎修改了kk源码之后提交pr反哺社区。

    • tttt 回复了此帖

      24sama 网络插件calico的配置也需要修改么?麻烦指导一下

        tttt
        可以使用kk addons 来自定义部署任意配置的网络插件。这样就不用修改kk内置的网络插件。

        • tttt 回复了此帖

          24sama 修改kubeadm生成的配置文件,可以在哪里配置ipv6的双栈配置?

            24sama 这里有一个不懂的地方请教一下,最下面一行的kubeletExtraArgs中的node-ip中指定的是执行init的Master节点的ipv4和ipv6地址么?看现在kk生成的这个部分只有cgroup-driver: systemd,要开始双栈,这里必须配置node-ip为2个地址吗?

            ---
            apiVersion: kubeadm.k8s.io/v1beta3
            kind: ClusterConfiguration
            networking:
              podSubnet: 10.244.0.0/16,2001:db8:42:0::/56
              serviceSubnet: 10.96.0.0/16,2001:db8:42:1::/112
            ---
            apiVersion: kubeadm.k8s.io/v1beta3
            kind: InitConfiguration
            localAPIEndpoint:
              advertiseAddress: "10.100.0.1"
              bindPort: 6443
            nodeRegistration:
              kubeletExtraArgs:
                node-ip: 10.100.0.2,fd00:1:2:3::2

              24sama 这样的话,在指定配置文件的host中是不是就不仅要录入主机的ipv4的地址,也需要ipv6的地址了?

                24sama 好的,谢谢,我研究下,第一次接触,谢谢你的帮助

                24sama

                你好,我按照链接做了之后,使用下面网址中提供的验证方法,发现节点地址块已经拿到,但是节点是否检测到 IPv4 和 IPv6 接口时只有IPv4的地址,这可能是什么原因呢?主机也有IPv6地址

                https://kubernetes.io/zh/docs/tasks/network/validate-dual-stack/

                kubeadm-config.yaml中也添加了node-ip部分

                  tttt
                  不是很清楚你具体执行的流程。看你的图片显示的是JoinConfiguration,所以盲猜你是在一个原来未开启双栈的集群中添加一个配置了双栈的新节点,所以这个可能是导致问题的原因。

                  • tttt 回复了此帖

                    24sama

                    初始集群的时候时这样的,应该也是开启了双栈

                    按照这种方式部署,开启了IPv6之后,发现通过IPv6的Service IP访问,当轮询到本节点上的pod时可以通,但是轮询到跨节点时无法访问通;但是直接访问Pod的IPv6地址,不管是本节点还是跨节点都可以访问通。这可能是是哪里的问题导致的?IPv4的ServiceIP和PodIP跨节点和不跨节点也都是通的,只有IPv6的Service IP跨节点时不通。

                      tttt 这个问题解决了,是kubelet启动参数中有个node-ip,需要同时指定ipv4、ipv6地址