环境准备
- 安装wsl2点击此文]
- ubuntu20.04安装docker 点击此文,安装完成后docker镜像仓库改成阿里云镜像加速地址.如果不熟请点击此文
docker 安装rancher
启动wsl,根据官方文档以root身份执行
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher
然后是漫长等待,docker需要拉取1-2G的镜像,等待容器启动后,访问
http://wslIP地址/ 等待时间过长,无法访问。执行
docker logs -f 容器ID
查看日志:
etcdserver: read-only range request "key:\"/registry/configmaps\" range_end:\"/registry/configmapt\" count_only:true " with result "range_response_count:0 size:7" took too long (117.801502ms) to execute
搜索rancher的issue列表,突然看到一个关于固态硬盘和机械硬盘的回答。于是把原来在c盘的wsl迁移到了d盘,然后在迁移回c盘,我的C盘是ssd固态,其他为机械盘。因为etcd对硬盘io性能比较敏感。迁移方法参考此文
windows terminal 执行 wsl -d Ubuntu 进入ubuntu 20.04,启动rancher容器,访问 http://wslIP地址/
可以看到小清新界面:
我已经更改了密码,第一次使用会有重设密码的步骤。至此rancher安装成功
创建一台vmware 虚拟机安装k3s
注意vmware的虚机最好也装在ssd上!!!
一般来说最新版本安装步骤看官方中文文档,,这个步骤我重装了4次,无语了。后面采用离线安装方式。 安装前特别注意选择k3s的安装版本。查看步骤:
- 首先查看rancher的版本,登录rancher,点击左边的三横,调出左边菜单栏,最下边,中间会显示rancher版本号,如图。
然后在主页下面也会显示k3s的当前版本号。因为rancher本身其实是安装在k3s上的。查看一下k3s的版本,我的如图:
看了后有点吃惊,因为安装时候rancher最新release是v2.8.3,而docker拉取的latest镜像却是2.6.3! 估计是阿里云镜像更新没有很及时,有大佬知道请指教一下。
安装k3s前看一下rancher和k3s的版本对应关系,点击[官方matrix] (https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-6-3/) v2.8.3明确列出了支持可导入的k3s版本,而v2.6.3并没有。但是它列出了local cluster的有效版本。我就重新离线安装了它支持的最高版本:v1.21.7+k3s1。如果版本不对应rancher中导入的集群会一直pending。
vmware虚拟机离线安装k3s v1.21.7+k3s1版本
根据此文采用 Containerd + 手动部署镜像方式的方式安装成功了k3s 这样可以避免再安装docker.
虚机shell执行:
systemctl status k3s
确定服务在running
rancher导入外部k8s集群
然后回到rancher,在主页面或者集群管理界面点击导入k8s集群导入k3s,具体步骤点击此文
集群状态顺利变成了active。
点击后面的"explore"可以查看集群信息。至此任务完成。enjoy!