2.2 kubeadm方式搭建Kubernetes集群
kubeadm是官方社区推出的一个用于快速部署Kubernetes集群的工具,这个工具能通过两条指令完成一个Kubernetes集群的部署:
-
创建一个Master节点,在Master节点中使用kubeadm init命令初始化
#kubeadm init
-
将node节点加入到当前集群中,在node节点中使用join命令将其加入到当前的Master节点
$ kubeadm join <Master 节点的IP和端口>
2.2.1 操作系统初始化
首先我们先来介绍一下准备工作
1.安装要求
在开始之前,部署Kubernetes集群机器需要满足一下几个条件:
- 一台或多台机器,操作系统 CentOS7.x-86,x-64
- 硬件配置:2G或更多RAM,2核CPU或更多,硬盘30G或更多
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像,因为我们需要到外网去下载镜像,如果不能访问外网需要手动先把镜像下载到库里面,然后从本地库拉取下来。
- 禁止swap分区,如果不禁止部署过程中会报错
2.系统初始化
以下的操作需要在每台机器上都进行操作
- 安装三台虚拟机,安装操作系统CentOS7.x
- 对三个安装之后的操作系统进行初始化操作
# 关闭防火墙
systemctl stop firewalld //临时关闭防火墙
systemctl disable firewalld //永久关闭防火墙
# 关闭selinux //如果不关闭做集群搭建会有问题
sed -i 's/enforcing/disable/' /etc/selinux/config #永久关闭
setenforce 0 #临时关闭
# 关闭swap分区
swapoff -a #临时
sed -ri 's/."swap."/#&/' /etc/fstab #永久
# 根据规划设置主机名 //为了后面操作方便对每台系统定一个主机名称
hostnamectl set-hostname <hostname> #设置主机名
hostname #查看当前主机名称
# 在Master节点上添加hosts
# 注意一:在Master节点上添加,在别的节点上不执行
# 注意二:这里添加hosts要对应自己的IP以及自己设置的主机名称进行添加
cat >> /etc/hosts <<EOF
192.168.184.136 k8s-master
192.168.184.137 k8s-node1
192.168.184.138 k8s-node2
192.168.184.138 k8s-node3
EOF
# 将桥接的IPV4流量传递到iptables的链
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables =1
net.bridge.bridge-nf-call-iptables=1
EOF
# 时间同步 使时间跟当前Windows一样,或者让节点系统时间都相同
yum install ntpdate -y #安装时间同步插件
ntpdate time.windows.com #与Windows系统时间同步
经过以上操作就完成了系统的初始化操作,下一步就要在所有的节点上都安装docker、kubeadm、kubelet、kubectl