您的位置 首页 linux 运维

k8s 1.32 安装

https://v1-32.docs.kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

基础环境配置:

a2-rocky linux 模板机制作 : 连接

 

k8s 1.32 安装

准备2台机器:

10.0.0.101 (master)

10.0.0.102 (worker1)

 

1-更改网卡:

cd /etc/NetworkManager/system-connections/
[ipv4]
method=manual
address1=10.0.0.100/24,10.0.0.2
dns=114.114.114.114;8.8.8.8

重启网卡 ens33

systemctl restart NetworkManager

 

nmcli connection down ens33
nmcli connection up ens33

 

2-更改主机名:

hostnamectl set-hostname master

一、安装kubeadmin

在master  worker上操作

1添加 Kubernetes 的 yum 仓库

在仓库定义中的 exclude 参数确保了与 Kubernetes 相关的软件包在运行 yum update 时不会升级,因为升级 Kubernetes 需要遵循特定的过程。请注意,此仓库仅包含适用于 Kubernetes 1.32 的软件包; 对于其他 Kubernetes 次要版本,则需要更改 URL 中的 Kubernetes 次要版本以匹配你所需的次要版本 (你还应该检查正在阅读的安装文档是否为你计划安装的 Kubernetes 版本的文档)。

# 此操作会覆盖 /etc/yum.repos.d/kubernetes.repo 中现存的所有配置

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF

 

2 安装 kubelet、kubeadm 和 kubectl,

并启用 kubelet 以确保它在启动时自动启动:

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

默认装的版本是 Kubernetes v1.32.9

kubeadm version

 

然后

systemctl enable --now kubelet

3安装容器运行时

Install | cri-dockerd

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9.amd64.tgz
tar -xf cri-dockerd-0.3.9.amd64.tgz
cp cri-dockerd/cri-dockerd /usr/bin/
chmod +x /usr/bin/cri-dockerd

# 配置 cri-docker 服务

cat <<"EOF" > /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.8
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF

# 添加 cri-docker 套接字

cat <<"EOF" > /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
EOF

# 启动 cri-docker 对应服务

systemctl daemon-reload
systemctl enable cri-docker
systemctl start cri-docker
systemctl is-active cri-docker

 

二、使用 kubeadm 创建集群

在所有主机上安装容器运行时和 kubeadm

# 初始化主节点

 kubeadm init --apiserver-advertise-address=10.0.0.101 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.32.0 --service-cidr=10.10.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all --cri-socket unix:///var/run/cri-dockerd.sock

执行 kubeadm init 后,如果需要取消或重置集群初始化操作 :  连接

 

主要参数说明

--apiserver-advertise-address=10.0.0.101: 指定 API Server 监听的 IP 地址
--image-repository registry.aliyuncs.com/google_containers: 使用阿里云镜像仓库替代默认的 Google 镜像源
--kubernetes-version 1.32: 指定要安装的 Kubernetes 版本
--service-cidr=10.10.0.0/12: 指定 Service 的 CIDR 范围
--pod-network-cidr=10.244.0.0/16: 指定 Pod 网络的 CIDR 范围
--ignore-preflight-errors=all: 忽略所有预检错误
--cri-socket unix:///var/run/cri-dockerd.sock: 指定 CRI Socket 路径

 

需要额外操作:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

 

我们执行

kubectl get nodes

 

worker 加入

这个指令是根据上边master 生成的

这里要注意 参数 cri-socket  要添加

kubeadm join 10.0.0.101:6443 --token alvzaa.gohs8jlk6mvqvyye \
	--discovery-token-ca-cert-hash sha256:22646e9f04253ea479ff499a00e7954bfc335920a2c257b2b4383905d0901529 \
	--cri-socket unix:///var/run/cri-dockerd.sock

 

检查一下: (这里四 not ready 状态,我们还需要设置网络插件)

# work token 过期后,重新申请

kubeadm token create --print-join-command

 

三、配置集群 网络插件

calico 官网

https://docs.tigera.io/calico/latest/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-kubernetes-api-datastore-more-than-50-nodes

安装 Calico 的两种主流方式对比 :连接

calico-v3.26.0-aliyun 镜像(calico.yaml)-calico-v3.26.0-aliyun.yaml :连接

上边的文件已经修完了。

上传的时候一定要传文件,不要在xshell中 vim  粘贴,不然会文件有缺失。

 kubectl apply -f calico-v3.26.0-aliyun.yaml 

检查:

kubectl get pod -n kube-system | grep calico

 

 

配置完后 node  为ready 状态:

kubectl get po -A

 

 

然后我们给虚拟机做个快照,方便恢复。

2025年11月20日

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章