openEuler之上的K3s ARM64集群管理

news/2024/12/31 6:17:09/

K3s是CNCF认证的轻量级Kubernetes发行版,在全球拥有广泛的安装量,主要由SUSE工程师在开源社区维护。K3s除了可以单独部署外,也可以通过Kubernetes管理软件Rancher进行管理。SUSE中国团队与欧拉社区合作,以RFO SIG协作方式推动Rancher和K3s等相关产品与openEuler OS的兼容性。

Rancher v2.7.2版本迎来了较多重大更新,其中对K3s ARM64集群的管理进一步增强,支持用户从Rancher配置创建K3s ARM64集群,并通过Rancher实现该集群的生命周期管理。RFO SIG在此基础上,确保了openEuler的兼容性。

ARM64环境准备

本文中使用的软件环境如下,通过AWS云环境展示相关产品能力:

Rancherv2.7.2
K3sv1.24.11+k3s1/v1.25.7+k3s1
openEuler22.03 LTS SP1
AWSc6g.xlarge

备注:AWS的openEuler AMI,在openEuler KVM 镜像基础上构建,并内置了AWS相关驱动。此AMI由RFO SIG维护,表格中的软件均支持ARM64架构。

部署Rancher管理平面

AWS可以很方便创建ARM64环境,使用openEuler AMI创建EC2实例,c6g.xlarge 规格完全可以满足Rancher的部署需求。Rancher管理平面需要部署在Kubernetes之中,作为一种快速开始的部署体验,我们推荐使用K3s作为管理平面的Local集群,并通过Helm安装Rancher。

在openEuler ARM64环境中,Rancher管理平面可以正常工作。启动完成后,通过 RancherForFun 密码激活,即可进入UI管理模式。

图片

创建弹性的K3s集群

Rancher中内置了AWS EC2的驱动,可以按照预期的AMI快速创建EC2实例。基于此能力,Rancher可以创建弹性的K3s集群,并且在openEuler ARM64环境同样兼容。如下图,我们配置了1个ALL Roles节点和1个worker节点的K3s集群,使用了openEuler 22.03 AMI,配置竞价实例以最大限度减少费用。K3s的集群版本可选择 v1.24.11+k3s1。

图片

当集群资源不足时,我们可以在UI上操作,非常方便得扩容worker节点。Rancher会根据设置,使用内置的EC2 driver创建新的ARM64实例,并自动部署K3s程序。同时,Rancher也支持通过UI访问节点的SSH Shell。

图片

增强K3s集群的服务能力

日常的维护管理中,需要定期对K3s集群备份,除了可以设置定期备份外,也可以立即执行备份。Rancher会保存各个备份点的数据,用户可以基于某个备份执行恢复操作。

图片

针对K3s的升级也是非常简单的,只需在UI上编辑集群,选择期望更新的版本即可。比如,可以从 v1.24.11+k3s1 升级到 1.25.7+k3s1。

图片

Rancher内置了一些集群工具用来扩展下游集群的服务能力,其中一些工具已经具备了ARM64的兼容性,并且在openEuler OS之上得到验证。比如:分布式存储组件Longhorn、监控、日志等。

图片

当K3s集群已经不需要时,可以在Rancher中删除该集群,相关联的EC2实例也会被一并删除。

持续的产品化连接

RFO SIG通过工程化手段持续确保Rancher与openEuler的产品兼容性,K3s ARM64场景的管理也是社区呼声较高的功能。同时,Rancher具备非常好的插件机制,可以方便扩展各种云的驱动,在各种云环境下接入openEuler。在非云环境下,也可以在已有openEuler主机上灵活配置。使用openEuler作为基础设施的OS与Rancher进行组合,可以快速建立产品化的容器管理平台,并能支持AMD64和ARM64环境。


http://www.ppmy.cn/news/61142.html

相关文章

人才引进都选什么大学,哪些世界大学排名更靠谱?

最近几年,全国各地都在加大力度引进人才。上海市2020年首先推出留学生落户政策,毕业于世界排名前50名大学的留学生可直接申办落户,毕业于51-100名大学的,缴纳社保满6个月后可申办落户。 国家人事部门也确定了留学生“国家引进人才…

基于R语言的贝叶斯网络模型应用

在现代的生态、环境以及地学研究中,变量和变量间的因果关系推断占据了非常重要的地位。在实践中,变量间的因果关系研究往往求助于昂贵的实验,但所得结果又经常与天然环境中的实际因果联系相差甚远。统计学方法是研究天然环境中变量间关系的好…

redis(4)

1)使用StringTemplateRedis操作String类型 1)判断redis中是否拥有key所对应的值,如果有返回true,没有那么直接返回false redisTemplate.hasKey(key); 2)如果redis中有key那么直接取出key所对应的值 redisTemplate.opsForValue().get(key) 3)删除单个key值…

内网渗透之横向移动 委派-非约束委派约束委派资源委派

0x01 横向移动-非约束委派 原理: 机器A(域控)访问具有非约束委派权限的机器B的服务,会把当前认证用户(域管用户)的的TGT放在ST票据中,一起发送给机器B,机器B会把TGT存储在lsass进程…

QT C++开发套路之:重定义基础数据类型

(1)前言 对于C/C,几乎每个系统都会重定义(typedef)基础数据类型。 (QT在qglobal.h中,MSVS在minwindef.h)。 其目的是为了方便代码的迁移(在各种环境之间)。 …

AIgo C++ 面向ai算法的c++

https://github.com/shouxieai/algorithm-cpp http://aipj.aijdjy.com/course/13/task/266/show# https://www.yuque.com/books/share/0729cafa-4751-40e5-9f5d-bb617c0e9708?# 《C》 💻 AI算法视角下的c 视频问手写ai vx: shouxie_ai [共11节课,每节课…

keepalived脑裂现象

Keepealived最常见的问题是会出现脑裂现象: Master一直发送心跳消息给backup主机,如果中间的链路突然断掉,backup主机将无法收到master主机发送过来的心跳消息(也就是vrrp报文),backup这时候会立即抢占mas…

Spring Cloud Gateway 限流

在高并发的应用中,限流是一个绕不开的话题。限流可以保障我们的 API 服务对所有用户的可用性,也可以防止网络攻击。 一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数&#xf…