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

news2024/11/16 17:59:06

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 版本。如下图所示:

Ubuntu 22
安装过程大概需要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/k3s

mv k3s /usr/local/bin/

chmod u+x /usr/local/bin/k3s

k3s --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

得到类似于下面的结果
k3s chekc-config

启动 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 -ls
 screen -r #

选项:安装 helm

Helm是一个流行的开源软件包管理器,用于在Kubernetes中部署和管理应用程序。Helm的设计目的是简化Kubernetes应用程序的部署、更新和回滚过程。它使用称为“Chart”的打包格式来打包应用程序,并使用称为“Release”的概念来管理这些应用程序的部署。

安装好 k3s 以后,可以使用下面的步骤来安装 helm

  • 下载最新版的 helm 安装包

使用下面的命令解压:

tar -zxvf helm-v3.0.0-linux-amd64.tar.gz

从文件夹中找到 helm 的二进制文件,使用下面的命令把它放到可执行文件夹下:

mv linux-amd64/helm /usr/local/bin/helm

输入以下命令就可以看到 helm 是否安装成功了。

helm version

总结

通过在 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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/439076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

能量密度的必要性:城市比乡村具有更高的能量密度

文章目录 引言I 人口密度1.1 人口密度太低对于经济的发展的不利因素1.2 足够的人口密度带来的好处1.3 乌鲁克城II 农耕文明和商业文明2.1 农耕文明2.2 商业文明III 有效掌握动力的文明处于优势3.1 苏美尔人- 轮子&风能的利用3.2 英国人- 以蒸汽机为代表的工业革命引言 文明…

LeetCode——根据二叉树创建字符串与二叉树的最近公共祖先

606. 根据二叉树创建字符串 给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。 空节点使用一对空括号对 “()” 表示,转化后需要省略所有不影响字符串与原始二…

C#医院体检管理系统源码,PEIS源码,C/S结构 oracle数据库

PEIS体检管理系统源码,医院体检系统源码PEIS源码,商业级源码 本套PEIS医院体检管理系统源码采用C/S结构,前台开发工具为Vs2012,后台数据库采用oracle大型数据库。 核心功能有:体检档案的录入、体检报告的输出、体检档…

震惊!ChatGPT可以用来炒股?

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 ChatGPT让我们见识了大模型技术的强大潜能,激发了市场的热情。 然而,对于大多数人而言,最关心的问题很可能是——如何用ChatGPT赚钱。谈到赚钱,最直接的就是金融,其…

word插入页码

word如何设置域http://zhidao.baidu.com/question/382747671/answer/3053706353 1、首先,我们打开我们电脑上面的word,然后我们点击插入。 2、然后我们点击工具栏中的文档部件,弹出的界面,我们点击域。 3、弹出的界面&#xff0c…

iOS设备和蓝牙模块连接基础知识

iOS设备和蓝牙模块连接基础知识 一:iOS连接外设的几种方式 如图下面几种方式: CoreBluetooth和ExternalAccessory,两个框架,基本上是蓝牙设备与iOS设备连接的方式 有图可知,EAP要MFi认证,要求设备的设计理…

pywebview搭建、运行、打包白屏

1、禁用微软商店引流 点击开始菜单输入管理应用执行别名搜索系统设置,将该列表划到最底部,找到python.exe和python3.exe,将其设置为关闭状态 这是微软搞的狗皮膏药,强制型环境变量 2、配置Python环境 1.考虑版本管理&#xff…

Docker原理与镜像管理

目录 一、虚拟化概述 虚拟架构 1、寄居架构 2、原生架构 两者的区别 虚拟化产品 虚拟化类型 二、Docker概述 Logo含义 Docker的设计宗旨 Docker与虚拟机的区别 Docker核心概念 镜像 容器 仓库 Docker Engine(引擎) Docker运行的原理 d…

组合设计模式解读

目录 问题引进 传统方案解决学校院系展示存在的问题分析 组合模式基本介绍 基本介绍 组合模式原理类图 对原理结构图的说明-即(组合模式的角色及职责) 应用实例 组合模式的注意事项和细节 问题引进 看一个学校院系展示需求 编写程序展示一个学校院系结构:需…

