> 文章列表 > 如何在 Windows WSL 上安装 k3s (Kubernetes / k8s)

如何在 Windows WSL 上安装 k3s (Kubernetes / k8s)

如何在 Windows WSL 上安装 k3s (Kubernetes / k8s)

WSL,全称Windows Subsystem for Linux,是微软在Windows 10操作系统上开发的一种运行Linux应用程序的子系统。它允许用户在Windows系统中直接运行Linux命令行工具和应用程序,无需双重引导或虚拟机。

相比虚机,WSL提供了更加高效、轻量级、无缝、兼容的开发环境,可以帮助开发人员更加高效地完成开发工作。同时,WSL也不会占用过多的系统资源,这使得开发人员可以更加专注于开发任务而非系统维护。

k3s是一个轻量级的、易于安装和管理的Kubernetes发行版,由Rancher Labs开发。它专注于简化Kubernetes的部署和管理,适用于边缘计算、IoT和开发团队等场景,旨在提供更简单、更轻量、更易于使用的Kubernetes体验。

本文介绍如何在 WSL 上安装 k3s 从而让开发者可以更方便地学习、开发和部署 k8s应用。

前提条件

在使用本教程之前,开发者的电脑必须满足以下条件:

  • Windows 10 build 大于 19041
  • 已安装 WSL
  • 熟悉 Linux 命令行

把 WSL 默认版本设置为 2

在安装完 WSL 后, WSL 的默认版本是 1。k3s 只能安装在 WSL 版本 2 上。请运行以下命令把 WSL 的默认版本设置为 2

wsl --set-default-version 2

这样我们新安装的 Linux 默认都会运行在 WSL 2 上。

安装 Ubuntu 22

k3s 需要最新的 Ubuntu 版本。我们可以通过微软应用商店安装。

打开微软应用商店,搜索 ubuntu,选择 Ubuntu 22 LTS 版本。如下图所示:

如何在 Windows WSL 上安装 k3s (Kubernetes / k8s)
安装过程大概需要5-10分钟。安装结束后在开始菜单找到 ubuntu 22,启动它。启动后可以输入以下命令确认是否正在使用的 wsl 版本是 ubuntu 22.

cat /etc/os-release

你可以看到类似下面的结果:

PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

安装 k3s

安装 k3s 的步骤比较简单。

  • 从 github 下载最新的 k3s 版本
  • 复制文件到 /usr/local/bin
  • 把文件设置为可执行

下面的命令执行以上步骤:

wget https://github.com/k3s-io/k3s/releases/download/v1.26.3%2Bk3s1/k3smv k3s /usr/local/bin/chmod u+x /usr/local/bin/k3sk3s --version

注意以上命令可能需要 sudo。以下是执行了 k3s --version 以后可能看到的结果。

k3s version v1.26.3+k3s1 (01ea3ff2)
go version go1.19.7

k8s 和 iptables 配合的更好。执行以下命令把 ubuntu 的防火墙设置为 iptables.

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy

检查 k3s 的配置情况

运行以下命令检查 k3s 的配置情况:

k3s check-config

得到类似于下面的结果
如何在 Windows WSL 上安装 k3s (Kubernetes / k8s)

启动 k3s 服务

输入以下命令启动 k3s 服务

screen -d -m -L -Logfile /var/log/k3s.log /usr/local/bin/k3s server

可以使用下面的命令查看 k3s 服务的日志:

tail -F /var/log/k3s.log

如果想停止 k3s 服务可以输入以下命令,切换至 k3s 服务的对话,然后输入 ctl+c

 screen -lsscreen -r #

总结

通过在 WSL 中安装 Ubuntu 22,然后执行 k3s 脚本,开发者可以在 Windows 上方便的开发和测试 Kubernetes 应用和服务。

参考文档

  • https://www.jeffgeerling.com/blog/2022/quick-hello-world-http-deployment-testing-k3s-and-traefik
  • https://boxofcables.dev/deploying-rancher-on-k3s-on-wsl2/