目的:使用安装在 WSL2 中的 Ubuntu 作为云原生应用的开发环境。
所需安装:MicroK8S,需要 systemd、snap
参考:
- https://ubuntu.com/blog/ubuntu-wsl-enable-systemd
- https://devblogs.microsoft.com/commandline/systemd-support-is-now-available-in-wsl/
WSL 版本:
WSL version: 0.70.4.0
Kernel version: 5.15.68.1
WSLg version: 1.0.45
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.22000.1098
结果(应用参考文献后):
~# ps -ef
root 1 0 0 16:22 ? 00:00:02 /sbin/init # I think this should be systemd
~# sudo snap install microk8s --classic
Interacting with snapd is not yet supported on Windows Subsystem for Linux. This command has been left available for documentation purposes only.
有什么错误/缺失
提前致谢。
阿里
** **:我之前曾尝试过 20.04 和 22.04,方法是添加 wsl.conf 并设置 [boot] systemd=true
答案1
正如所指出的WSL 299。Snap 无法与 Ubuntu 22.10 配合使用,您需要等待 snapd 2.57.5+22.10 发布。您可以等待或降级到 Ubuntu 22.04 LTS。
答案2
我尝试在同一台主机上安装多节点集群。步骤 1 lxd init:除“新存储池的名称”外,其他均默认步骤 2 节点 1:lxc lxc 启动 ubuntu:20.04 k8sn1 节点 2:lxc lxc 启动 ubuntu:20.04 k8sw1 节点 3:lxc lxc 启动 ubuntu:20.04 k8sw2 步骤 3:lxc exec k8sn1 bash 运行脚本https://github.com/pablorq/ubuntu-wsl2-systemd-script(更改 enter-systemd-namespace 脚本 -a -> -m -p 后)步骤 4:重新启动并重复步骤 5:ps -ef:systemd enabled,snapd,lxd ok!步骤 6:sudo snap install microk8s --classic 从现在开始似乎很奇怪:
microk8s status --> microk8s 未运行。使用 microk8s inspect 进行更深入的检查。microk8s kubectl cluster-info --> Kubernetes 控制平面正在运行https://127.0.0.1:16443 microk8s kubectl 获取全部 --all-namespaces --> kube-system pod/calico-node-tdclz 1/1 正在运行 0 98s kube-system pod/calico-kube-controllers-f4c5ffbdc-xfxfc 1/1 正在运行 0 98s
命名空间名称类型集群 IP 外部 IP 端口年龄默认服务/kubernetes ClusterIP 10.152.183.1 443/TCP 105s
命名空间名称 期望 当前 就绪 最新 可用 节点选择器 年龄 kube-system daemonset.apps/calico-node 1 1 1 1 1 kubernetes.io/os=linux 104s
命名空间名称 就绪 最新 可用 年龄 kube-system deploy.apps/calico-kube-controllers 1/1 1 1 104 秒
命名空间名称 期望当前就绪年龄 kube-system replicaset.apps/calico-kube-controllers-54c85446d4 0 0 0 100 秒 kube-system replicaset.apps/calico-kube-controllers-f4c5ffbdc 1 1 1 98 秒
我觉得是时候放弃使用 wsl 作为 kubernetes 的开发环境了。
注意:host 和 lxc 具有相同的 Ubuntu 版本,20.04
lxc 存储列表 --> 名称 | 驱动程序 | 来源 | 描述 | 使用者 | 状态 | +---------+--------+--------------------------------------------+-------------+---------+---------+ | iot-lab | btrfs | /var/snap/lxd/common/lxd/disks/iot-lab.img | | 3 | 已创建
lxc 网络列表 -->
eth0 | 物理 | 否 | | | | 0 | | +--------+-----------+---------+---------------+---------------+-------------+---------+ | lxdbr0 | 桥接 | 是 | 10.25.76.1/24 | fd42:e2dc:d3f6:4774::1/64 | | 2 | 已创建 | +--------+-----------+---------+---------------+---------------+------------+---------