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

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&#xff0c;也称为 RKE Government&#xff0c;是 Rancher 的下一代 Kubernetes 发行版。 官网地址&#xff1a;Introduction | RKE2 k8s集群搭…...

CST电磁仿真软件的设置变更与问题【官方教程】

保存结果的Result Navigator 积累的结果一目了然&#xff01; 用户界面上的Result Navigator 在一个仿真工程中更改变量取值进行仿真分析或者改变设置进行仿真分析时&#xff0c;之前的1DResult会不会消失呢&#xff1f; 1D Result&#xff1a;CST中1D Result指的是Y值取决…...

保研线性代数复习3

一.基底&#xff08;Basis&#xff09; 1.什么是生成集&#xff08;Generating Set&#xff09;&#xff1f;什么是张成空间&#xff08;Span&#xff09;&#xff1f; 存在向量空间V(V&#xff0c;&#xff0c;*)&#xff0c;和向量集&#xff08;xi是所说的列向量&#xff…...

从零开始学Spring Boot系列-集成MyBatis-Plus

在Spring Boot应用开发中&#xff0c;MyBatis-Plus是一个强大且易于使用的MyBatis增强工具&#xff0c;它提供了很多实用的功能&#xff0c;如代码生成器、条件构造器、分页插件等&#xff0c;极大地简化了MyBatis的使用和配置。本篇文章将指导大家如何在Spring Boot项目中集成…...

【云原生篇】k8s之Deployment详解

Kubernetes 的 Deployment 是一种管理声明式更新的资源对象&#xff0c;它允许你描述应用的期望状态&#xff0c;并由 Deployment 控制器自动将当前状态改变为期望状态。Deployment 主要用于无状态应用的部署和扩展&#xff0c;但也可以用于有状态应用。 核心功能 自动化部署…...

linux安装dubboAdmin

1.环境准备&#xff1a; jdk-8u391-linux-x64apache-maven-3.9.6apache-tomcat-8.5.100 2.安装注册中心zookeeper zookeeper的安装看我的另一篇文章&#xff0c;安装完成后保持启动状态 linux安装Zookeeper的详细步骤-CSDN博客 3.安装dubboadmin 源码下载地址&#xff1a;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(冒泡排序,稀疏数组)

冒泡排序 冒泡排序无疑是最为出名的排序算法之一&#xff0c;总共有八大排序! 冒泡的代码还是相当简单的&#xff0c;两层循环&#xff0c;外层冒泡轮数&#xff0c;里层依次比较&#xff0c;江湖中人人尽皆知。 我们看到嵌套循环&#xff0c;应该立马就可以得出这个算法的时…...

vue+springboot多角色登录

①前端编写 将Homeview修改为manager Manager&#xff1a; <template><div><el-container><!-- 侧边栏 --><el-aside :width"asideWidth" style"min-height: 100vh; background-color: #001529"><div style"h…...

使用 ADB 查找应用名称和活动名称,并启动指定页面

知识点和难题&#xff1a; 查找应用名称和活动名称&#xff1a; 使用 ADB 命令 adb shell dumpsys window | findstr mCurrentFocus 可以查找当前设备上活动的应用名称和活动名称。 保存输出结果&#xff1a; 将命令的输出结果保存到文件中&#xff0c;方便后续使用。 启动指…...

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是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向…...

二. CUDA编程入门-双线性插值计算

目录 前言0. 简述1. 执行一下我们的第十个CUDA程序2. Bilinear interpolation3. 代码分析总结参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 Note&#xff1a;关于 CUDA 加速双线程插值的内容博主…...

实时计算平台设计方案:913-基于100G光口的DSP+FPGA实时计算平台

基于100G光口的DSPFPGA实时计算平台 一、产品概述 基于以太网接口的实时数据智能计算一直应用于互联网、网络安全、大数据交换的场景。以DSPFPGA的方案&#xff0c;体现了基于硬件计算的独特性能&#xff0c;区别于X86GPU的计算方案&#xff0c;保留了高带宽特性&…...

Glide系列-自定义ModuleLoader

在当今快速发展的移动应用领域&#xff0c;图片的高效加载和显示对于提供流畅用户体验至关重要。Glide作为一款强大的图片加载库&#xff0c;已经成为Android开发者的首选工具之一。但是&#xff0c;你有没有遇到过Glide默认不支持的模型类型&#xff0c;或者需要对图片加载过程…...

设计模式——责任链模式13

责任链模式 每个流程或事物处理 像一个链表结构处理。场景由 多层部门审批&#xff0c;问题分级处理等。下面体现的是 不同难度的问题由不同人进行解决。 设计模式&#xff0c;一定要敲代码理解 传递问题实体 /*** author ggbond* date 2024年04月10日 07:48*/ public class…...

Linux云计算之Linux基础3——Linux系统基础part-2

1、终端、shell、文件理论 1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件…...

HBase详解(2)