浏览器加 buff 指南-【超实用的浏览器工具】

今天这篇博客,说一说浏览器以及加 buff ,先说浏览器:地址:https://www.xduoyu.com/,里面的工具让你的浏览器变装为技术人员的专属利器。这里还要表扬一下,官网的宣传页做的越来越专业了,还打造了…

好的台灯和差的台灯的区别?盘点高品质的护眼台灯品牌

简单来说,好的台灯使用20分钟不会眼疲劳,可差的台灯使用10分钟就眼干涩、不舒服了。 这些年的LED灯具都做得非常成熟,台灯也是LED灯具,在频闪、蓝光、显色指数、均匀度等各种指标都将眼睛保护的很好,采用特殊的光学技…

Thinkphp+vued大学生租房管理系统mysql校园房屋租赁网站系统

学生租房管理系统是计算机技术和网络迅速发展的一个大学生租房信息应用解决方案。大学生租房平台将Internet网络技术与现代管理观念相融合,针对信息技术的特点对大学生租房平台进行规划和重构,对大学生租房信息流进行优化及合理配置,生成动态…

VNC 远程重装 Centos 系统

一、环境 1、环境准备 两台设备,一台为重装 Centos 机器( IP:192.168.206.30,hostname:centos1) ,确保 centos1本身开启了图形化界面GNOME,不是最小化安装的Linux 。一台为重装时,从获取安装程…

Django REST Framework(DRF)框架之视图集ViewSet与路由Router

DRF框架之视图集ViewSet 视图集ViewSet与路由Router视图集ViewSet路由Router视图集和路由的基本使用 视图集ViewSet的使用ViewSetGenericViewSetModelViewSetReadOnlyModelViewSet视图集添加其他方法视图集对象action属性 路由Router的使用SimpleRouterDefaultRouter基本使用自…

DELL R730 主板坏了,Raid5硬盘移到同型号服务器备忘

1、开机时按ctrlr进入raid设置页面 2、进入raid设置页面后可以看到没有找到虚拟磁盘,我们按F2打开操作菜单 3、选择菜单Foreign Config -> Import ,选择Yes开始导入硬盘中的raid配置 4、导入成功的话就可以看到虚拟盘了 5、按Esc退出 6、按ctrlaltd…

为什么网络安全缺口很大,招聘却很少?

2020年我国网络空间安全人才数量缺口超过了140万,就业人数却只有10多万,缺口高达了93%。这里就有人会问了: 1、网络安全行业为什么这么缺人? 2、明明人才那么稀缺,为什么招聘时招安全的人员却没有那么多呢&#xff1…

迅为RK3568核心板车载中控AVM一体机应用

RK3568M车载中控&AVM一体机方案搭载4核A55 CPU,G52-2EE GPU架构,1Tops算力NPU,支持1路4K 60fps或8路1080P 30fps的多格式解码和高达1080P 100fps的H.265编码,具备双千兆GMAC、三路CAN以及USB3.0/SATA3.0/PCIE3.0等丰富接口&am…

Windows安装mysql详细步骤

目录 1 【确认本地是否安装mysql】 2【下载mysql安装包】 3【添加配置文件并安装mysql】 4【修改mysql密码】 5【配置环境变量】 windows 只安装mysql服务的操作 1 【确认本地是否安装mysql】 (1)按【winr】快捷键打开运行; &#xff…

java基于蚁群算法路由选择可视化动态模拟

蚁群算法是一种新生的算法,具有很强的通用性。从提出到现在,仅短短10余年的时间,但是在离散型组合优化问题中。表现很突出,所以一起人们的关注。目前蚁群算法的研究者主要集中在比利时、意大利、德国等国家,美国和日本…

Muduo 异步log的实现

1. logging 日志(logging) 有两个意思: 诊断日志: 即是我们日常debug 使用的文本文件记录trace。常用的log 有log4j, logback, log4cpp, ezlogger等常用的日志库。交易日志: 即是数据库的write-ahead log, 文件系统的journaling 等, 用于记录状态的变更…