一:硬件环境准备
三台机器,计划为:一台master,两台node
序号 | ip | 系统版本 | hostname | 配置 | 节点类型 |
---|---|---|---|---|---|
1 | 192.168.137.61 | CentOS 7.4.1611 (Core) | master61 | 2核2G | Master |
2 | 192.168.137.62 | CentOS 7.4.1611 (Core) | node62 | 2核2G | node |
3 | 192.168.137.63 | CentOS 7.4.1611 (Core) | node63 | 2核2G | node |
二:系统软件环境预置
1.设置hosts
vim /etc/hosts 加入以下内容 192.168.137.61 master61 192.168.137.62 node62 192.168.137.63 node63
hostnamectl set-hostname master61
hostnamectl set-hostname node62
hostnamectl set-hostname node63
yum install -y ipvsadm
yum install -y wget vim net-tools lrzsz
如果以下命令执行不过去,可以尝试手动输入,可能复制网页代码的问题
2.关闭防火墙
[root@vm210 ~]# systemctl stop firewalld [root@vm210 ~]# systemctl disable firewalld [root@vm210 ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) [root@vm210 ~]#
3.安装docker
使用官方安装脚本自动安装
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
systemctl enable --now docker
4.配置yum源
vim /etc/yum.repos.d/kubernetes.repo 加入以下内容 [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ enabled=1 gpgcheck=0
5.设置SELinux
vim /etc/selinux/config 添加如下SELINUX=disabled 注释掉SELINUX=enforcing,SELINUXTYPE=targeted
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. #SELINUX=enforcing # SELINUXTYPE= can take one of three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. #SELINUXTYPE=targeted SELINUX=disabled
6.关闭swap内存
使用swap会影响性能。kubelet禁用swap
1)系统级零时关闭
swapoff -a ,重启后失效
2)系统级全部关闭
vi /etc/fstab,注释掉swap那一行
需要重启。重启后不失效
# # /etc/fstab # Created by anaconda on Mon Dec 2 21:02:22 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=b232659c-bd84-46f0-928b-a46d55500934 /boot xfs defaults 0 0 #/dev/mapper/centos-swap swap
7.设置iptables
解决iptables而导致流量无法正确路由的问题
cat <<EOF > /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system
三:Master节点安装kubeadm
1.安装kubelet 和kubeadm以及kubectl
yum install -y kubelet-1.20.0 kubeadm-1.20.0 kubectl-1.20.0 systemctl enable kubelet yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes systemctl enable --now kubelet
2.启动docker
systemctl enable docker && systemctl start docker
3.下载所需要的镜像
for i in `kubeadm config images list`; do imageName=${i#k8s.gcr.io/} docker pull regi