3.3.k8s搭建-rancher RKE2
目录
RKE2介绍
k8s集群搭建
搭建k8s集群
下载离线包
部署rke2-server
部署rke2-agent
部署helm
部署rancher
RKE2介绍
RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。
官网地址:Introduction | RKE2
k8s集群搭建
搭建k8s集群
k8s版本为v1.28.3+rke2r2,runtime为containerd,使用rke2进行部署。
下载离线包
官网下载地址:https://github.com/rancher/rke2/releases/tag/v1.28.3%2Brke2r2
离线包分为x86和arm不同的架构,下载时根据现场环境进行下载。
部署rke2-server
将离线包下载到master节点。
# 本例中,master主机为x86架构,ip为192.168.100.101
# 将tar文件下载到/data
cd /data
tar -zxvf rke2-offline-v1.28.3.tar.gz
[root@master1 data]# cd rke2-offline/
[root@master1 rke2-offline]# ls
install.sh rke2-images.linux-amd64.tar.zst rke2.linux-amd64.tar.gz sha256sum-amd64.txt
[root@master1 rke2-offline]#
# 执行install脚本
INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh
# 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)
mkdir -p /etc/rancher/rke2
vim /etc/rancher/rke2/config.yaml
token: k8s-rke2-secret
node-name: k8s-rke2-server01
node-label:
- "role=master"
# 启动服务rke2-server,默认会安装在/var/lib/kubelet和/var/lib/rancher
systemctl enable rke2-server
systemctl start rke2-server
# 如果现场的根目录比较小,可以改为/data/lib,方法如下
mkdir -p /data/lib /var/lib/kubelet
cd /data/lib/
mv /var/lib/kubelet .
mv /var/lib/rancher .
cd /var/lib/
ln -s /data/lib/rancher rancher
ln -s /data/lib/kubelet kubelet
# 查看日志
journalctl -u rke2-server.service -f
# 复制kubeconfig文件,复制常用工具
mkdir ~/.kube
ln -s /etc/rancher/rke2/rke2.yaml ~/.kube/config
chmod 600 ~/.kube/config
ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml
ln -s /var/lib/rancher/rke2/bin/kubectl /usr/bin/kubectl
ln -s /var/lib/rancher/rke2/bin/crictl /usr/bin/crictl
# kubectl自动补全
echo 'source <(kubectl completion bash)' >> ~/.bashrc
source ~/.bashrc
# 常用的指令
kubectl get node
crictl ps
crictl images
至此,rke2-server部署完成。
部署rke2-agent
将离线包下载到worker节点;
如果有多个worker节点,每次节点均需要下载离线包。
# 本例中,worker主机为x86架构,
# 将tar文件下载到/data
cd /data
tar -zxvf rke2-offline-v1.28.3.tar.gz
[root@work1 data]# cd rke2-offline/
[root@work1 rke2-offline]# ls
install.sh rke2-images.linux-amd64.tar.zst rke2.linux-amd64.tar.gz sha256sum-amd64.txt
# 执行install脚本
INSTALL_RKE2_TYPE="agent" INSTALL_RKE2_ARTIFACT_PATH=/data/rke2-offline sh install.sh
# 编写config.yaml文件(默认配置文件为/etc/rancher/rke2/config.yaml)
mkdir -p /etc/rancher/rke2
vim /etc/rancher/rke2/config.yaml
## server为master主机ip,端口为9345
server: https://192.168.100.101:9345
token: k8s-rke2-secret
node-name: k8s-rke2-agent01
node-label:
- "role=agent"
# 启动服务rke2-agent,默认会安装在/var/lib/kubelet和/var/lib/rancher.
systemctl enable rke2-agent
systemctl start rke2-agent
# 如果现场的根目录比较小,可以改为/data/lib,方法如下
mkdir -p /data/lib /var/lib/kubelet
cd /data/lib/
mv /var/lib/kubelet .
mv /var/lib/rancher .
cd /var/lib/
ln -s /data/lib/rancher rancher
ln -s /data/lib/kubelet kubelet
# 查看日志
journalctl -u rke2-agent.service -f
# 在master节点查看
[root@master1 data]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-rke2-agent01 Ready <none> 3h8m v1.28.3+rke2r2
k8s-rke2-server01 Ready control-plane,etcd,master 4h2m v1.27.12+rke2r1
[root@master1 data]#
至此,rke2-agent部署完成。
部署helm
官网下载地址:Releases · helm/helm · GitHub
[root@master1 data]# tar -xvf helm-v3.12.3-linux-amd64.tar.gz
linux-amd64/
linux-amd64/LICENSE
linux-amd64/README.md
linux-amd64/helm
[root@master1 data]# mv linux-amd64/helm /usr/local/bin/
部署rancher
# 添加Helm repo
## Latest:建议用于试用最新功能
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
## Stable:建议用于生产环境
helm repo add rancher-stable https://releases.rancher.com/server-charts/stable
# 本次下载的为最新版2.8.1
helm search repo rancher -l
helm fetch rancher-latest/rancher --version=2.8.1
# 为Rancher创建命名空间
kubectl create namespace cattle-system
# 安装cert-manager
# 如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.2/cert-manager.crds.yaml# 添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io# 更新本地 Helm Chart 仓库缓存
helm repo update# 安装 cert-manager Helm Chart
helm install cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.13.2
# 安装rancher
# helm install 自定义名称 chart名称 名称空间
helm install rancher rancher \
--namespace cattle-system \
--set hostname=rancher.test.com \
--set replicas=1 \
--set bootstrapPassword=admin
#等待 Rancher 运行,查看状态
NAME: rancher
LAST DEPLOYED: Thu Apr 4 13:55:25 2024
NAMESPACE: cattle-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Rancher Server has been installed.
## 浏览器打开
https://rancher.test.com
需配置本地hosts文件
至此,rancher部署完成。
相关文章:
3.3.k8s搭建-rancher RKE2
目录 RKE2介绍 k8s集群搭建 搭建k8s集群 下载离线包 部署rke2-server 部署rke2-agent 部署helm 部署rancher RKE2介绍 RKE2,也称为 RKE Government,是 Rancher 的下一代 Kubernetes 发行版。 官网地址:Introduction | RKE2 k8s集群搭…...
CST电磁仿真软件的设置变更与问题【官方教程】
保存结果的Result Navigator 积累的结果一目了然! 用户界面上的Result Navigator 在一个仿真工程中更改变量取值进行仿真分析或者改变设置进行仿真分析时,之前的1DResult会不会消失呢? 1D Result:CST中1D Result指的是Y值取决…...
保研线性代数复习3
一.基底(Basis) 1.什么是生成集(Generating Set)?什么是张成空间(Span)? 存在向量空间V(V,,*),和向量集(xi是所说的列向量ÿ…...
从零开始学Spring Boot系列-集成MyBatis-Plus
在Spring Boot应用开发中,MyBatis-Plus是一个强大且易于使用的MyBatis增强工具,它提供了很多实用的功能,如代码生成器、条件构造器、分页插件等,极大地简化了MyBatis的使用和配置。本篇文章将指导大家如何在Spring Boot项目中集成…...
【云原生篇】k8s之Deployment详解
Kubernetes 的 Deployment 是一种管理声明式更新的资源对象,它允许你描述应用的期望状态,并由 Deployment 控制器自动将当前状态改变为期望状态。Deployment 主要用于无状态应用的部署和扩展,但也可以用于有状态应用。 核心功能 自动化部署…...
linux安装dubboAdmin
1.环境准备: jdk-8u391-linux-x64apache-maven-3.9.6apache-tomcat-8.5.100 2.安装注册中心zookeeper zookeeper的安装看我的另一篇文章,安装完成后保持启动状态 linux安装Zookeeper的详细步骤-CSDN博客 3.安装dubboadmin 源码下载地址:R…...
Android 系统编译 and 应用裁剪
平台应用编译 平台应用demo的Android.mk写法: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS)LOCAL_MODULE_TAGS := optional# Only compile source java files in this apk. LOCAL_SRC_FILES := $(call all-java-files-under, src)LOCAL_PACKAGE_NAME := TestLOCAL_CER…...
java数组.day16(冒泡排序,稀疏数组)
冒泡排序 冒泡排序无疑是最为出名的排序算法之一,总共有八大排序! 冒泡的代码还是相当简单的,两层循环,外层冒泡轮数,里层依次比较,江湖中人人尽皆知。 我们看到嵌套循环,应该立马就可以得出这个算法的时…...
vue+springboot多角色登录
①前端编写 将Homeview修改为manager Manager: <template><div><el-container><!-- 侧边栏 --><el-aside :width"asideWidth" style"min-height: 100vh; background-color: #001529"><div style"h…...
使用 ADB 查找应用名称和活动名称,并启动指定页面
知识点和难题: 查找应用名称和活动名称: 使用 ADB 命令 adb shell dumpsys window | findstr mCurrentFocus 可以查找当前设备上活动的应用名称和活动名称。 保存输出结果: 将命令的输出结果保存到文件中,方便后续使用。 启动指…...
LangChain - 文档转换
文章目录 一、文档转换器 & 文本拆分器文本拆分器 二、开始使用文本拆分器三、按字符进行拆分四、代码分割 (Split code)1、PythonTextSplitter2、JS3、Markdown4、Latex5、HTML6、Solidity 五、MarkdownHeaderTextSplitter1、动机2、Use case 六、递归按字符分割七、按tok…...
【C++】STL--list
目录 list的介绍 list的使用 list的构造 list iterator的使用 list capacity list modifiers list的迭代器失效 list模拟实现 list的介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。 2. list的底层是双向…...
二. CUDA编程入门-双线性插值计算
目录 前言0. 简述1. 执行一下我们的第十个CUDA程序2. Bilinear interpolation3. 代码分析总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》,链接。记录下个人学习笔记,仅供自己参考 Note:关于 CUDA 加速双线程插值的内容博主…...
实时计算平台设计方案:913-基于100G光口的DSP+FPGA实时计算平台
基于100G光口的DSPFPGA实时计算平台 一、产品概述 基于以太网接口的实时数据智能计算一直应用于互联网、网络安全、大数据交换的场景。以DSPFPGA的方案,体现了基于硬件计算的独特性能,区别于X86GPU的计算方案,保留了高带宽特性&…...
Glide系列-自定义ModuleLoader
在当今快速发展的移动应用领域,图片的高效加载和显示对于提供流畅用户体验至关重要。Glide作为一款强大的图片加载库,已经成为Android开发者的首选工具之一。但是,你有没有遇到过Glide默认不支持的模型类型,或者需要对图片加载过程…...
设计模式——责任链模式13
责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批,问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式,一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…...
Linux云计算之Linux基础3——Linux系统基础part-2
1、终端、shell、文件理论 1、终端 终端(terminal):人和系统交互的必要设备,人机交互最后一个界面(包含独立的输入输出设备) 物理终端(console):直接接入本机器的键盘设备和显示器虚拟终端(tty):通过软件…...
HBase详解(2)
HBase 结构 HRegion 概述 在HBase中,会从行键方向上对表来进行切分,切分出来的每一个结构称之为是一个HRegion 切分之后,每一个HRegion会交给某一个HRegionServer来进行管理。HRegionServer是HBase的从节点,每一个HRegionServ…...
Web后端搭建
目录 一 搭建服务器端 1.1安装服务器软件 1.2检查环境是否配置 1.3安装Tomcat 二 创建并发Web项目 2.1创建一个java项目 三 创建Servlet 前端程序如何才能访问到后端程序呢,这时候我们就需要web服务器来解决:将后端程序部署到服务器中,…...
k8s单节点部署,容器运行时使用containerd
环境 系统 : entOS Linux release 7.9.2009 (CoreIP:192.168.44.177 硬件要求:控制平面最少需要 2c2g 安装前环境准备 如果是集群部署还需要配置时间同步 关闭防火墙 systemctl disable firewalld关闭selinux setenforce 0sed -i s/SELI…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
