首页 > 解决方案 > Kubernetes 网络问题桥接适配器

问题描述

我正在建立一个多节点、多硬件服务器 Kubernetes 集群。我正在使用 Calico 和 Kubeadm。

因此,我尝试在 VMS 中使用桥接适配器,以允许使用混杂模式和静态 IP 地址通过网络访问远程服务器。

问题是创建虚拟机时,我无法对其进行 ping 操作

我曾经初始化 kubeadm:

kubeadm init --apiserver-advertise-address="192.168.2.50" --apiserver-cert-extra-sans="192.168.2.50" --node-name master --pod-network-cidr=192.168.0.0/16

我在问是否有额外的网络配置可以成功 ping 虚拟机。

这是我在 vagrantfile 中使用的代码:

      s.vm.provider "virtualbox" do |v|

        v.name = vM_NAME
        v.customize ['modifyvm', :id, '--nictype3', 'Am79C973']
        v.customize ['modifyvm', :id, '--nicpromisc3', 'allow-all']
        v.memory = 2048
        v.gui = false

      end

      s.vm.network "private_network", ip: "192.168.2.#{i + m - 1}",# netmask: "255.255.255.0",

      auto_config: true,
      virtualbox__intnet: "k8s-net"


      s.vm.network "public_network", bridge: "Intel(R) Ethernet Connection I217-LM", ip: "192.168.2.#{i + m -1}",# netmask: "255.255.255.0",

      auto_config: true

谢谢你。

标签: networkingvagrantkubeadm

解决方案


在执行 kubeadm init 时,添加 PUBLIC IP 和 PORT 作为--control-plane-endpoint参数的一部分。

sudo kubeadm init --apiserver-advertise-address=x.x.x.x --apiserver-cert-extra-sans=x.x.x.x **--control-plane-endpoint=y.y.y.y** --node-name master --pod-network-cidr=z.z.z.z/16

网络上的工作节点可以使用新生成的加入命令加入主节点。


推荐阅读