背景

知乎上最近发现一篇好文 图解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虚拟网卡本身起到了网关的作用,而并非原来理解的宿主机作为网关。因此,如果把网关地址填成了宿主机的地址,就会出现找不到网关的错误,也会使得虚拟机无法访问外网。

K8S部署之VMWare网络拓扑踩坑的更多相关文章

  1. Linux下部署MySQL,大小写敏感踩坑记录

    今天在将开发环境中的门户数据库复制到新环境后,使用SqlSugar的ORM框架进行数据库操作的时候,出现了主键找不到的现象.排查了很久终于发现了关键点.特此记录. 1.开发环境:    操作系统:CE ...

  2. DotNetCore部署(IIS)踩坑记

    一.windows系统中Dotnet core runtime 安装后,无法启动次程序,因为计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的解决方法 错误现象如图 因为 ...

  3. 用户数从 0 到亿,我的 K8s 踩坑血泪史

    作者 | 平名 阿里服务端开发技术专家 导读:容器服务 Kubernetes 是目前炙手可热的云原生基础设施,作者过去一年上线了一个用户数极速增长的应用:该应用一个月内日活用户从零至四千万,用户数从零 ...

  4. IdentityServer 部署踩坑记

    IdentityServer 部署踩坑记 Intro 周末终于部署了 IdentityServer 以及 IdentityServerAdmin 项目,踩了几个坑,在此记录分享一下. 部署架构 项目是 ...

  5. 【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历

    2013年给1个大学的小客户部署过一个小型的Asp.NET网站,非常小,用的sqlite数据库,今年人家说要换台服务器,要重新部署一下,好吧,虽然早就过了服务时间,但无奈谁叫人家是客户了,二话不说,上 ...

  6. github webhook 实现代码自动部署 踩坑!! 附加git&coding webhook部署代码

    踩坑: 1.php程序执行linux命令是以webserver的user用户(如apache .www……)操作的,需要在/etc/sudoers添加用户免密码操作权限; %apache ALL=(A ...

  7. k8s踩坑记第1篇--rc无法创建

    六一快乐!!! 什么是k8s,我不想解释,百度资料有很多,本系列只踩坑,不科普. 问题描述: 做Hello World的例子,结果get pods一直显示没有资源? 应用配置代码: apiVersio ...

  8. Mac系统STF自动化环境搭建及部署踩坑记录

    因为公司需要寻找一个免root的自动化测试方案,所以以前做的老方案需要被替代.一阵搜寻找到了这个框架,但是部署起来很是折腾,搞了一下午终于搞定,顺便记录一下过程,有需要的自取. 转载请注明出处:htt ...

  9. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  10. vuePress自动部署到Github Page脚本踩坑

    背景 照着官网的教程来就行了,踩了个小坑,记录一下,希望对你有帮助 这是部署后的效果 小坑1 如图所示,官网推荐部署命令 然而windows 没有bash 指令, 直接运行报错 两个解决方法: 项目根 ...

随机推荐

  1. LightOJ 1094

    题意:就是求一个树的直径,也就是求任意两点的最大距离. 做法:跑两遍DFS,详见代码. #include<iostream> #include<cstdio> #include ...

  2. maven总结一: 常用命令

    本文为博主原创,未经允许不得转载: maven常用命令: 1. mvn clean  maven清理 2. mvn compile  maven 编译 3. mvn package maven 打包 ...

  3. 如何在 Photoshop 中制作 GIF 动画

    您可能已经使用过一些在线 gif 生成器来快速生成 gif 图像,但这些在线生成器无法提供与 Photoshop 相同的灵活性和结果. gif 就像您可以在 Photoshop 中创建的迷你动画.当你 ...

  4. FinalShell上传文件失败

    1.问题 上传文件失败,如图所示,即使切换至root用户 2.解决方式 这里在建立SSH连接时,就必须使用root用户,而若使用普通用户,即使在其中切换至root用户,也无法上传. 所以重新建立一个r ...

  5. 0xGame 2023【WEEK3】Crypto WP

    EzECC 1.题目信息 还在偷听小爱和小爆的通讯! Hint 1: 也许SageMath能给你想要的东西 Hint 2: 预期解法时间估计可能一两分钟左右,可能更短 Hint 3: 阿贝尔群上的加加 ...

  6. [转帖]SQL SERVER中隐式转换的一些细节浅析

    https://www.cnblogs.com/kerrycode/p/5853257.html 其实这是一篇没有技术含量的文章,精通SQL优化的请绕道.这个缘起于在优化一个SQL过程中,同事问了我一 ...

  7. [转帖]Linux fsync和fdatasync系统调用实现分析(Ext4文件系统)

      转自:https://blog.csdn.net/luckyapple1028/article/details/61413724 在Linux系统中,对文件系统上文件的读写一般是通过页缓存(pag ...

  8. 阿里的AIGC数据库工具: Chat2DB的学习与使用

    阿里的AIGC数据库工具: Chat2DB的学习与使用 背景 今天陪家中老人去完医院后, 继续回来学习时发现 阿里巴巴的 chat2DB已经发布的 2.0.1的版本. 想着下载下来试试. 主要也是备忘 ...

  9. [转帖]jmeter_采样器sampler简介

    1.取样器介绍 取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据. 取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加. 取样器(Sampler)是性能测试中向服务器发送 ...

  10. [转帖]Web性能优化工具WebPageTest(一)——总览与配置

    https://www.cnblogs.com/strick/p/6677836.html 网站性能优化工具大致分为两类:综合类和RUM类(实时监控用户类),WebPageTest属于综合类. Web ...