RKE2部署k8s集群实战

2024-04-05 06:04

本文主要是介绍RKE2部署k8s集群实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

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部署完成。

这篇关于RKE2部署k8s集群实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/877797

相关文章

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA

ubuntu16.04如何部署dify? 在Linux上安装部署Dify的技巧

《ubuntu16.04如何部署dify?在Linux上安装部署Dify的技巧》随着云计算和容器技术的快速发展,Docker已经成为现代软件开发和部署的重要工具之一,Dify作为一款优秀的云原生应用... Dify 是一个基于 docker 的工作流管理工具,旨在简化机器学习和数据科学领域的多步骤工作流。它

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

C#实现高性能Excel百万数据导出优化实战指南

《C#实现高性能Excel百万数据导出优化实战指南》在日常工作中,Excel数据导出是一个常见的需求,然而,当数据量较大时,性能和内存问题往往会成为限制导出效率的瓶颈,下面我们看看C#如何结合EPPl... 目录一、技术方案核心对比二、各方案选型建议三、性能对比数据四、核心代码实现1. MiniExcel

Redis高可用-主从复制、哨兵模式与集群模式详解

《Redis高可用-主从复制、哨兵模式与集群模式详解》:本文主要介绍Redis高可用-主从复制、哨兵模式与集群模式的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Redis高可用-主从复制、哨兵模式与集群模式概要一、主从复制(Master-Slave Repli

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与