零、系统清单
主机名IPCPU内存
master1192.168.31.11224
work1192.168.31.11511
work2192.168.31.11611
一、关闭不必要的系统配置,以及调整配置信息安装必要的软件包
查看CPU内核是否大于2

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux
sed -i 's/SELINUX/g/enforcing/disabled/' /etc/selinux/config
关闭swap
swapoff -a
注释掉vim /etc/fstab 中的swap
添加主机名和IP的对应关系/etc/hosts
将桥接的IPV4流量传递到iptables的链
cat > /etc/syscrl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables =1
net.bridge.bridge-nf-call-iptables = 1
EOF
生效操作
systcl --system
安装docker/kubectl需要在每台机器上都执行
curl -sSLhttps://kuboard.cn/install-script/v1.16.0/install_kubelet.sh| sh
二、初始化master节点
[root@master1 ~]# export MASTER_IP=192.168.31.112(主机IP)
[root@master1 ~]# export APISERVER_NAME=master(不要使用hostname,使用别的名称)
[root@master1 ~]# export POD_SUBNET=10.100.0.1/16(给pods使用的IP地址)
[root@master1 ~]# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
[root@master1 ~]# curl -sSLhttps://kuboard.cn/install-script/v1.16.0/init_master.sh| sh
看到如下信息就算完成了

[root@master1 .kube]# watch kubectl get pod -n kube-system -o wide 查看各节点是否处于running状态,过程大概需要3-10分钟。

三、初始化work节点内容
在master1上执行如下命令
kubeadm token create --print-join-command
显示如下内容

在各个work节点上执行
[root@work1 ~]# export MASTER_IP=192.168.31.112(使用master1的主机IP)
[root@work1 ~]# export APISERVER_NAME=master(使用master1设置的名称)
[root@work1 ~]# echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts
[root@work1 ~]# kubeadm join master:6443 --token n0wmsl.34geimwomulmaql6 --discovery-token-ca-cert-hash sha256:7ea94cec410e7bd8874df794edbe642cd96bf5e2a0e19da301f51e528c5d63cf(依实际输出为准)
四、只在master节点上执行
kubectl get nodes -o wide
目前我们已经搭建好了
如果需要初始化节点需要执行
kubeadm reset
这个时候再执行的时候需要执行删除操作$home/.kube/config
记得退出当前这个目录,在执行上面的安装脚本,不然会报错误的,找不到路径。
kubelet docker开机自启的,如果不能正常使用,可能是您的机器的内网IP发生变化。
网友评论