[root@server4 ~]# docker swarm leave
[root@server3 ~]# docker swarm leave
[root@server2 ~]# docker swarm leave
[root@server1 ~]# docker network prune
[root@server1 ~]# docker volume prune
[root@server1 ~]# docker node rm server4
[root@server1 ~]# docker node rm server3
[root@server1 ~]# docker node rm server2
[root@server1 ~]# docker swarm leave --force
k8s集群的搭建
保证虚拟机可以上网
关闭节点的swap交换分区
[root@server1 ~]# vi /etc/fstab
#/dev/mapper/rhel-swap swap swap defaults 0 0
[root@server1 ~]# swapoff -a
[root@server2 ~]# vi /etc/fstab
#/dev/mapper/rhel-swap swap swap defaults 0 0
[root@server2 ~]# swapoff -a
[root@server3 ~]# vi /etc/fstab
#/dev/mapper/rhel-swap swap swap defaults 0 0
[root@server3 ~]# swapoff -a
各个节点安装所需软件包(版本需要相同)
[root@server2 ~]# yum install -y *
[root@server3 ~]# yum install -y *
[root@server1 ~]# yum install -y *.rpm
对所有节点的iptables进行配置 ,防止其被绕过,并让服务不断重启
[root@server1 ~]# vi /etc/sysctl.d/k8s.conf
[root@server1 ~]# cat /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@server1 ~]# systemctl start kubelet
[root@server1 ~]# systemctl enable kubelet
[root@server1 ~]# systemctl enable docker
[root@server2 ~]# vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@server2 ~]# systemctl start kubelet
[root@server2 ~]# systemctl enable kubelet
[root@server2 ~]# systemctl enable docker
[root@server3 ~]# vi /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@server3 ~]# systemctl start kubelet
[root@server3 ~]# systemctl enable kubelet
[root@server3 ~]# systemctl enable docker
- server1设置
[root@server1 ~]# for i in *.tar;do docker load -i $i ; done##导入镜像
主节点初始化
[root@server1 ~]# kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=172.25.32.1 --ignore-preflight-errors=all
server1配置kubectl
[root@server1 ~]# useradd kubeadm
[root@server1 ~]# vi /etc/sudoers
[root@server1 ~]# su - kubeadm
[kubeadm@server1 ~]$ mkdir -p $HOME/.kube
[kubeadm@server1 ~]$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[kubeadm@server1 ~]$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
[kubeadm@server1 ~]$ echo "source <(kubectl completion bash)" >> ~/.bashrc
[kubeadm@server1 ~]$ ls
kube-flannel.yml
[kubeadm@server1 ~]$ kubectl apply -f kube-flannel.yml
- node节点配置
server2配置
[root@server2 ~]# modprobe ip_vs_wrr
[root@server2 ~]# modprobe ip_vs_sh
[root@server2 ~]# modprobe ip_vs
[root@server2 ~]# modprobe ip_vs_rr
[root@server2 ~]# systemctl start kubelet.service
[root@server2 ~]# systemctl enable kubelet.service
[root@server2 ~]# systemctl enable docker.service
[root@server2 ~]# for i in *.tar;do docker load -i $i ; done
server3同server2
导入集群
[root@server2 ~]# kubeadm join 172.25.32.1:6443 --token ltkf7p.xzpjiuzmlu7mbn0g --discovery-token-ca-cert-hash sha256:832281d2e327a2600ad78a97aff49ab3165ed1fd33439f765dad2f88ca0e11ec --ignore-preflight-errors=all
[root@server3 ~]# kubeadm join 172.25.32.1:6443 --token ltkf7p.xzpjiuzmlu7mbn0g --discovery-token-ca-cert-hash sha256:832281d2e327a2600ad78a97aff49ab3165ed1fd33439f765dad2f88ca0e11ec --ignore-preflight-errors=all
查看状态