※1、基础机器内核检查升级
检查内核版本: uname -r
#上传kernel-4.9.220-37.el7.x86_64.rpm 更新包直接执行
rpm -Uvh kernel-4.9.220-37.el7.x86_64.rpm
grub2-set-default CentOS Linux (4.9.220-37.el7.x86_64) 7 (Core)
#安装完成reboot重启机器
#重启完机器删除旧的内核(如下为示例,以实际查出来的为准)
rpm -qa | grep kernel*
yum remove kernel-3.10.0-1160* -y
※2、检查机器是否安装过docker或kubernetes服务并卸载
# 2-1、卸载服务
kubeadm reset
# 2-2、删除rpm包
rpm -qa|grep kube*|xargs rpm --nodeps -e
# 2-3、删除容器及镜像
docker images -qa|xargs docker rmi -f
#2-4、移除dockr
sudo systemctl stop docker
yum list installed | grep docker
yum -y remove docker****
rm -rf /var/lib/docker
※3、Install Docker By~18.09.5
#3-1、使用 root 权限登录 Centos。确保 yum 包更新到最新
sudo yum update
#3-2、卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
#3-3、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#3-4、设置yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#3-5、可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
#3-6、安装docker
yum -y install docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io
#3-7、启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
#3-8、验证安装是否成功(有Client和Server两部分表示docker安装启动都成功了)
docker version
※4、配置docker 镜像加速下载源
#4-1、配置docker 镜像加速源并修改docker cgroup driver为systemd(驱动程序)
vim /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors": ["http://f1361db2.m.daocloud.io"],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}
#4-2、重新加载配置:
systemctl daemon-reload
#4-3、设置docker开启自启:
systemctl enable docker
#4-4、重启docker:
systemctl restart docker
※5、机器基础环境配置
#5-1、设置主机名并刷新环境变量(请根据实际信息进行修改)
hostnamectl set-hostname kube-master*** && bash
#5-2、注意:每台k8s集群机器添加如下hosts信息 (请根据实际信息进行修改,并核对主机名与ip信息)
cat <<EOF >> /etc/hosts
192.168.168.194 k8s-master01
192.168.168.195 k8s-master02
192.168.168.196 k8s-master03
EOF
#5-3、时间同步,请根据机器使用设定NTP
略
#5-4、关闭selinux与设置开机不启动
setenforce 0 && sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
#5-5、关闭swap交换分区
swapoff -a && sed -i '/swap/s/^\(.*\)$/#\1/g' /etc/fstab
#5-6、设置内核参数net.bridge.bridge-nf-call-iptables 将桥接的IPv4流量传递到iptables的链(请核对配置信息是否有重复,并以本分配置为准进行修改)
vim /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_nonlocal_bind = 1
vm.swappiness=0
vm.max_map_count = 300000
#5-7、刷新系统参数
sysctl --system
#5-8、效验系统参数是生效
lsmod | grep br_netfilter
#5-9、安装ipvs 管理工具
yum install ipvsadm ipset -y
#5-10、 添加ipvs开启脚本,防止重启机器不生效
cat > /etc/sysconfig/modules/ipvs.modules <<EOF
#!/bin/bash
modprobe — ip_vs
modprobe — ip_vs_rr
modprobe — ip_vs_wrr
modprobe — ip_vs_sh
modprobe — nf_conntrack_ipv4
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
#5-11、验证ipvs模块是否开启
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
※6、Install k8s Command(每台机器都安装)
#6-1、配置kubenetes的yum仓库(阿里yum源)
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF
#6-2、生成yum源缓存
yum makecache
#6-3、安装kubelat、kubectl、kubeadm
yum -y install kubelet-1.18.2 kubeadm-1.18.2 kubectl-1.18.2 --nogpgcheck #(kubectl可选)
rpm -aq kubelet kubectl kubeadm (查看安装软件)
systemctl enable kubelet (kubelet开机启动)
#6-4、验证信息
kubectl version #校验是否安装成功
※7、 Node Images pull
#7-1、node机器生成镜像拉取脚本 (国内机器请复制如下脚本执行,海外机器则直接docker pull 拉取 kube-proxy:v1.18.2 pause:3.2 coredns:1.6.7 三个镜像)
###注意此处为Node机器安装使用
cat <<EOF >for.sh
#!/bin/bash
images=(kube-proxy:v1.18.2 pause:3.2 coredns:1.6.7)
for imageName in ${images[@]} ; do
docker pull registry.aliyuncs.com/google_containers/$imageName
docker tag registry.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
docker rmi registry.aliyuncs.com/google_containers/$imageName
done
EOF
#7-2、执行镜像拉取脚本
sh for.sh
#7-3、添加docker 支持80端口访问白名单,docker默认支持443协议仓库登入,请根据实际情况进行修改
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --insecure-registry=192.168.168.241
#7-4、加载配置
systemctl daemon-reload
#7-5、重启docker 生效配置
systemctl restart docker
#7-6、验证登入信息(此步骤为已安装好Harbor仓库使用)
docker login 192.168.168.241 -u k8s -p DDM54321ddm
#7-7、在master节点生成添加工作节点token
kubeadm token create --print-join-command
#7-8、在机器运行节点加入如遇到失败则使用 kubeadm reset -f 重置节点
#7-9、在master验证节点是否正常
kubectl get nodes