k8s 1.24之后弃用了docker容器运行时,安装方式上有所不同,网上找到的大多数都是1.24之前的版本。所以把自己搭建的完整过程记录下来供大家参考。
一、前言
k8s的部署方式有多种kubeadm、kind、minikube、Kubespray、kops等本文介绍官方推荐的kubeadm的方式搭建集群。
二、安装步骤
1、虚拟机两台(ip按自己的网络环境相应配置) (master/node)
ip | hostname |
---|---|
192.168.1.100 | master |
192.168.1.101 | node1 |
2、关闭防火墙 (master/node)
systemctl stop firewalld
systemctl disable firewalld
3、关闭selinux (master/node)
setenforce 0 # 临时关闭
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久关闭
4、关闭swap (master/node)
swapoff -a # 临时关闭;关闭swap主要是为了性能考虑
free # 可以通过这个命令查看swap是否关闭了
sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久关闭
打开fstab后注释掉这一行:
UUID=c83b0fb3-eb59-4b1e-bca0-a1731159c553 swap swap defaults 0 0
设置fstab要永久生效要reboot系统,为了不立即reboot所以之前先使用swapoff -a临时关闭一下。后续要reboot系统后就永久生效了。
free -m
5、添加主机名与IP对应的关系 (master/node)
$ vim /etc/hosts
#添加如下内容:
192.168.1.100 master
192.168.1.101 node1
#保存退出
6、修改主机名 (master/node)
#k8s-master
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname master ##临时生效
[root@localhost ~] hostnamectl set-hostname master ##重启后永久生效
#k8s-node1
[root@localhost ~] hostname
localhost.localdomain
[root@localhost ~] hostname node1 ##临时生效
[root@localhost ~] hostnamectl set-hostname node1 ##重启后永久生效
7、桥接设置 (master/node)
$ cat > /etc/sysctl.d/k8s.conf /etc/yum.repos.d/kubernetes.repo