注意:一定要注意自己配置的IP和对应的步骤,缺一不可!!!
-
关闭防火墙,三台(一定要关闭,否则重启以后还是开着,无法进入pod内)
systemctl stop firewalld
systemctl disable firewalld.service
systemctl status firewalld.service
-
关闭selinux,三台
sed -i 's/enforcing/disabled/' /etc/selinux/config
-
关闭swap,三台
swapoff -a
vi /etc/fstab
看到 /dev/mapper/centos-swap swap swap defaults 0 0
i 在前面就加#注释掉
-
设置主机名,三台
hostnamectl set-hostname 主机名,三个主机名分别设置成k8s-master,k8s-node1,k8s-node2
-
在master添加hosts,三台
vi /etc/hosts
192.168.1.150 k8s-master
192.168.1.151 k8s-node01
192.168.1.152 k8s-node02
192.168.1.153 k8s-node03
192.168.1.154 k8s-node04
192.168.1.155 k8s-node05
-
将桥接的IPv4流量传递到iptables的链,三台
cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
-
执行以下命令让设置生效,三台
sysctl --system
-
安装Docker 19.03所需的依赖项,三台
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
配置Docker CE存储库,三台
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
安装Docker 19.03,三台
sudo yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io
-
启动并设置Docker服务开机自启动,三台
sudo systemctl start docker
sudo systemctl enable docker
-
查看docker服务是否正常启动成功,三台
systemctl status docker
-
添加阿里云YUM软件源,三台,并且 安装kubeadm、kubelet和kubectl 和 启动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=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubeadm-1.19.0 kubelet-1.19.0 kubectl-1.19.0
systemctl enable kubelet
-
在master节点上部署kubetnets 。master上面执行
kubeadm init --kubernetes-version=1.19.0 --apiserver-advertise-address=192.168.1.150 --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16
-
创建文件夹将admin.conf文件 copy到对应的位置。master上面执行
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
如果装废了,或者ip配置的不对,就直接
-
kubeadm reset -f
清除kubectl init内容
-
把子节点加入集群中 ,两台子节点
把init成功内容复制到另外两个节点的控制台并且回车
-
查看节点。master上面执行
kubectl get nodes
-
主节点重启以后无法启动 -255 。建议所有节点都处理一下
vi /etc/fstab //并找到带有“swap”关键字的行。
//在该行前面添加一个#字符,将其注释掉。这将防止系统在启动时挂载swap分区。
-
由于博主菜,改配置文件导致主节点挂了无法启动,卸载k8s和docker
停止Kubernetes组件的所有服务
sudo systemctl stop kubelet
sudo systemctl stop kube-proxy
sudo systemctl stop kube-scheduler
sudo systemctl stop kube-controller-manager
sudo systemctl stop kube-apiserver
卸载Kubernetes组件
sudo yum remove -y kubelet kubeadm kubectl kubernetes-cni
停止Docker服务
sudo systemctl stop docker
卸载Docker
sudo yum remove -y docker-ce docker-ce-cli containerd.io
删除Kubernetes和Docker的配置和数据
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/kubelet/*
sudo rm -rf /etc/kubernetes
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/etcd
-
子节点退出master
kubeadm reset
-
重新加入master
kubeadm join 192.168.3.150:6443 --token dr7uwf.l1rw8n8kefnyhxmq \
--discovery-token-ca-cert-hash sha256:7fb4c3002a178d2ef96ecd9a186261758f168d42e3d04c3110672e442f3f567d
-
由于上图是notready,这次解决一下。master上面执行
大功告成,愉快地玩耍吧