系统:centos7.9 3台虚拟主机,2核,2G,20G硬盘,分别修改主机名,配置IP可以ping通,master,node1,node2
k8s:1.23 注意1.24默认不支持docker
1、关闭防火墙
关闭:systemctl stop firewalld
永久关闭:systemctl disable firewalld
2、关闭selinux
关闭:setenforce 0
3、关闭swap
临时关闭:swapoff -a
永久关闭:sed -ri 's/.*swap.*/#&/' /etc/fstab,通过该命令注释掉含swap行的代码
检验:free -m
4、修改hosts文件添加主机映射,
192.168.19.130 master
192.168.19.131 node1
192.168.19.132 node2
5、将桥接的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命令使配置生效
6、安装docker
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum install docker-ce
vi /etc/docker/daemon.json 没有就创建添加以下内容
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors":["https://docker.1panel.live","https://docker-proxy.741001.xyz","https://registry.docker-cn.com"],
"ipv6":false
}
systemctl start docker
systemctl enable docker
cat > /etc/yum.repos.d/kubernetes.repo << EOF
[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
wget https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
wget https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
rpm --import yum-key.gpg
rpm --import rpm-package-key.gpg
安装:yum install -y kubelet-1.23.0 kubectl-1.23.0 kubeadm-1.23.0
设置开启自启:systemctl enable kubelet,此处只需设置开机启动即可。
以上所有节点都需要操作
9、初始化Master节点
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.0 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.244.0.0/16
kubeadm reset
命令清理下环境,再重装。出现下面图片表示成功
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# 第1条命令:表示创建隐藏文件夹.kube
# 第2条命令:表示复制文件admin.conf到该文件夹下
# 第3条命令:表示设置文件的所属用户、用户组
kubectl apply -f kube-flannel.yml 应用命令
kubectl delete -f kube-flannel.yml 卸载命令
查看是否部署成功:kubectl get pods -n kube-system
查看节点是否Ready :kubectl get nodes
11、所有的节点node执行9步骤生成的命令