open-local本地存储使用

news2024/11/26 21:23:04

Open-local使用指南

架构组成

1. scheduler-extender: 作为 kube-scheduler 的扩展组件,通过 Extender 方式实现,扩展了原生调度器对本地存储资源的感知,以实现对包括磁盘容量、多盘感知、磁盘介质(ssd or hdd)等信息的调度决策,做到存储资源的混合调度;

2. csi-plugin: 符合 CSI(Container Storage Interface) 标准的本地磁盘管理能力,包含创建/删除/扩容存储卷、创建/删除快照、暴露存储卷 metrics 等能力;

3. agent: 运行在集群中的每个节点,根据配置清单初始化存储设备,并通过上报集群中本地存储设备信息以供 scheduler-extender 决策调度;

4. controller: 获取集群存储初始化配置,并向运行在各个节点的 agent 下发详细的资源配置清单。

同时open-local 包含两个 CRD:

NodeLocalStorage:open-local 通过 NodeLocalStorage 资源上报每个节点上的存储设备信息,该资源由 controller 创建,由每个节点的 agent 组件更新其 status。该 CRD 属于全局范围的资源。

NodeLocalStorageInitConfig:open-local controller 可通过 NodeLocalStorageInitConfig 资源创建每个 NodeLocalStorage 资源。NodeLocalStorageInitConfig 资源中包含全局默认节点配置和特定节点配置,若节点的 node label 满足表达式则使用特定节点配置,否则使用默认配置。

前期准备

1.基于Red Hat和Debian的Linux发行版

2.Kubernetes v1.20+

3.Helm v3.0+

4.lvm2

5.至少一个空设备块

初始化设置

新增VG

1.fdisk进行分区(如果是某个分区需要此步骤,如果是某块空闲块设备略过此步)

fdisk /dev/sdb

2.创建PV物理卷(可以将某个分区划分为PV,也可以将某块空闲块设备划分为PV)

pvcreate /dev/sdb1

  1. 创建VG卷组 vgcreate -s 32M open-local-pool-0 /dev/sdb1(-s 指定PE大小)

存储初始化配置

编辑NodeLocalStorageConfig 资源,进行初始化配置。默认nlsc为open-local。

使用open-local要求环境中有VG(VolumeGroup),我们上一步已经创建了名称为open-local-pool-0的VG,若您的环境中已存在VG剩余空间,则可以配置在白名单中,若环境中没有VG,您需要提供一个空闲块设备供open-local创建VG。

根据需求手动创建VG或者提供空闲块设备通过open-local自动创建卷组,每个节点为open-local提供一个块设备。块设备名称包括/dev/sdb、/dev/vdc、/dev/sdd2等

helm/values.yaml配置

编辑{{ .Values.agent.device }}在helm/values.yaml文件中

如果集群中的kube-scheduler是静态pod, Open-Local将在每个主节点上运行一个作业来编辑/etc/kubernetes/manifest /kube-scheduler。Yaml文件默认情况下,你可以看到它在初始作业文件。

您还可以手动配置kube-scheduler,特别是当集群中的kube-scheduler不是静态pod时。

设置.extender。Init_job的值为false。在安装Open-Local之前,这将不会运行init-job。

创建一个文件,命名为kube-scheduler-configuration。将其放在每个主节点的“/etc/kubernetes/”路径下。

部署 Open-local

官网下载open-local-main.zip压缩包,解压,进入open-local-main。

确认部署是否成功

Open-local默认在集群中部署一些存储类模版

创建一个Statefulset,该Statefulset 使用 open-local-lvm 存储类模板。此时创建的存储卷文件系统为 ext4。若用户指定 open-local-lvm-xfs 存储模板,则存储卷文件系统为 xfs。

解压包中有Statefulset事例。

修改sts-nginx.yaml中image,对应为docker中nginx镜像名称。

检查Pod/PVC/PV状态,可看到存储卷创建成功

进入容器查看挂载情况

删除pod,验证持久化存储

本地存储持久化验证成功,也可以自定义Statefulset/pv/pvc。

在已有的pv和pvc的yaml文档进行修改,创建我们自己想要的pv和pvc

新建pv,pvc将uid,createTimestamp,claimRef注释掉,并修改name,新建部署单元

部署tomcat,验证自定义应用也没有问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/153689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据分析-深度学习Day5

Backpropagation反向传播我们上节课学习了深度学习,也知道采用梯度下降优化我们的各神经元参数,以语音识别为例,一个输入特征量1000多项,8层隐层,大致需要的w,b参数有数百万项,这样我们梯度下降的计算量是非…

记一次部署在docker环境项目发送邮件出现No appropriate protocol

前言 部门有个项目涉及到邮件发送,发送功能在本地测试可以成功发送,但是打包部署到docker环境中,却出现 No appropriate protocol (protocol is disabled or cipher suites are inappropriate)后面在网上搜索了一下,查到了这篇文…

技术分享 | 测试平台开发-前端开发之Vue.js 框架的使用

首先将 Vue.js 下载到本地,本章就以本地的 Vue.js 为例。在本地创建一个工作区即创建一个文件夹,使用 vscode 打开,将 Vue.js 放到工作区目录下。 创建挂载元素 首先创建一个 index.html 的文件,使用 加载 vue.js,这…

NAT模式虚拟机能ping通宿主机但是telnet不通 教你如何设置网关走出误区

