docker + 手动部署镜像方式安装k3s

本文介绍了如何在离线环境中安装K3s,包括需要准备的组件、导入镜像、移动文件及安装步骤。特别提到了版本选择的重要性,作者在尝试k3s-v1.22.7-k3s1未果后,选择了k3s-v1.21.9-k3s1并成功安装。关键操作包括使用dockerload导入镜像、修改文件权限和执行安装脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

K3s 是一个轻量级的 Kubernetes 发行版,易于安装,内存减半,所有二进制文件不到40mb。在国内已经有许多用户将 K3s 应用到了各种边缘计算和物联网设备中,同时也被广泛应用于智能工厂部署的生产线机器人和一些世界上最大型的风力发电厂当中。

针对生产环境下的 K3s,一个不可逾越的问题就是离线安装。在你的离线环境需要准备以下 3 个组件:

  1. K3s 的安装脚本(k3s-install.sh)
  2. K3s 的二进制文件 (k3s)
  3. K3s 依赖的镜像 (k3s-airgap-images-amd64.tar)

在这里插入图片描述

以上三个组件都可以通过K3s Release页面(github地址)下载,如果在国内使用,推荐从 国内地址 获得这些组件。

操作系统版本

在这里插入图片描述

docker版本

在这里插入图片描述

k3s版本

这里选用的是k3s-v1.21.9-k3s1版本,楼主最开始用的是k3s-v1.22.7-k3s1这个版本,在我的机器上一直没成功,遇到很多问题,迫不得己降版本
在这里插入图片描述

安装

假设你已经将同一版本的 K3s 的安装脚本(k3s-install.sh)、K3s 的二进制文件(k3s)、K3s 依赖的镜像(k3s-airgap-images-amd64.tar)下载到了/root目录下

  1. 导入镜像到docker镜像列表
sudo docker load -i /root/k3s-airgap-images-amd64.tar
  1. 将 K3s 安装脚本和 K3s 二进制文件移动到对应目录并授予可执行权限
sudo chmod a+x /root/k3s /root/k3s-install.sh
sudo cp /root/k3s /usr/local/bin/
  1. 安装k3s
INSTALL_K3S_SKIP_DOWNLOAD=true INSTALL_K3S_EXEC='--docker' /root/k3s-install.sh
  1. 稍等片刻出现如下图所示就是安装成功了
    在这里插入图片描述
### 使用 Docker 安装 K3s 的详细步骤 #### 1. 准备环境 在开始之前,确保目标服务器上已经安装了必要的依赖项以及 Docker。可以通过以下命令完成 Docker 及其相关组件的安装: ```bash sudo apt update && sudo apt upgrade -y sudo apt install -y curl wget git jq ``` 如果尚未安装 Docker,则可以按照官方文档执行以下操作来安装最新版本的 Docker[^3]: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo usermod -aG docker $USER newgrp docker ``` #### 2. 下载并配置 K3s 安装脚本 K3s 提供了一个简单的 shell 脚本来简化安装过程。为了强制使用 Docker 运行时而不是默认的 `containerd`,需要传递额外参数给该脚本。 以下是基于国内镜像源的具体安装方式[^2]: ```bash curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \ INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.29.0+k3s1 sh -s - server --docker ``` 上述命令会下载适合中国地区的加速包,并指定特定版本号 `v1.29.0+k3s1` 同时启用 Docker 支持。 #### 3. 自定义高级选项 (可选) 对于更复杂的场景,比如多节点集群或者自定义路径设置,还可以进一步调整变量内容。例如跳过二进制文件下载环节以便手动管理服务状态[^4]: ```bash export INSTALL_K3S_SKIP_DOWNLOAD=true export K3S_TOKEN=$(cat /proc/sys/kernel/random/uuid) export INSTALL_K3S_EXEC='server --docker --cluster-init --write-kubeconfig-mode 644' ./k3s-install.sh ``` 此部分允许用户灵活控制整个部署流程中的细节行为。 #### 4. 验证安装成功与否 最后一步就是确认所有组件都正常启动并且能够访问 API 接口: ```bash systemctl status k3s.service kubectl cluster-info ``` 当看到类似于下面的信息时即表示一切就绪: ``` Kubernetes control plane is running at ... CoreDNS is running at ... To further debug and diagnose cluster problems, use 'kubectl'. ``` --- ### 总结 综上所述,通过以上四个主要阶段的操作指南即可顺利完成借助于 Docker 来驱动 Kubernetes 发布版(K3s)的任务。这不仅有助于学习者理解基础架构层面的知识点,同时也提供了实际动手实践的机会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值