配置要求
1、centos7
2、物理机配置:8G内存 + 16G虚拟内存,虚拟机配置要求:2G内存 1核cpu 硬盘20G,桥接网络
3、四台虚拟机 192.168.66.100(master1),192.168.66.103(master2),192.168.66.101(node1),192.168.66.102(node2)
一、 环境配置
1、关闭禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
2、关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config
3、关闭swap
sed -ri 's/.*swap.*/#&/' /etc/fstab
4、设置各主机名方便区分
hostnamectl set-hostname k8s-master1
hostnamectl set-hostname k8s-master2
hostnamectl set-hostname k8s-node1
hostnamectl set-hostname k8s-node2
5、各节点配置 /etc/hosts域名
192.168.66.100 k8s-master
192.168.66.101 k8s-node1
192.168.66.102 k8s-node2
192.168.66.103 k8s-master2
6、各节点桥接网络配置
// 编辑/etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
vm.swappiness = 0
// 加载br_netfilter模块
modprobe br_netfilter
// 查看是否加载
lsmod | grep br_netfilter
// 生效
sysctl --system
7、同步时间
yum install ntpdate -y
ntpdate time.windows.com
二、 kubernets安装
8、开启ipvs
yum -y install ipset ipvsadm
9、各节点添加 /etc/sysconfig/modules/ipvs.modules配置
#!/bin/bash
modprobe – ip_vs
modprobe – ip_vs_rr
modprobe – ip_vs_wrr
modprobe – ip_vs_sh
modprobe – nf_conntrack_ipv4
10、授权运行ipvs
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
11、检查是否加载
lsmod | grep -e ipvs -e nf_conntrack_ipv4
12、安装docker (参考阿里镜像站 https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.79621b11DxTb0N)
k8s默认CRI(容器运行时)为Docker,因此需要先安装Docker
// step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
// Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
// Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
// Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
// 配置docker运行参数文件: /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
// Step 4: 开启Docker服务
sudo service docker start
13、各节点安装指定版本kubernets
yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
14、修改kubelet配置参数文件: /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="–cgroup-driver=systemd"
15、加入启动项 systemctl enable kubelet
16、在master节点启动
kubeadm init \
--apiserver-advertise-address=192.168.66.100 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.18.0 \ // 必须与我们安装的版本一致
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
17、master配置配置
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
18、获取k8s节点信息
kubectl get nodes
19、添加node节点,把上面启动后的join信息复制,并在各个节点执行
kubeadm join 192.168.66.100:6443 --token 4016im.eg4e10yamcbxjm59 \
--discovery-token-ca-cert-hash sha256:ce2111ce594e5189255144a72268250e5eedda87470cc3a1f69f8c973927699e
20、CNI网络插件(flannel)配置
方式一(推荐)百度网盘:下载完放在/etc/kubernetes目录下
https://pan.baidu.com/s/19-7XxQJjBW-PPuHZMm2UIA?pwd=bwqf
kubectl apply -f /etc/kubernetes/kube-flannel.yml
方式二:很可能会失败
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
//查看安装进度
kubectl get pods -n kube-system
21、在master节点查看状态
kubectl get nodes // 节点状态
kubectl get cs // 集群状态
结束
参考:
1、从零搭建k8s集群-许大仙
2、