windows安装kubesphere
背景:个人widows系统笔记本用于练习搭建k8s可视化工具kubesphere。对遇见的一些问题做记录,以对其他有兴趣的同学能有所帮助。
方案:wsl+multipass+k3s+kubesphere。
原因:通过windows自带的wsl可以支持Linux虚拟机环境,比VMware需要安装软件操作更简单,multipass可以方便的构建和管理多个linux系统。k3s相比于k8s更轻便更简单,相比于minikube只支持单节点来说,k3s支持多节点更适合运用练习。
一、wsl启动
wsl介绍:适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境
-
检查版本 ,确保你的Windows版本在2004以上或者Windows11,同时按WIN+R键并输入winver并回车可在弹出窗口内看到Windows版本和版本号
-
在控制面板打开WSL功能 在Windows任务的栏搜索框内搜索控制面板并打开,点击程序进入下一级。
-
设置支持wsl ,点击启用或关闭Windows功能找到Windows虚拟机监控程序平台、适用于Linux的Windows子系统、虚拟机平台勾选上并点击确定。最后系统完成更改并重启。
-
控制台安装Linux 查看在线WSL支持的Linux,打开控制台输入wsl --list --online或者wsl -l -o可以看到如下信息(左侧是使用wsl安装时使用的分发名,右侧是对应的Linux发行版及版本)。在控制台输入wsl --install -d 后面跟自己想要安装的Linux版本并回车就可以开始下载安装,例:wsl --install -d Ubuntu-22.04
以下是可安装的有效分发的列表。
使用 ‘wsl.exe --install ’ 安装。NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed -
应用商店安装Linux 应用商店搜索Linux,选择版本下载就行,我这边用的是ubuntu的系统;
坑一:oraclelinux虽然底层系统是redhat,但安装service,systemctl等控制命令报错,本人也没查到有效的解决方式
二、安装Multipass(不想多节点可以跳过本步骤)
Multipass介绍:Multipass是一个轻量级的虚拟机管理工具,
可以用来在本地快速创建和管理虚拟机
1.安装Multipass cmd打开控制台,输入wsl登录linux子系统,输入以下指令安装;
# Linux
sudo snap install multipass
- 构建虚拟机节点 输入以下指令构建k1,k2虚拟机节点;
multipass launch --name k1 --cpus 2 --memory 8G --disk 10G
multipass launch --name k2 --cpus 2 --memory 8G --disk 10G
multipass list 指令可以查看节点列表和对应ip地址,指令multipass shell k1进入节点。
三、安装k3s
docker介绍:用于构建和容器化程序的开源容器化技术
- 安装docker sudo -i 切到root权限。指令apt install docker.io 安装docker,输入y确定。
k3s介绍:轻量级k8s。
- 安装k3s主节点 输入下方指令进行安装,安装结束后,指令sudo cat /var/lib/rancher/k3s/server/node-token查看token。
# 安装k3s的master节点
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
安装结束后,vi /etc/rancher/k3s/registries.yaml 创建文件。输入以下代码保存文件。保存后,输入指令systemctl daemon-reload 执行,再输入指令systemctl restart k3s重启k3s。坑二:换成国内镜像源,不然拉不下来
mirrors:
docker.io:
endpoint:
- "https://docker.m.daocloud.io"
- 安装k3s子节点(不想多节点可以跳过本步骤) exit 退出节点k1。指令multipass shell k2进入k2,输入如下指令安装子节点,K3S_TOKEN 使用的值为之前查看的token,myserver为创建的k1节点ip地址。回到k1,指令sudo kubectl get nodes可以查看所有节点。
# 安装k3s的node节点
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -
四、安装kubeshpere
Calico介绍:是一套开源的网络和网络安全解决方案
4. 安装calico 下载 calico 配置文件,输入指令
curl https://docs.tigera.io/archive/v3.25/manifests/calico.yaml -O
# 删除镜像 docker.io/ 前缀,避免下载过慢导致失败
sed -i 's#docker.io/##g' calico.yaml
#构建
kubectl apply -f calico.yaml
helm介绍:Helm 是 Kubernetes 的包管理器
- 安装helm输入以下指令安装helm。安装结束后,输入指令 export KUBECONFIG=/etc/rancher/k3s/k3s.yaml 配置helm。( helm 默认使用的是 kubectl 默认位置配置文件,对于 k3s 的情况,我们只需要明确为设置 KUBECONFIG 的值后即可正常使用)
sudo snap install helm --classic
KubeSphere介绍:是基于 Kubernetes 内核的分布式多租户商用云原生操作系统
- 安装kubeshpere输入指令以下指令安装。
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.com.cn/main/ks-core-1.1.3.tgz --debug --wait --set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks
五、反向代理(不想多节点可以跳过本步骤)
nginx介绍:是一个HTTP和反向代理web服务器
- 安装nginx exit,exit,两次退出指令退出到Linux子系统。输入以下指令安装nginx,
坑三:因为linux子系统到mutipass创建的k1主节点不互通,需要反向代理到k1节点。注意:这里nginx不是安装在mutipass构建的k1或k2节点。而是wsl的linux子系统!!!
sudo apt-get install nginx -y
- 配置反向代理 输入指令vi /etc/nginx/nginx.conf进入配置文件,在http内添加如下内容,ip地址填kubeshpere展示的ip地址。esc退出wq保存。输入指令sudo systemctl start nginx启动nginx。
server {
listen 30880;
server_name _;
location / {
proxy_pass http://10.170.253.76:30880;
}
}
六、访问kubeshpere
- 访问kubeshpere 打开浏览器输入http://localhost:30880,请求会透传到linux子系统,然后通过nginx反向代理到k1节点,访问到kubeshpere。输入账号密码登录
制作不易,给个赞吧!!!