HBase 结构 HRegion 概述 在HBase中&#xff0c;会从行键方向上对表来进行切分&#xff0c;切分出来的每一个结构称之为是一个HRegion 切分之后&#xff0c;每一个HRegion会交给某一个HRegionServer来进行管理。HRegionServer是HBase的从节点&#xff0c;每一个HRegionServ…...

Web后端搭建

目录 一 搭建服务器端 1.1安装服务器软件 1.2检查环境是否配置 1.3安装Tomcat 二 创建并发Web项目 2.1创建一个java项目 三 创建Servlet 前端程序如何才能访问到后端程序呢&#xff0c;这时候我们就需要web服务器来解决&#xff1a;将后端程序部署到服务器中&#xff0c…...

k8s单节点部署,容器运行时使用containerd

环境 系统 &#xff1a; entOS Linux release 7.9.2009 (CoreIP&#xff1a;192.168.44.177 硬件要求&#xff1a;控制平面最少需要 2c2g 安装前环境准备 如果是集群部署还需要配置时间同步 关闭防火墙 systemctl disable firewalld关闭selinux setenforce 0sed -i s/SELI…...

深入浅出 -- 系统架构之性能优化的核心思维

“在当前的互联网开发模式下&#xff0c;系统访问量日涨、并发暴增、线上瓶颈等各种性能问题纷涌而至&#xff0c;性能优化成为了现时代开发过程中炙手可热的名词&#xff0c;无论是在开发、面试过程中&#xff0c;性能优化都是一个常谈常新的话题”。Java语言作为企业应用中的…...

Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066

很奇怪的问题,在使用nifi的时候碰到的,这里是用NIFI,把数据从postgresql中同步到mysql中, 首先postgresql中的源表,中是没有create_time这个字段的,但是同步的过程中报错了. 报错的内容是说,目标表中有个create_time字段,这个字段是必填的,但是传过来的flowfile文件中,的数据没…...

批量删除文件脚本

在工作中我们经常会遇到一些重复性的工作&#xff0c;如批量创建文件&#xff0c;删除文件等等。这种重复性的工作shell脚本往往能给我们带来极大的便利。 将需要删除的文件路径存放在【stt_Files_240410.rpt】随便一个 文档中即可。 下面是一个批量删除文件的一个脚本范例&…...

蓝桥杯物联网竞赛_STM32L071KBU6_我的全部省赛及历年模拟赛源码

我写的省赛及历年模拟赛代码 链接&#xff1a;https://pan.baidu.com/s/1A0N_VUl2YfrTX96g3E8TfQ?pwd9k6o 提取码&#xff1a;9k6o...

微服务和K8S

微服务和Kubernetes&#xff08;通常简称为K8s&#xff09;都是现代软件开发和部署中常用的概念和工具。它们有着各自独特的特点和作用&#xff1a; 1. **微服务**&#xff1a; - **定义**&#xff1a;微服务是一种架构设计风格&#xff0c;将应用程序拆分为一组小型、独立…...

Ant Design 表单基础用法综合示例

Ant Design 的表单组件设计得非常出色,极大地简化了表单开发的复杂度,让开发者能够快速构建出功能丰富、交互友好的表单界面。 接下来总结一下 Ant Design 中表单的基本用法。 Form 组件 用于定义整个表单,可以设置表单的布局方式、提交行为等。通常会将表单字段组件嵌套在 F…...

MWeb Pro For Mac v4.5.9 强大的 Markdown 软件中文版

MWeb 是专业的 Markdown 写作、记笔记、静态博客生成软件&#xff0c;目前已支持 Mac&#xff0c;iPad 和 iPhone。MWeb 有以下特色&#xff1a; 软件下载&#xff1a;MWeb Pro For Mac v4.5.9 软件本身&#xff1a; 使用原生的 macOS 技术打造&#xff0c;追求与系统的完美结合…...

Git常用命令详解:掌握版本控制的核心操作

Git作为世界上最流行的分布式版本控制系统&#xff0c;以其强大的分支管理、高效的协同工作能力和完善的版本追溯功能&#xff0c;深受广大开发者喜爱。熟练掌握Git的常用命令是每一位程序员必备的技能。本文将深入解析Git中那些最为基础且实用的命令&#xff0c;助您在日常开发…...

Vue链接跳转地址 href 中有参数带有#

Vue链接跳转地址 href 中有参数带有# A跳转B 带参数backURL 转码一次会被浏览器解码 xxxx?backurlencodeURIComponent(url) 到B页面拿到的query 值取不到 需要对地址转码两次才能取值成功 xxxx?backurlencodeURIComponent(encodeURIComponent(url))...

python 会员信息管理系统2.0

问题介绍 综合案例实现&#xff1a;会员管理系统设计与实现-V3 利用所学习的知识点 ,结合会员管理系统的分析与实现&#xff0c; 了解面向对象开发过程中类内部功能的分析方法&#xff0c;系统讲解 Python语法、控制结构、四种典型序列 ,函数定义以及面向对象语法和模块的应用…...