当前位置: 首页 > news >正文

wsl2安装rancher并导入和创建k8s集群

环境准备

  1. 安装wsl2点击此文]
  2. 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地址/
可以看到小清新界面:

image.png

我已经更改了密码,第一次使用会有重设密码的步骤。至此rancher安装成功

创建一台vmware 虚拟机安装k3s

注意vmware的虚机最好也装在ssd上!!!
一般来说最新版本安装步骤看官方中文文档,,这个步骤我重装了4次,无语了。后面采用离线安装方式。 安装前特别注意选择k3s的安装版本。查看步骤:

  1. 首先查看rancher的版本,登录rancher,点击左边的三横,调出左边菜单栏,最下边,中间会显示rancher版本号,如图。

image.png

然后在主页下面也会显示k3s的当前版本号。因为rancher本身其实是安装在k3s上的。查看一下k3s的版本,我的如图:

image.png

看了后有点吃惊,因为安装时候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。

image.png
点击后面的"explore"可以查看集群信息。

rancher 创建集群

卸载vmware 虚拟机上的k3s,按照此文 的创建集群部分,在vm上创建了新集群。如图:

image.png

至此任务完成,enjoy!

http://www.lryc.cn/news/349962.html

相关文章:

  • 内网环境ubuntu设置静态ip、DNS、路由,不影响网络访问
  • 学习前端第三十七天(静态属性静态方法、类检查、错误处理)
  • 全网最全的基于电机控制的38类simulink仿真全家桶----新手大礼包
  • Python使用asyncio包实现异步编程
  • 获取文件夹下的vue文件形成组件,require.context
  • 2024软件测试必问的常见面试题1000问!
  • C++列表实现
  • 论文合集整理推荐2024.5.15
  • JavaScript的跳转传参方式
  • 非阻塞模式下的读写操作
  • Google Ads谷歌广告账户被封停怎么办?
  • AI大模型探索之路-训练篇23:ChatGLM3微调实战-基于P-Tuning V2技术的实践指南
  • 掌握核心概念:Java高级面试难题精解(一)
  • Nagle算法
  • MPLS小实验
  • MongoDB聚合运算符:$week
  • 【Linux】如何定位客户端程序的问题
  • AI学习指南数学工具篇-PCA基础知识
  • 《系统架构设计师教程(第2版)》第4章-信息安全技术基础知识-02-信息加密技术
  • Leetcode 404:左叶子之和
  • Keil问题解决:结构体数组初始化,初始化后的值不是目标值
  • C++set关联式容器
  • Celery Redis 集群版连接和PyCharm启动配置
  • 「AIGC算法」readLink实现url识别pdf、网页标题和内容
  • Vue3+ts(day06:路由)
  • springboot集成dubbo实现微服务系统
  • idea使用gitee基本操作流程
  • Docker容器里面有什么东西?
  • vue基础+高级用法
  • 鸿蒙应用布局ArkUI【基础运用案例】