手把手从零搭建 k8s 集群系列(一)搭建虚拟机集群
虚拟机集群搭建
我们需要搭建4服务器,2台master,2台worker,分别为:
k8s-master01 11.0.1.10
k8s-master02 11.0.1.11
k8s-master03 11.0.1.12 # 后边加的,灾备切换
k8s-node01 11.0.1.20
k8s-node02 11.0.1.21
1.2 设置网络
13.调整虚拟机为静态IP
进入目录 /etc/sysconfig/network-scripts
目录,编辑文件 ifcfg-ens33
文件
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="097adb7a-0b25-4841-abb8-0f54adfd0621"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=11.0.1.10
NETMASK=255.255.255.0
GATEWAY=11.0.1.2
DNS1=114.114.114.114
DNS2=8.8.8.8
重启network
systemctl restart network
14.复制虚拟机,调整ip
复制3台虚拟机,修改ip分别为:
k8s-master02 11.0.1.11
k8s-node01 11.0.1.20
k8s-node02 11.0.1.21
简单写一台机器克隆过程
右键k8s-master01虚拟机,点击创建完整克隆,输入新虚拟机名字k8s-master02
启动虚拟机 k8s-master02
,修改 /etc/sysconfig/network-scripts
,编辑ifcfg-ens33
文件执行命令
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="097adb7a-0b25-4841-abb8-0f54adfd0621"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=11.0.1.11
NETMASK=255.255.255.0
GATEWAY=11.0.1.2
DNS1=114.114.114.114
DNS2=8.8.8.8
保存后执行命令:
systemctl restart network
执行命令 ip addr
,发现ip已经被修改了
ping www.baidu.com
发现可以正常上网
至此 k8s-master02
虚拟机搭建成功,看看是否和 k8s-master01
连通,执行命令:
[root@localhost network-scripts]# ping 11.0.1.10
PING 11.0.1.10 (11.0.1.10) 56(84) bytes of data.
64 bytes from 11.0.1.10: icmp_seq=1 ttl=64 time=0.846 ms
64 bytes from 11.0.1.10: icmp_seq=2 ttl=64 time=0.876 ms
64 bytes from 11.0.1.10: icmp_seq=3 ttl=64 time=0.717 ms
64 bytes from 11.0.1.10: icmp_seq=4 ttl=64 time=0.638 ms
64 bytes from 11.0.1.10: icmp_seq=5 ttl=64 time=0.532 ms
发现可以正常ping通
然后搭建k8s-node01、k8s-node02节点,至此4台虚拟机搭建完成。
设置hostname
有时登录某台服务器总是使用ip比较繁琐,比如 ssh root@11.0.1.10
,因此我们可以设置虚拟机的hostname,并改写虚拟机的 /etc/hosts
文件来达到使用ssh root@k8s-master01
的目的
在4台服务器上分别执行命令
hostnamectl set-hostname 主机名
比如
hostnamectl set-hostname k8s-master
然后执行以下命令,查看是否修改成功
cat /etc/hostname
在k8s-master服务编辑 /etc/hosts文件:vi /etc/hosts,添加一下内容
11.0.1.10 k8s-master01
11.0.1.11 k8s-master02
11.0.1.20 k8s-node01
11.0.1.21 k8s-node02
将hosts文件拷贝到其他虚拟机中
scp -r /etc/hosts root@11.0.1.10:/etc/
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)