wsl2安装rancher并导入和创建k8s集群
环境准备
- 安装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"可以查看集群信息。
rancher 创建集群
卸载vmware 虚拟机上的k3s,按照此文 的创建集群部分,在vm上创建了新集群。如图:

至此任务完成,enjoy!
相关文章:
wsl2安装rancher并导入和创建k8s集群
环境准备 安装wsl2点击此文]ubuntu20.04安装docker 点击此文,安装完成后docker镜像仓库改成阿里云镜像加速地址.如果不熟请点击此文 docker 安装rancher 启动wsl,根据官方文档以root身份执行 sudo docker run -d --restartunless-stopped -p 80:80 -p 443:443 --privileged …...
内网环境ubuntu设置静态ip、DNS、路由,不影响网络访问
内网环境通常是有线的,通过服务器的ip、mac、dns地址访问网络才生效的,如果ip地址变了,就不能访问网络了。 如果你的ip地址变了,或者要防止ip变更影响网络访问,就要设置 1、依次点击右上角的电源-设置,在打…...
学习前端第三十七天(静态属性静态方法、类检查、错误处理)
一、静态属性和静态方法 1、静态属性静态方法 在属性和方法前加上static,创建属于类自己的属性和方法 class Person {// 加static,属于类自己的static name "xc"; // 类的name属性static height 183; // 类的height属性static age 20;…...
全网最全的基于电机控制的38类simulink仿真全家桶----新手大礼包
整理了基于电机的38种simulink仿真全家桶,包含多种资料,类型齐全十分适合新手学习使用。包括但是不局限于以下: 1、基于多电平逆变器的无刷直流电机驱动simulink仿真 2、基于负载转矩的感应电机速度控制simulink仿真 3、基于滑膜观测器的永…...
Python使用asyncio包实现异步编程
1. 异步编程 异步编程是一种编程范式,用于处理程序中需要等待异步操作完成后才能继续执行的情况。异步编程允许程序在执行耗时的操作时不被阻塞,而是在等待操作完成时继续执行其他任务。这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有…...
获取文件夹下的vue文件形成组件,require.context
前言:项目中现有一个文件里面包含所有需要用到的组件,如果一个个的去import,则会非常麻烦,现有require.context去实现, 1、require.context var request require.context(‘./module’, true, /.js$/) require.cont…...
2024软件测试必问的常见面试题1000问!
01、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法&…...
C++列表实现
文章目录 一、listView相关内容主要思想实例全部代码 二、QTreeView 一、listView 相关内容 QAbstractItemModel:一个抽象的类,为数据项模型提供抽象的接口,常见的的数据模型列如:QStringListModel,QStandardItemMode,QDirModel…...
论文合集整理推荐2024.5.15
2012年论文合集:论文入口 2019年论文合集:论文入口 2022年论文合集:论文入口 2023年论文合集:论文入口 2024年论文合集:论文入口...
JavaScript的跳转传参方式
在JavaScript中,页面跳转并传递参数通常可以通过几种不同的方式来实现。下面是一些常见的方法: 1.URL参数(Query String) 这是最常见的方式,通过在URL的末尾添加参数来实现。例如: javascriptwindow.loc…...
非阻塞模式下的读写操作
实现文件IO的非阻塞模式的读写操作 fcntl函数 功能: #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ ); // arg表示可变参数,由cmd决定 fcntl()对打开的文件描述符fd执行下面描述的操作之一。操作由cmd决…...
Google Ads谷歌广告账户被封停怎么办?
跨境出海业务少不了需要做Google Ads推广业务;其中让投手们闻风丧胆的消息就是帐户被暂停。当 Google 检测到任何违反其政策且可能损害用户在线体验的行为时,就会发生这种情况。那么如何在做广告推广的同时,保证账号不被封禁呢?看…...
AI大模型探索之路-训练篇23:ChatGLM3微调实战-基于P-Tuning V2技术的实践指南
系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…...
掌握核心概念:Java高级面试难题精解(一)
Java 高级面试问题及答案 问题1: 在Java中,什么是泛型擦除?为什么需要它? 答案: 泛型擦除是Java编译器的一个特性,它在运行时移除泛型类型信息,以确保类型安全。Java的泛型是在J2SE 1.5中引入的ÿ…...
Nagle算法
Nagle算法简介 Nagle算法主要是避免发送小的数据包,要求TCP连接上最多只能有一个未被确认的小分组,在该分组的确认到达之前不能发送其他的小分组。 在默认的情况下,Nagle算法是默认开启的,Nagle算法比较适用于发送方发送大批量的小数据&…...
MPLS小实验
实验图: 实验要求: 要求使用MPLS技术,将实验通,并在实验结束后使用命令:tracert -v -a 看是否基于标签进行转发。 如上:在每台路由器上都有两个环回,一个用于模拟用户网段,一个用于M…...
MongoDB聚合运算符:$week
MongoDB聚合运算符:$week 文章目录 MongoDB聚合运算符:$week语法使用举例 $week聚合运算符返回指定日期日期为一年中第几周的数字值为0到53之间。周从周日开始,第1周从一年的第一个周日开始。一年中第一个星期日之前的日期为第0周。这和 str…...
【Linux】如何定位客户端程序的问题
文章目录 1 客户端程序和服务端程序的差别2 问题类型2.1 崩溃(crash)2.2 CPU高2.3 内存高2.4 线程卡死 3 总结 1 客户端程序和服务端程序的差别 客户端程序是运行在终端上,通常都会与业务系统共存,而服务端程序通常会运行在单独的节点上,或者…...
AI学习指南数学工具篇-PCA基础知识
AI学习指南数学工具篇-PCA基础知识 1. PCA是什么? PCA,即主成分分析(Principal Component Analysis),是一种常用的数据降维技术。它通过线性变换将原始数据投影到一个新的坐标系中,旨在找到数据中的“主成…...
《系统架构设计师教程(第2版)》第4章-信息安全技术基础知识-02-信息加密技术
文章目录 1. 信息加密技术1.1 数据加密1.2 对称密钥加密算法1)数据加密标准(DES)2)三重DES(Triple-DES)3)国际数据加密算法(IDEA)4)高级加密标准(AES…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
