Kubernetes集群搭建前篇(一)
一、前言
最近在学习Kubernetes,看了挺多知识点,从 Kubernetes中文社区 一个个慢慢开始看,但是一直没有动手去搭一个集群,最近几天成功搭建起来了,也遇到一些问题,所以想着记录下来。
B站找了下视频看,也在博客看了一些大牛写的,坑还是比较少。
二、基本概念
基本概念就先不说了哈,网上大牛写的好文好多好多,以及Kubernetes中文文档都是好东西,如果哪天有兴趣我把也这些写写
三、集群安装
最近用的是kubeadm安装,也是刚接触不久,就先这样,等学会了再学学二进制安装。
搭建单个Master节点和两个Node节点,实现集群
1.1、部署环境
电脑内存配置是16G的,勉强跑得起来。使用Centos7(CentOS-7-x86_64-DVD-1908.iso,这个是以前下载的,就用它了),VMware用来安装3个虚拟机,VMware的版本是14.0
1.2、搭建环境
1、搭建一个Master虚拟机,其他两个也是一样,分配4G内存,4个处理器,硬盘分配了100G,使用NAT模式的网卡,时区选择亚洲/上海
接下来我们需要编辑一下【虚拟网络编辑器】配置参数,以便3个虚拟机能访问外网并且互相ping通
我们因为使用的是NAT模式,所以我们需要去看NAT模式对应的VMnet8
现在的配置如上图,记住这里的子网IP,待会需要用到192.168.81.0这个网段,在点击NAT设置看看里面的信息,看到了更详细的信息:
子网IP:192.168.81.0,所以我的3个节点分别设置了192.168.81.150(Master),192.168.81.160(Node01),192.168.81.161(Node02)
子网掩码:255.255.255.0
网关IP:192.168.81.2
好了,安装结束了,开始看代码
2、开始代码
设置主机名称
hostnamectl set-hostname k8s-master01 # 主节点 hostnamectl set-hostname k8s-node01 # node01上运行 hostnamectl set-hostname k8s-node02 # node02上运行
设置IP地址,就我们上面讲到的NAT模式如何设置
[root@k8s-master01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 配置IP地址和网关
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 需要改为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=3180bf7c-62ea-4d99-9af2-7789363584b5
DEVICE=ens33
ONBOOT=yes # 设置为yes
IPADDR=192.168.81.150 # 网段是192.168.81.0,所以Master的IP地址设为192.168.81.150,另外的Node节点我设置了160和161
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.81.2 # 网关要设置跟上面的NAT模式截图的一样,也就是192.168.81.2,不然访问不了外网
DNS1=114.114.114.114 # 电信dns
重启一下网络
service network restart
接下来ping一下其他的node节点和百度试试看吧,也是可以ping通啦
[root@k8s-master01 ~]# ping 192.168.81.160 [root@k8s-master01 ~]# ping www.baidu.com
接下来使用xshell或者其他工具来使用,更方便点,我用的是MobaXterm
添加主机与主机之间的映射关系
[root@k8s-master01 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.66.10 k8s-master01 192.168.66.20 k8s-node01 192.168.66.21 k8s-node02
同时,其他两个Node节点也需要这份文件,所以,就拷贝过去
[root@k8s-master01 ~]scp /etc/hosts root@k8s-node01:/etc/hosts
[root@k8s-master01 ~]scp /etc/hosts root@k8s-node02:/etc/hosts
到这里,我们1个Master节点和2个Node节点就都互通了,下篇见吧
四、其他
如果重启电脑,可能会遇到虚拟机无法访问外网的情况,这种情况就重新移除NAT模式的网络,然后新建一个就ok啦,如果新建的IP和网关与你Linux主机配置的不一样,也要改成一致,见下图: