wsl2开启k8s思路过程整理
前言搞java的自学k8s,一堆配置各种问题。最早我直接使用docker desktop自带的k8s,问题是一次不小心升级后,就再也无法启动了。删除重装了好几次都没用。我就思考能不能通过wsl2 直接开启k8s,所以绕了很多弯路。vmware16太折腾了,还有我忘记密码了opensuse这个后面再搞,直接能进入界面,但是终端好多命令需要输入密码,关键终端挺难用的。资源分配到少就卡,资源多了,占地方
前言
搞java的自学k8s,一堆配置各种问题。最早我直接使用docker desktop自带的k8s,问题是一次不小心升级后,就再也无法启动了。删除重装了好几次都没用。我就思考能不能通过wsl2 直接开启k8s,所以绕了很多弯路。
vmware16太折腾了,还有我忘记密码了opensuse这个后面再搞,直接能进入界面,但是终端好多命令需要输入密码,关键终端挺难用的。资源分配到少就卡,资源多了,占地方。需要经常切出鼠标在两个系统之间来回走,没有纯命令的wsl2流畅。
准备工作
wsl1的内核无法更新。捂脸😓,一度试图自己下载官网linux kernel
其实很早之前我就已经开启了wsl2,但是后面因为从应用商店下载的子系统会安装在C盘,实在感觉难受,就是用LXRUNOFFLINE 将linux安装到其他盘符。但是因为我是从本地应用商店删除了子系统,所以重新安装ubuntu20.02默认系统就被还原成wsl1了,也就是初始内核4.4.4 。wsl1的linux是阉割版的,也就是说功能有些缺陷。所以需要重新升级到wsl2,这样就能使用lxss自己管理的内核文件,实在是因为哪怕wsl2的linux也是不够完善的linux,无法使用systemctl命令,也就是说,在开启k8s集群的时候,就有各种问题。wsl2更新ubuntu子系统内核。
需要注意的是,无论你在应用商店安装了几个linux子系统,他们使用的是同一个内核。证据就是我打开了centos和ubuntu两个子系统内核版本一致。
然后就是解决wsl2无法使用systemd和systemctl命令无法使用。
参考Enable systemd in WSL 2, 其实也出了一点错,你需要直接去文章链接的github自己修改版本信息。安装后,就可以通过 apt install 安装systemd和systemctl了。
原始地址
我是通过浏览器下载的可执行文件,不带后缀名的,修改文件为kind,放置在文章提示的位置。
开始安装k8s
我用谷歌搜了关键字 wsl2 k8s 有个工具microk8s,这个因为需要使用三方snap安装,被我放弃了
然后参考wsl2安装k8s
这篇文章我直接从安装k8s开始。前面的行不通。
文章包含的链接是我认为比较重要的步骤,我自己其实还参考了不少文章。
看着比较乱,因为大部分都是我走了弯路,我一开始就只打算在wsl2内首先开启docker,然后开启k8s,每次都是docker安装完后,k8s就是各种问题,普遍就是systemd和systemctl无法使用导致很多脚本执行失败。目前普遍思路就是k8s以docker容器的形式存在,以容器管理docker容器。 好像就是这么说吧。
更多推荐
所有评论(0)