networking - 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
谢谢你。
解决方案
在执行 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
网络上的工作节点可以使用新生成的加入命令加入主节点。
推荐阅读
- python - python构造结构无效的DWORDLONG值
- docker - 在同一个 Docker 镜像中使用 Docker 和 Cypress
- unix - 有没有办法我们可以连接 mulesoft 和 unix 从 unix 服务器检索文件并通过电子邮件发送
- php - 为什么 PHP 不能将 PHP_INT_MIN 中的数字序列识别为整数
- html - 如何在内部 CSS 中设置 div 的样式
- ruby-on-rails - 带有子记录的 act_as_tenant
- arrays - MongoDB 将组对象转换为 key:value (_id:count) 对象
- reactjs - 盖茨比通配符路线
- loops - 在 ansible 中连接变量以将它们作为 helm 标志传递给部署
- python - 填充一个空列