✨ 欢迎访问!本站所有文章均为原创,转载请注明出处 🌟

6.安装k3s和k3d

1. 什么是 k3s 与 k3d

  • k3s 是对 Kubernetes 规范的轻量级实现,由 SUSE 旗下 Rancher 项目组开发。在功能上与标准 Kubernetes 高度兼容,但二进制体积小、依赖少,适合在资源受限的边缘或嵌入式场景中运行
  • k3d 是一个社区维护的命令行工具,它通过在 Docker 容器中运行 k3s 来快速创建轻量级的 Kubernetes 集群。非常适合在本地或 CI/CD 环境中做测试、教学演示,不建议用于生产环境

2. 安装前

  • 确认已下载docker
    docker --version

  • 2.检查服务状态
    sudo systemctl status docker

  • 3.尝试运行示例镜像
    docker run --rm hello-world

3

  • 将普通用户加入 docker 组
    sudo usermod -aG docker $USER
  • 然后登出:
    exit

4.安装并验证 kubectl

  • 安装依赖:
    udo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
  • 导入 Kubernetes APT 公钥(使用阿里云镜像)

注::我从 Google 官方源 https://packages.cloud.google.com 下载 GPG 密钥,会网络连接超时

点击查看代码
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg \
  | sudo gpg --dearmor -o /usr/share/keyrings/kubernetes-archive-keyring.gpg

  • 添加 Kubernetes Apt 源(指向阿里云镜像)
点击查看代码
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] \
  https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" \
  | sudo tee /etc/apt/sources.list.d/kubernetes.list

  • 更新并安装 kubectl
    sudo apt update
    sudo apt install -y kubectl

  • 验证 kubectl 客户端
    kubectl version --client

  • 可以看到成功输出

注:
那些年此时过的方法

初始尝试:从官方源下载 Kubectl
在~/docker/Kubectl目录下创建文件夹,尝试通过curl从 Kubernetes 官方源下载kubectl二进制文件及校验文件。
问题:多次因网络超时(curl: (18)/(28) transfer closed)导致下载中断,文件不完整,SHA-256 校验失败。
切换镜像源:尝试清华 / 阿里云镜像
先后尝试使用清华大学镜像源(mirrors.tuna.tsinghua.edu.cn)和阿里云镜像源(mirrors.aliyun.com)下载,但因镜像对这个版本的 kubectl 二进制并没有真正提供,所以失败了

5.下载k3s

  • 我的主系统是windos,在FinalShell软件打开的虚拟机,

  • 在终端输入:
    mkdir k3s-off

  • 然后
    cd k3s-off

  • 获取最新版本号

$release = Invoke-RestMethod -Uri "https://api.github.com/repos/k3s-io/k3s/releases/latest"

$version = $release.tag_name

Write-Host "Latest k3s version: $version"

  • 下载 k3s 二进制
Invoke-WebRequest `
  -Uri "https://github.com/k3s-io/k3s/releases/download/$version/k3s" `
  -OutFile ".\k3s.exe"
  • 下载 Airgap 镜像包
Invoke-WebRequest `
  -Uri "https://github.com/k3s-io/k3s/releases/download/$version/k3s-airgap-images-amd64.tar" `
  -OutFile ".\k3s-airgap-images-amd64.tar"
  • 上传上去就可以了:

  • 最终我的文件是这样的:

  • 在ks3目录下:

  • 将下载的 k3s.exe 文件重命名为 k3s:
    mv k3s.exe k3s

  • 赋予 k3s 文件可执行权限
    chmod +x k3s

  • 将 k3s 可执行文件移动到 /usr/local/bin/ 目录(系统 PATH 包含的目录,方便直接运行)
    sudo mv k3s /usr/local/bin/

  • 创建 K3s 的镜像存储目录(-p 确保父目录不存在时自动创建)
    sudo mkdir -p /var/lib/rancher/k3s/agent/images/

  • 将离线镜像包(k3s-airgap-images-amd64.tar)移动到 K3s 的镜像目录。K3s 会从这里加载容器镜像,而不需要从互联网下载
    sudo mv k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/

  • 创建 systemd 服务单元

点击查看代码
sudo tee /etc/systemd/system/k3s.service << 'EOF'
[Unit]
Description=Lightweight Kubernetes (k3s)
After=network-online.target

[Service]
Type=notify
ExecStart=/usr/local/bin/k3s server
KillMode=process
Delegate=yes
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF
  • 重新加载 systemd 配置
    sudo systemctl daemon-reload

  • 启用 K3s 服务(开机自启)并立即启动
    sudo systemctl enable --now k3s

  • 检查 K3s 服务的运行状态
    sudo systemctl status k3s

  • 结果:

'q'退出

  • 使用 K3s 自带的 kubectl 查看集群节点状态,验证安装是否成功

  • 结果:
    sudo /usr/local/bin/k3s kubectl get nodes

  • 说明:K3s 已经成功安装并运行在你的 Linux 服务器上

6.下载k3d

  • 在windows 的终端:
  • 输入:
    cd E:\k3s-off
  • 通过 GitHub API 查询 k3d 的最新发布版本
$rel = Invoke-RestMethod -Uri "https://api.github.com/repos/k3d-io/k3d/releases/latest"
$version = $rel.tag_name
  • 下载指定版本的 k3d 二进制文件:
Invoke-WebRequest `
  -Uri "https://github.com/k3d-io/k3d/releases/download/$version/k3d-linux-amd64" `
  -OutFile "k3d"

  • 和下载k3s时一样的:

  • 从FinalShell上传:

  • ls查看:
    ls

  • 赋予执行权限,使下载的 k3d 二进制文件可执行
    chmod +x k3d

  • 将 k3d 移动到系统级目录,使其可以在任意路径下直接运行
    sudo mv k3d /usr/local/bin/

  • 验证安装
    k3d version

  • 可以看到:k3d 已经成功安装

posted @ 2025-06-19 21:17  lonely1220  阅读(164)  评论(0)    收藏  举报