一、配置独立ip的环境
前面研究了k8s的组件,核心概念,网络模型,都了解了一遍,现在就要进入实战了,摆在面前的一座大山,必须克服才行---虚拟机搭建,及网络环境配置。
先说说本文的运行环境:
- mac笔记本
- 虚拟机使用的是Parallels
- 虚拟机镜像:使用的是CentOS-7-x86_64-DVD-2009.iso
具体使用的版本号如下:
要达成的目标是
- 宿主机和虚拟机网络能够互通
- 宿主机连接外网,虚拟机也能够访问外网
- 虚拟机ip固定
说说为什么虚拟机ip要固定,应为在配置k8s网络的时候,经常要用到ip地址,我们通常也是在宿主机通过iterm链接到虚拟机,如果虚拟机的ip总是变,那可就麻烦了。可笔记本链接wifi网络地址就是经常变化的,从单位到家,ip地址肯定会变,对应的虚拟机地址也会发生变化,这样的话,我们就要经常去查询虚拟机的ip,然后变更网络配置,这个事情很无语,很机械,很讨厌。所以,配置静态ip,势在必行。
二、安装虚拟机
这里就不说了,虚拟机安装很简单,这里使用了PD Runner,可以优雅的避开Parallels已过期的问题。有不懂的,可以单独咨询我。
三、网络配置
首先我们来看看我们要做的事情,通过下图来感受一下:
一共有以下几件事:
- 宿主机和虚拟机可以通过内外网互相访问。
- 宿主机联网的情况下,虚拟机可以通过宿主机连接外部网络
- 还有一个就是为了后续方便使用,我们给虚拟机设置静态ip。
下面来看看如何操作。
第一步:在mac端查看IP地址等相关信息。
通过系统偏好设置-->网络-->wi-fi-->高级-->TCP/IP
在通过DNS查看DNS设置,有两个
记录好上面的配置信息,后面会用到
第二步:设置虚拟机共享网络
这里设置的是Parallels虚拟机(全局)的网络配置。
点击Parallels虚拟机-->偏好设置--> 网络-->Shared模式
在这里我们取消勾选<启用IPv4 DHCP>
为什么要取消呢?
Shared模式让我们的虚拟机与mac共享外网,
可是,如果使用dhcp方式获取ip的话,虚拟机中的ip就不固定了,下次开机可能就会换ip,每次都要查看新的ip才能连接虚拟机。我们要做的就是把虚拟机的ip设置为固定ip。
没有勾选该选项,依然要填写地址池,因为我们是在借助nat的方式,虚拟机中所配置的ip地址必须要属于此ip地址范围。
第三步:配置指定centetos虚拟机网络
这里设置的是具体的某一个centos虚拟机的网络。
右击要修改的centos虚拟机-->偏好设置-->选择网络--> source源选择共享网络。此设置是在虚拟机关机的情况下设置,开机设置不生效,需要重启。
source源选择为Shared Network,也就是将虚拟机的网卡绑定到此Shared Network,Shared Network就是第二步中设置的连接方式Shared,这样虚拟机便可与mac共享网络。
第四步:设置虚拟机固定ip
启动虚拟机,进行虚拟机固定ip设置。
在执行这一步操作的时候需要系统管理员权限
su root
在输入密码即可
编辑网卡配置文件,我这里的网卡配置文件是ifcfg-eth0,具体以大家实际的为主。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改配置内容如下
DEVICE="eth0"
IPV6INIT="yes"
#BOOTPROTO="dhcp"
BOOTPROTO="static"
UUID="9f88d469-0341-4603-80c7-2c6fd6bb499e"
ONBOOT="yes"
PREFIX=24
IPADDR=10.**.55.200
GATEWAY=10.**.55.1
NETMASK=255.255.255.0
DNS1=10.**.55.0
DNS2=10.**.55.1
- BOOTPROTO的值设置为static,表示静态ip,也可以写成none
- IPADDR:固定的ip地址,尽量不要和其他人的ip地址重复,且需要在第二步设置的起始地址和结束地址范围内。
- GATEWAY:通常前三组数和ip地址是一样的,最后一个是1
主要注意的是GATEWAY网关,这里配置的是10.**.55.1,为什么设置为这个值呢?
因为我们并不是把mac当成Ip数据报文转发路由器,而是当成nat路由器,当采用nat方式为虚拟机提供网络服务时,Parallels会单独为虚拟机生成一个网关地址,这通常是地址池(第二步的起始地址和结束地址) 中的第1个ip, 第二步的起始地址是10.**.55.1 ,所以,网关地址就设置为这个。而虚拟机的ip地址是从地址池中的第2个ip开始的,即10.#.55.2。这是涉及到网络的知识,不懂网络的话您就照着这个写。
- NETMASK:子网掩码和第二步设置的子网掩码一致
- DNS1:通常是ip地址的最后以为改为0或1
我们在网卡配置文件中已经设置好了GATEWAY是10.#.55.1,这是虚拟机上网的关键,可以用ip r命令验证一下路由表
重启网络
systemctl restart network
第五步:测试内外网访问
通过ifconfig查询内外网,然后在宿主机和虚拟机之间互相访问,都能ping通就没问题
对于外网,在宿主机联网的情况想,在虚拟机ping www.baidu.com,也能ping通,就ok没问题了。
四、写在最后
我们在配置网络的第二步中取消勾选<启用IPv4 DHCP>选项了,那如果我们勾选上会怎么样呢?其实没有关系,因为在虚拟机网卡配置中我们设置了是static的,所以即便这时候勾选上了<启用IPv4 DHCP>选项,也没有关系了。
资料:https://blog.csdn.net/u014157109/article/details/101869118?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2aggregatepagefirst_rank_ecpm_v1~rank_v31_ecpm-5-101869118.pc_agg_new_rank&utm_term=desktop+nat%E6%A8%A1%E5%BC%8F%E9%85%8D%E7%BD%AE%E9%9D%99%E6%80%81ip+parallels&spm=1000.2123.3001.4430