前提
三台linux虚拟机
一台做master 两台做slave。我使用的Ubuntu24

设置hostname
k8s启动是依赖这个hostname的,设置成固定唯一,后面方便管理
各自根据自身机器的角色设置
hostnamectl set-hostname k8s-master
hostnamectl set-hostname k8s-slave1
hostnamectl set-hostname k8s-slave2

关闭交换服务区
swapoff -a ##临时关闭
sed -ri 's/.*swap.*/#&/I/etc/fstab ##永久关闭
下面三个值需要为0
free -m

SELinux 设置为permissive 模式
安装
sudo apt install selinux-utils

临时关闭
sudo setenforce 0

默认关闭
可以先去/etc/selinux/目录下查看对应的配置文件是不是下面这个semanage.conf,如果不一样就修改配置文件名称
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/semanage.conf
允许iptables 检查桥接流量
可以先去/etc/modules-load.d目录下查看对应的配置文件是不是下面这个modules.conf,如果不一样就修改配置文件名称
cat <<EOF | sudo tee /etc/modules-load.d/modules.conf
br netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/modules.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system

安装kubelet kubeadm kubectl
安装依赖
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl gpg
下载k8s阿里云公钥
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
添加阿里云k8s镜像资源
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
修改完后更新apt配置
sudo apt-get update

下载kubelet kubeadm kubectl
sudo apt-get install -y kubelet kubeadm kubectl

检查是否下载成功
kubelet --version

启动 kubelet
启动厂长kubelet
sudo systemctl enable --now kubelet
查看启动状态
systemctl status kubelet

下载必须的镜像
方式1 docker下载(推荐)
依次执行下面的镜像拉取命令
docker pull registry.k8s.io/kube-apiserver:v1.28.15
docker pull registry.k8s.io/kube-controller-manager:v1.28.15
docker pull registry.k8s.io/kube-scheduler:v1.28.15
docker pull registry.k8s.io/kube-proxy:v1.28.15
docker pull registry.k8s.io/pause:3.9
docker pull registry.k8s.io/etcd:3.5.15-0
docker pull registry.k8s.io/coredns/coredns:v1.10.1
查看下载的镜像
docker images

方式2 kubeadm下载
查看所需的镜像
kubeadm config images list

下载镜像
sudo kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers

查看下载的镜像
sudo crictl images
或者
docker iamges 看看哪个行

以上完成,基本启动k8s的基础环境就搞定,后面就可以准备集群启动k8s