在3台Debian12 虚拟机下安装k8s 1.32 的命令集合

以下为在3台Debian 12 环境下安装k8s 1.32的具体命令和步骤,已经测试并确保命令正确。
安装本文章的命令,可以确保k8s 1.32 能正常安装并启用。
本文以root做为运行命令的用户,并捎带说明了非root下的配置区别。安装k8s使用kubeadm,生产环境慎用。

安装前环境准备:

root@master:/home/bill# history
1 sudo swapoff -a
2 sudo sed -i ‘/swap/d’ /etc/fstab
#以上命令禁止系统使用磁盘交换分区
10 vim /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

11 sudo sysctl --system
# 以上命令主要设置启用内核的ip转发
13 apt list |grep containerd
14 sudo apt install -y containerd
15 sudo mkdir -p /etc/containerd
16 containerd config default | sudo tee /etc/containerd/config.toml
19 vim /etc/containerd/config.toml
# 为了方便我使用了apt下有的containerd 1.6.20 版本,而没有先安装containerd的docker 源再安装。
#在docker repo下,最新可用的containerd为1.7.x(最新的二进制版本为2.0.0了已经)
#确保containerd和kub

### 关于 Kubernetes 1.32 中 cri-dockerd 的兼容性和配置 #### 容器运行时接口 (CRI) 支持的变化 自 Kubernetes 1.20 起,官方宣布逐步淘汰 Docker 作为默认的容器运行时支持[^1]。到 Kubernetes 1.24 版本,Docker 已被完全移除为原生 CRI 实现的一部分。为了继续使用 Docker 作为容器运行时,在这些版本之后需要安装 `cri-dockerd` 来桥接 Docker 和 Kubernetes 的 CRI 接口。 对于 Kubernetes 1.32 版本(假设该版本存在并延续之前的策略),仍然可以通过部署 `cri-dockerd` 来实现对 Docker 的支持。然而需要注意的是,随着 Kubernetes 不断发展,未来可能会彻底放弃对 Docker 的任何形式的支持,因此建议考虑迁移到其他更现代的容器运行时,例如 containerd 或 CRI-O。 #### 配置 cri-dockerd 方法 以下是针对 Kubernetes 1.32 下如何配置和使用 `cri-dockerd` 的具体指导: 1. **安装依赖项** 确保 Linux 系统已正确设置,并满足以下条件: - 安装最新版 Docker。 - 启用并启动 Docker 服务。 参考命令如下: ```bash sudo apt-get update && sudo apt-get install docker.io -y ``` 2. **下载并编译 cri-dockerd** 如果目标环境中未提供预构建二进制文件,则需手动获取源码并完成编译过程。执行以下操作即可获得所需工具链: ```bash git clone https://github.com/Mirantis/cri-dockerd.git cd cri-dockerd make binary ``` 编译完成后会生成可执行程序位于路径 `/usr/local/bin/cri-dockerd`. 3. **创建 systemd 单元文件** 将下面的内容保存至 `/etc/systemd/system/cri-docker.service` 文件中以便管理进程生命周期: ```ini [Unit] Description=CRI interface for Docker After=docker.service Requires=docker.service [Service] ExecStart=/usr/local/bin/cri-dockerd --container-runtime-endpoint unix:///var/run/dockershim.sock Restart=always RestartSec=5s [Install] WantedBy=multi-user.target ``` 4. **重启 kubelet 并验证连接状态** 修改 Kubelet 参数使其指向新的 socket 地址 (`unix:///var/run/cri-dockerd.sock`) ,随后重新加载配置以应用更改效果。 更新后的参数应类似于这样: ```yaml runtime-cgroups=/systemd/system.slice network-plugin=cni cgroup-driver=systemd container-runtime=remote remote-runtime-endpoint=unix:///var/run/cri-dockerd.sock image-service-endpoint=unix:///var/run/cri-dockerd.sock ``` 5. **测试环境稳定性** 利用标准 CLI 命令确认组件间交互正常运作无误: ```bash kubectl get nodes crictl ps ``` 以上步骤能够帮助用户成功搭建基于 Kubernetes 1.32 的工作流体系结构,其中包含通过 `cri-dockerd` 进行驱动对接的功能特性[^2]。 #### 注意事项 尽管当前可以借助第三方解决方案维持旧有习惯模式不变,但从长远来看迁移至更加高效稳定的替代品才是明智之举。这不仅有助于减少维护成本还能享受更多功能扩展优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值