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

相关文章

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Jenkins分布式集群配置方式

《Jenkins分布式集群配置方式》:本文主要介绍Jenkins分布式集群配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装jenkins2.配置集群总结Jenkins是一个开源项目,它提供了一个容易使用的持续集成系统,并且提供了大量的plugin满

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien