环境准备:准备好两台centos7.5的虚拟机。每个VM是2个CPU,4G memory.
1. 更新虚拟机的 kernel
uname -r #检查当前环境的kernel 版本
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
grub2-set-default 0
reboot
2. 修改 hostname
hostnamectl set-hostname k8s-2
hostnamectl set-hostname k8s-1
3. 把IP和机器名加进 /etc/hosts
IP1 k8s-2
IP2 k8s-1
4. 准备 kubernetes repo
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
5. yum -y update
6. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
7. 关 selinux
sed -ie 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
8. 更新 /etc/sysctl.conf
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf #路由转发开启
echo "net.bridge.bridge-nf-call-ip6tables = 1" >>/etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 1" >>/etc/sysctl.conf
echo "net.bridge.bridge-nf-call-arptables = 1" >>/etc/sysctl.conf
9. swapoff -a
sysctl -p
10. 准备docker环境
yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
11. 安装kubenetes三大组件: kubeadm, kubelet, kubectl, 可参考: https://kubernetes.io/docs/setup/product