(友情提示:尽量不要手动装,太繁琐了,使用Rancher,一键安装)
1、环境准备
1.1使用 docker 18.09.9 和 kubelet-1.16.4,要求 centos7.6 以上版本
1.2、关闭 selinux
1.3、设置为临时关闭,如有需要可自己去设置永久关闭
1.4、关闭 swap
k8s要求系统关闭,否则安装过程会报错
查看系统是否关闭了 swap
临时禁用:swapoff -a
永久禁用:sed -i.bak '/swap/s/^/#/' /etc/fstab ##注释掉 swap 那一行 作用就是修改/etc/fstab 配置
1.5、配置 ip_forward 转发
ip_forward 配置文件当前内容为 0,表示禁止数据包转发,将其修改为 1 表 示允许 echo "1" > /proc/sys/net/ipv4/ip_forward
1.6、更新 yum 源
为了一次性配置好下载源,我们一次性修改好 centos7 软件源、docker 源、k8s 源 先清除掉系统自带配置
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.7、配置 k8s 源
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=0
EOF
1.8、刷新 yum 缓存
yum makecache fast
1.9、安装 docker
docker 使用版本 18.09.9
docker version
1.10、k8s 运行要求 docker 的--cgroup-driver=systemd
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://v16stybc.mirror.aliyuncs.com"],
"exec-opts":["native.cgroupdriver=systemd"]
}
启动 docker 并设置开机启动 systemctl enable docker && systemctl start docker
1.11、安装 k8s 组件:
yum install -y kubelet-1.16.4 kubeadm-1.16.4 kubectl-1.16.4
设置开机启动:systemctl enable kubelet && systemctl start kubelet
1.12、添加 kubectl 上下文到环境中
echo "source > ~/.bash_profile
source .bash_profile 在家目录中,配置生效
1.13、内核参数修改
k8s 网络一般使用 flannel,该网络需要设置内核参数 bridge-nf-call-iptables=1 添加参数配置文件:
vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
执行:sysctl -p /etc/sysctl.d/k8s.conf
至此,环境准备工作完毕
2、Master 节点配置(客户端不要执行Master节点初始化,到这步就可以直接加入到集群,不然会出一大堆麻烦事)
2.1 Master 节点初始化(如果你运行内存低于2G,k8s是不会让你安装的)
kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.4 --pod-network-cidr=10.244.0.0/16
2.2、添加 flannel 的网络
按照 master 的提示,我们接下来应该配置一个 pod network。 但是,因为国内网络不通的原因,此操作无法完成。 你只能选择定制的下面这个文件来完成
文件详情:/attachment/20200401/5af7c910cf974783be13e0048451afa7.yml
不上传也可以使用 wget 进行拉取:
wget http://www.wangchunlong.cn/attachment/20200401/5af7c910cf974783be13e0048451afa7.yml
mv 5af7c910cf974783be13e0048451afa7.yml wangchl-flannel.yml
上传文件到你的系统后,使用下面命令 kubectl apply -f wangchl-flannel.yml
至此,大功告成

