K8S部署之VMWare网络拓扑踩坑

知乎上最近发现一篇好文 图解K8S(01):基于Ubuntu 20.04部署1.23版K8S集群,想着之前 K8S 部署一直不成功,那么就照着这篇文章中说的试一试。结果在实验时遇到了 VMWare 虚拟网卡和虚拟网络的坑,经过仔细研究和查找资料终于大致得到解决,所以就通过这篇文章记录一下,给自己也是给后来人提个醒。

VMWare 虚拟网络

VMWare 安装完成之后会安装两个虚拟网卡,分别是 vmnet1 和 vmnet8,前者用于 Host-Only 网络模式,后者用于 NAT 网络模式。本文主要关注 vmnet8 的配置。

打开 VMware,通过”编辑”菜单下的”虚拟网络编辑器”打开”虚拟网络编辑器”对话框。可以看到 VMnet8 用于 NAT 模式,同时可以设置该网卡的NAT选项和DHCP选项。

根据文章的描述,将VMnet8的子网IP修改为 172.20.20.0,子网掩码为 255.255.255.0。单击”NAT设置”,将网关IP改为 172.20.20.1。单击”DHCP设置”,将IP地址池范围改为 172.20.20.2172.20.20.254。保存设置并安装 Ubuntu Server 20.04。

安装 Ubuntu Server 20.04 时遇到的网络问题

安装Ubuntu Server 20.04 的时候发现,无论设置为DHCP还是设置静态IP,均无法连接到软件库镜像。一开始以为是DNS问题,将DNS设置为公网DNS 223.5.5.5,无效。后来发现无法Ping通网关 172.20.20.1。通过网络搜索无果,反复确认 /etc/netplan/00-installer-config.yaml 文件的配置没有错误。由于无法连接外网,因此无法在服务器上安装任何软件。

紧接着发现原来安装的Windows虚拟机也出现了无法上网的现象,说明和Ubuntu系统无关,是虚拟网络的问题。

解决方法和解释

经过搜索以后,终于发现问题原因了:在宿主机的网络适配器选项里,找到VMware Virtual Ethernet Adapter for VMnet8,检查IPv4设置,发现它的IP地址为 172.20.20.1,刚好和VMWare设置的网关一致。本来一直以为是宿主机本身通过VMnet8网卡充当网关的角色,但其实不是这样,宿主机的VMnet8网卡只是用于和虚拟机通信,而它们需要通过另一个网关地址来交换数据。因此,如果将网关地址设置为和宿主机VMnet8一样,那么相当于把网络中的一台主机当成了网关,自然无法访问外网。

解决方法也很简单,把VMWare中VMnet8的网关地址改为 172.20.20.2,DHCP地址池也做相应调整即可。重启虚拟机后发现网络连接问题解决。

VMware的VMnet8虚拟网卡本身起到了网关的作用,而并非原来理解的宿主机作为网关。因此,如果把网关地址填成了宿主机的地址,就会出现找不到网关的错误,也会使得虚拟机无法访问外网。

Original: https://www.cnblogs.com/ryuasuka/p/15817426.html
Author: 飞鸟_Asuka
Title: K8S部署之VMWare网络拓扑踩坑

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609594/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • JPA作持久层操作

    JPA(Hibernate是jpa的实现) jpa是对实体类操作,从而通过封装好的接口直接设置数据库的表结构。虽然jpa可以直接通过编写java代码来操作数据库表结构,避免了sql…

    Linux 2023年6月7日
    0114
  • .Net中Aspose组件调试技巧

    | 0.48分钟 | 774.4字符 | 1、引言&背景 2、水印或截断问题解决 3、即时调试的技巧 4、声明与参考资料 | SCscHero | 2022/6/4 PM2…

    Linux 2023年6月13日
    073
  • 【文件格式探究】EP.1 对ePub文件格式的初探

    这是”文件格式探究”专题的第 1 期——初探 “ePub” 文件格式。这个专题将会给各位读者呈现笔者探索各种文件格式的过程,具体则是…

    Linux 2023年6月13日
    0167
  • 刨析一下C++构造析构函数能不能声明为虚函数的背后机理?

    先说结论: 构造函数不能声…

    Linux 2023年6月6日
    086
  • 如何验收安卓PCBA主板的质量和性能

    .版本:v0.1作者:河东西望日期:2022-7-15. 对很多安卓智能设备厂商来说,他们的通用开发模式一般是:ODM/OEM设计开发主板PCBA(包括BSP驱动、原生AOSP系统…

    Linux 2023年6月7日
    097
  • (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目

    相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下…

    Linux 2023年6月6日
    0123
  • Mac远程windows工具

    现在很多小伙伴都是使用MAC系统,但在工作中或多或少会遇到需要远程windows的情况,今天给大家安利一款软件,让你轻轻松松远程windows Microsoft Remote D…

    Linux 2023年6月7日
    085
  • 聊聊简单又灵活的权限设计(RBAC)

    你:我看完能知道个啥?我:也就以下两点吧一. 了解基于 RBAC 思路的表设计二. 表数据在实际开发场景中是如何使用的你:我觉得那应该还有点干货吧我:我不要你觉得,我要我觉得 (͡…

    Linux 2023年6月14日
    091
  • windows下redis配置密码

    redis安装后目录如下: 最简单的启动方式是直接双击redis-server.exe 这样启动会有个问题,一旦你把命令行窗口关闭 redis也会被关闭,所以我们需要把它注册成服务…

    Linux 2023年5月28日
    086
  • 单例模式也能玩出花

    一、单例模式 (1)单例模式 (2)单例模式实现要点 (3)使用场景当频繁创建、销毁某个对象时,可以考虑单例模式。当创建对象消耗资源过多时,但又经常使用时,可以考虑单例模式。 (1…

    Linux 2023年6月14日
    081
  • 解决 Docker Push Skipped foreign layer 的错误

    引言当Docker推送基于Windows镜像到私有仓库的时候会遇到 Skipped foreign layer的问题。 docker push 192.168.2.30:5000/…

    Linux 2023年6月14日
    099
  • python 正则匹配

    正则匹配 现公司要开发一个业务管理系统,要求注册环节的密码需要提示用户其安全等级,密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分;此外,密码的组成可以由字母,数字,…

    Linux 2023年6月8日
    087
  • Java引用类型

    1 强引用 当我们使用new创建对象时,被创建的对象就是强引用。只要有强引用,GC 永远不会回收掉该对象。 Map map = new HashMap(); 2 软引用 如果一个对…

    Linux 2023年6月7日
    096
  • WEB自动化-03-Cypress 测试框架概述

    3 Cypress 测试框架概述 3.1 Cypress 默认文件结构 在Cypress安装完成后,其生成的默认文件目录如下所示: 3.1.1 Fixtures Fixture又称…

    Linux 2023年6月7日
    0101
  • 前端以BASE64码的形式上传图片

    一直有一个很苦恼的问题困扰着铁柱兄,每次上传图片的时候前端要写一大堆js,然后后台也要写一堆java代码做处理。于是就在想,有没有简单又方便的方法把图片上传。今天算是搞定了。现在发…

    Linux 2023年6月13日
    075
  • Spring中如何使用自定义注解搭配@Import引入内外部配置并完成某一功能的启用

    有些网站第一时间爬取了我的原创文章,并且没有注明出处,不得已在这里加上说明。 文章背景 有一个封装 RocketMq 的 client 的需求,用来提供给各项目收、发消息,但是项目…

    Linux 2023年6月6日
    0104
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球