今天跟大家聊聊如何正确配置NAT模式下虚拟机的网关。 如标题所言,我一开始在设置网关的时候一直存在着误区,而这个误区也导致标题中的问题:虚拟机能ping通宿主机,但是telnet不通,这就很奇葩了。 如下网络拓扑图。 虚…

Linux ALSA 之五:ALSA Proc Info

ALSA Proc Info一、概述二、Proc Files of Alsa Driver1、/proc/asound/xxx 简述2、创建 /proc/asound 目录树2.1 /proc/asound/version 文件2.2 /proc/asound/devices 文件2.3 /proc/asound/cards 文件2.4 /proc/asound/cardx 目录2.5 /proc/asound/pcm 文件一、概述 Linux系…

企业不可忽视的舆情监测管理办法,TOOM舆情监控工作总结?

企业做好舆情监控以及舆情管理是对企业负责,在企业发展过程中不可能是一帆风顺的,少不了各种各样的流言蜚语,像舆情监控管理监测早知早解决。接下来我们简单了解企业不可忽视的舆情监测管理办法,TOOM舆情监控工作总结? 一、企业…

【NI Multisim 14.0原理图设计基础——调整元器件位置】

目录 序言 一、调整元器件位置 🍊1.元器件的移动 🍊2.元器件的旋转 🍊3.元器件的对齐 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI…

【自学Python】Python print()函数

Python print()函数 Python print()函数教程 在 Python 中,print() 函数用于打印相应的信息到终端控制台,同时 print() 函数可以支持同时输出一个或多个 变量。 Python print()函数详解 语法 print(*objects, sep , end\n, filesys.stdout, flushFa…

线性代数 --- 投影Projection 六(向量在子空间上的投影)

向量b在多维子空间上的投影回顾:向量在向量上(直线上)的投影在研究向量在子空间上的投影前,先回顾一下前面学习的一个任意向量b在另一个向量a上的投影,共三个部分。1,求权重系数(A constant&…

2022 general purpose in-context learning by meta-learning transformers

wps: option left 回到上一个视图 Kirsch L, Harrison J, Sohl-Dickstein J, et al. General-purpose in-context learning by meta-learning transformers[J]. arXiv preprint arXiv:2212.04458, 2022. 目录Kirsch L, Harrison J, Sohl-Dickstein J, et al. General-purpose…

【高校节能】高校电力能源智能管理系统设计目标与原则

摘 要:高校构建电力能源智能管理系统,可以实现对高校电力能源消耗的实时监测、分析预警和辅助决策。系统通过能效管理技术监测各个设备的用电情况,并通过数据的取得、整合、汇总来实现能源的绩效管理。系统从全局出发,整体调控电…

CCF BDCI | 算能赛题决赛选手说明论文-03

基于TPU平台实现人群密度估计∗ ChaMd5-AI 唐晶机械工程&博士二年级 华中科技大学 中国-武汉 j_tanghust.edu.cn 团队简介 唐晶,2001年生,本科毕业于华中科技大学机械卓越工程师班,现为华中科技大学机械科学与工程学院陶波教授课题组博…

视频实时自然美颜, 无惧素颜上镜

华为HMS Core 视频编辑服务依托自身AI技术的核心优势,在最新版本HMS Core 6.8.0中上线了全新的视频美颜功能,能对指定图片或视频中的人脸实现磨皮、美白、大眼、瘦脸的美颜效果,适用于直播、相机、视频剪辑、图片处理等场景中,打造…

cubeIDE开发, stm32的GPIO原理、cubeMX配置及底层源码实现分析

一、GPIO介绍 1.1 GPIO 简述 GPIO(General purpose input/output,通用型输入输出),一个引脚可以用于输入、输出或其他特殊功能,PIN脚依现实需要可作为通用输入(GPI)或通用输出(GPO)或通用输入与…

鑫磊股份开启申购:资产负债率较高,实控人控制企业借款高企

1月10日,鑫磊压缩机股份有限公司(下称“鑫磊股份”,SZ:301317)开启申购,发行价格20.67元/股,市盈率58.65倍。据贝多财经了解,鑫磊股份将在深圳证券交易所创业板上市。 本次上市,鑫磊…

LinuxC—进程

进程 1 进程标识符pid 基本概念 类型pid_t,是一个有符号16位整数,进程号是顺次向下使用(fd是优先使用当前可用最小的) shell中的ps命令能够查看当前系统的进程信息快照 相关函数 getpid(2)获取当前进程的进程号 /* Get the process ID of the calling…

中断处理程序

文章目录前言前置知识中断概念中断分类实验操作实验一实验二实验三前言 博客记录《操作系统真象还原》第七章实验的操作~ 实验环境:ubuntu18.04VMware , Bochs下载安装 实验内容: 编写中断处理程序( 操作 8259A 打开中断&…

2023年浙江食品安全管理员考试真题题库及答案

百分百题库提供食品安全管理员考试试题、食品安全管理员考试预测题、食品安全管理员考试真题、食品安全管理员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 一、多选题 1.餐具清洗消毒水池与以下哪些水池应分开&#xff…

机器学习— —导入数据

DAY1集成开发环境原始数据展示主要函数介绍data.iloc()函数dataset.iloc[0]dataset.iloc[:,:-1]dataset.iloc[:,3]dataset.iloc[1:3,1]可执行代码导入结果展示我的写在最后集成开发环境 Spyder (前身是 Pydee) 是一个强大的交互式 Python 语言开发环境,提供高级的代…

如何搭建Python环境和安装Pycharm

1、 搭建Python的基础环境 Anaconda简介 Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些…