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

rancher单节点安装k8s

k3s

优点:
可用性
易于操作的轻量级部署模型
缺点:
与上游Kubernetes不同

RKE1

优点:
与上游Kubernetes紧密对齐
缺点:
严重依赖于
Docker

RKE2

凭借 k3s 的优势和更紧密的上游协调,RKE2 将控制平面组件作为静态 pod 启动,由 kubelet 管理。
为了符合行业趋势和标准,它还嵌入了 containerd 作为容器运行时。

网络要求

  • RKE2 服务器上的端口 6443 和 9345 需要被集群中的其他节点访问。
  • 如果您希望使用指标服务器,则需要在每个节点上打开端口
    10250
  • 端口 2379 和端口 2380 需要可供 etcd 客户端对等连接访问
  • 需要在服务器和代理节点上打开端口30000-32767 以供 NodePort 使用

RKE2架构

RKE2最简单的形式是一个二进制文件
在这里插入图片描述
在这里插入图片描述

从流程角度来看:
运行 RKE2 服务器和代理的二进制文件和清单来自 RKE2 运行时映像。
RKE2 服务器组件的初始化首先要准备相关组件,然后启动集群
接下来,通过生成容器运行时和节点代理进程来初始化 RKE2 代理组件。
发布此步骤后,在服务器节点上,helm-controller 可以将/var/lib/rancher/rke2/server/manifests中找到的任何图表应用于集群。
所有这些最终都导致 RKE2 进程运行,直到收到SIGKILL或SIGTERM或者 containerd 进程退出。

RKE2安装

配置 cali 和 flannel 的网卡不被 NetworkManager 管理

hostnamectl set-hostname k8s-master-1 && bash
mkdir -p /etc/NetworkManager/conf.d
cat <<EOF > /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
EOF
systemctl daemon-reload
systemctl restart NetworkManager

1.下载二进制文件安装

curl -sfL https://get.rke2.io | sh -
#国内源curl -sfL http://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="server" sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service

排错用
journalctl -u rke2-server -f

配置PATH和kubeconfig文件

echo "export PATH=$PATH:/var/lib/rancher/rke2/bin" >> /etc/profile && source /etc/profile
mkdir ~/.kube && cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
ln -s /var/lib/rancher/rke2/agent/etc/crictl.yaml /etc/crictl.yaml
crictl ps

其他实用程序将安装到 /var/lib/rancher/rke2/bin/
可用于注册其他 Server 或 Agent 节点的令牌将在 /var/lib/rancher/rke2/server/node-token

2.卸载

#停止
/usr/bin/rke2-killall.sh#卸载
/usr/bin/rke2-uninstall.sh

至此单节点安装完毕如需加入节点继续看下文


注册agent服务器

配置 cali 和 flannel 的网卡不被 NetworkManager 管理

hostnamectl set-hostname k8s-worker-1 && bash
mkdir -p /etc/NetworkManager/conf.d
cat <<EOF > /etc/NetworkManager/conf.d/rke2-canal.conf
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:flannel*
EOF
systemctl daemon-reload
systemctl restart NetworkManager

在server上 cat /var/lib/rancher/rke2/server/node-token

1.安装agent

curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
#国内源curl -sfL https://rancher-mirror.rancher.cn/rke2/install.sh | INSTALL_RKE2_MIRROR=cn INSTALL_RKE2_TYPE="agent" sh -
systemctl enable rke2-agent.service
mkdir -p /etc/rancher/rke2/
vim /etc/rancher/rke2/config.yaml
#编辑文件
server: https://<server>:9345
token: <token from server node>
#启动agent
systemctl start rke2-agent.service
journalctl -u rke2-agent -f

2.卸载

#停止
/usr/bin/rke2-killall.sh#卸载
/usr/bin/rke2-uninstall.sh

至此加入节点也ok

相关文章:

  • dhtmlx-gantt甘特图数据展示
  • Flutter实现局部刷新的几种方式
  • 网站开发:使用VScode安装yarn包和运行前端项目
  • 论文阅读【时空+大模型】ST-LLM(MDM2024)
  • 实验一:图像信号的数字化
  • 数据结构——考研笔记(三)线性表之单链表
  • MATLAB——字符串处理
  • [ruby on rails]部署时候产生ActiveRecord::PreparedStatementCacheExpired错误的原因及解决方法
  • JS【实战】CSS 样式相关的处理
  • vue3入门特性
  • Excel 学习手册 - 精进版(包括各类复杂函数及其嵌套使用)
  • ES6 对象的新增方法(十四)
  • Milvus 核心设计(5)--- scalar indexwork mechanism
  • 华为HCIP Datacom H12-821 卷40
  • FPGA上板项目(二)——PLL测试
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 《剑指offer》分解让复杂问题更简单
  • CSS 三角实现
  • golang 发送GET和POST示例
  • JavaScript学习总结——原型
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • MQ框架的比较
  • php的插入排序,通过双层for循环
  • Python学习笔记 字符串拼接
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • 安装python包到指定虚拟环境
  • 初识 beanstalkd
  • 关于字符编码你应该知道的事情
  • 深入 Nginx 之配置篇
  • 详解移动APP与web APP的区别
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 1.Ext JS 建立web开发工程
  • Linux权限管理(week1_day5)--技术流ken
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (02)Hive SQL编译成MapReduce任务的过程
  • (2)nginx 安装、启停
  • (二)WCF的Binding模型
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (七)Activiti-modeler中文支持
  • (十)T检验-第一部分
  • (十三)Flask之特殊装饰器详解
  • (实战篇)如何缓存数据
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (原)Matlab的svmtrain和svmclassify
  • (转)scrum常见工具列表
  • .htaccess 强制https 单独排除某个目录
  • .Net Remoting常用部署结构
  • .Net 代码性能 - (1)
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .net6 core Worker Service项目,使用Exchange Web Services (EWS) 分页获取电子邮件收件箱列表,邮件信息字段
  • .stream().map与.stream().flatMap的使用
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @Transactional 详解