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

kubernetes-使用ceph-csi

kubernetes-使用ceph-csi

Kubernetes (简称K8s)和Ceph都是开源的云计算技术,K8s是一个容器编排平台,而Ceph是一个分布式存储系统。将K8s和Ceph集成在一起可以为应用程序提供高可用性和持久性存储。本文主要介绍如何在使用openEuler 22.03操作系统的鲲鹏服务器上操作K8s集成Ceph。
在这里插入图片描述

Ceph是一个可靠的、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。Ceph提供统一的横向扩展存储,带有自我修复和智能预测故障的功能,已经成为软件定义存储的事实上的标准之一。

Ceph是开源的,它使许多供应商能够提供基于Ceph的软件去定义合适的存储系统。K8s是用于自动部署、扩展和管理容器化(Containerized)应用程序的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。因各个项目集群在部署时对存储的需求各有差异,使用Ceph作为统一储存,则在确保可靠性的同时又能具备相应的灵活性,将计算与存储解耦与K8s灵活的部署方式相得益彰。

img

这里主要讲解集成使用ceph rbd 功能

1. 创建 rbd pool

rbd 块存储于ceph pool中,所以需要创建一个pool 用于存储后续的pv disk

#ceph osd pool create kubernetes
#rbd pool init kubernetes
2. 配置ceph-csi

ceph 如果需要通过cephx认证的情况下,需要创建config map 传递 ceph config 以及secret。如果不开启cephx,下面的cephx改成none即可。

# cat <<EOF > ceph-config.yaml
---
apiVersion: v1
kind: ConfigMap
data:ceph.conf: |[global]auth_cluster_required = cephxauth_service_required = cephxauth_client_required = cephx# keyring is a required key and its value should be emptykeyring: |
metadata:name: ceph-config
EOF
# kubectl apply -f ceph-config.yaml

配置ceph monitor

# cat <<EOF > csi-config-map.yaml
---
apiVersion: v1
kind: ConfigMap
data:ceph.conf: |[{"clusterID":"80451321eeqeqw-eqeq-eqeq-eqeqewqeq-dqeq-eqe","monitors":["10.220.134.7:6789","10.220.134.43:6789","10.220.130.200:6789"]}]
metadata:name: ceph-csi-config
EOF
# kubectl apply -f csi-config-map.yaml
3. 配置cephx

配置cephx的账号和密码(ceph auth 的账号和密码在ceph侧自行生成即可,当然如果不开启cephx的情况下,这里userID和userKey随便填就行)

#cat <<EOF > csi-rbd-secret.yaml
---
apiVersion: v1
kind: Secret
metadata:name: csi-rbd-secretnamespace: default
stringData:userID: kubernetesuserKey: AQD9o0Fd6hQRChAAt7fMaSZXduT3NWEqylNpmg==
EOF
# kubectl apply -f csi-rbd-secret.yaml
3. 配置ceph-csi
3.1 选择和ceph、kubernetes版本对应的ceph-csi版本
#ceph -v
ceph version 14.2.22
# kubectl version
Client Version: v1.31.4
Kustomize Version: v5.4.2
Server Version: v1.31.4
3.2 选择对应的ceph-csi版本

这里选择使用ceph-csi v3.7.2 , 和用的ceph 和kubernetes匹配

#git clone -b v3.7.2 https://github.com/ceph/ceph-csi.git
#cd ceph-csi/deploy/rbd/kubernetes

配置访问Kubernetes API对象的ServiceAccount和RBAC

#kubectl apply -f csi-provisioner-rbac.yaml 
#kubectl apply -f csi-nodeplugin-rbac.yaml

部署csi 程序与节点插件

修改 csi-rbdplugin.yaml 和 csi-rbdplugin-provisioner.yaml,注释掉csi-rbdplugin.yaml和csi-rbdplugin-provisioner.yaml文件中kms相关内容

#kubectl apply -f csi-rbdplugin.yaml 
#kubectl apply -f csi-rbdplugin-provisioner.yaml
4. 检查
# kubectl get pods -o wide
NAME                                         READY   STATUS    RESTARTS   AGE     IP              NODE    NOMINATED NODE   READINESS GATES
csi-rbdplugin-2xb7k                          3/3     Running   0          2m34s   172.22.2.55     node3   <none>           <none>
csi-rbdplugin-k6wjl                          3/3     Running   0          2m34s   172.22.4.4      node1   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-26rjk   7/7     Running   0          2m30s   10.233.65.112   node2   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-7kfxx   7/7     Running   0          2m30s   10.233.64.124   node1   <none>           <none>
csi-rbdplugin-provisioner-7586c58d96-qn4jl   7/7     Running   0          2m30s   10.233.66.161   node3   <none>           <none>
csi-rbdplugin-vv7ds                          3/3     Running   0          2m34s   172.22.3.50     node2   <none>           <none>

参考:

https://docs.ceph.com/en/latest/rbd/rbd-kubernetes/

https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Kubernetes/kunpengk8sceph_04_0008.html

相关文章:

kubernetes-使用ceph-csi

kubernetes-使用ceph-csi Kubernetes &#xff08;简称K8s&#xff09;和Ceph都是开源的云计算技术&#xff0c;K8s是一个容器编排平台&#xff0c;而Ceph是一个分布式存储系统。将K8s和Ceph集成在一起可以为应用程序提供高可用性和持久性存储。本文主要介绍如何在使用openEul…...

​​从Shell到域控:内网渗透中定位域控制器的8种核心方法​

在内网渗透中&#xff0c;定位域控制器&#xff08;Domain Controller, DC&#xff09;是攻防对抗的关键环节。本文结合实战经验与工具技术&#xff0c;总结出​​8种从Shell快速发现域控主机的方法​​&#xff0c;涵盖命令探测、网络扫描、日志分析等维度&#xff0c;助你系统…...

FA-YOLO:基于FMDS与AGMF的高效目标检测算法解析

本文《FA-YOLO: Research On Efficient Feature Selection YOLO Improved Algorithm Based On FMDS and AGMF Modules》针对YOLO系列在特征融合与动态调整上的不足,提出两种创新模块:​FMDS(细粒度多尺度动态选择模块)​和AGMF(自适应门控多分支聚焦融合模块)​。论文结构…...

【RK3588 嵌入式图形编程】-SDL2-扫雷游戏-结束和重新开始游戏

结束和重新开始游戏 文章目录 结束和重新开始游戏1、概述2、更新Globals.h3、触发GAME_WON和GAME_LOST事件4、对游戏结束的反应5、重启游戏6、创建新游戏按钮7、完整代码8、总结在本文中,将实现胜负检测并添加重新开始功能以完成游戏循环。 1、概述 在本文中,我们将更新我们…...

OpenAI重返巅峰:o3与o4-mini引领AI推理新时代

引言 2025年4月16日&#xff0c;OpenAI发布了全新的o系列推理模型&#xff1a;o3和o4-mini&#xff0c;这两款模型被官方称为“迎今为止最智能、最强大的大语言模型&#xff08;LLM&#xff09;”。它们不仅在AI推理能力上实现了质的飞跃&#xff0c;更首次具备了全面的工具使…...

《软件设计师》复习笔记(12.3)——质量管理、风险管理

目录 一、质量管理 1. 质量定义 2. 质量管理过程 3. 软件质量特性&#xff08;GB/T 16260-2002&#xff09; 4. 补充知识 McCall质量模型&#xff1a; 软件评审 软件容错技术 真题示例&#xff1a; 二、风险管理 1. 风险管理的目的&#xff1a; 2. 风险管理流程及内…...

优化自旋锁的实现

在《C11实现一个自旋锁》介绍了分别使用TAS和CAS算法实现自旋锁的方案&#xff0c;以及它们的优缺点。TAS算法虽然实现简单&#xff0c;但是因为每次自旋时都要导致一场内存总线流量风暴&#xff0c;对全局系统影响很大&#xff0c;一般都要对它进行优化&#xff0c;以降低对全…...

项目实战--新闻分类

从antd中拿一个表格 表格 Table - Ant Designhttps://ant-design.antgroup.com/components/table-cn#table-demo-edit-cell使用的是可编辑单元格 实现引入可编辑单元格&#xff1a; import React, { useState, useEffect, useRef, useContext } from react import { Button, …...

人像面部关键点检测

此工作为本人近期做人脸情绪识别&#xff0c;CBAM模块前是否能加人脸关键点检测而做的尝试。由于创新点不是在于检测点的标注&#xff0c;而是CBAM的改进&#xff0c;因此&#xff0c;只是借用了现成库Dilb与cv2进行。 首先&#xff0c;下载人脸关键点预测模型:Index of /file…...

OpenVINO怎么用

目录 OpenVINO 简介 主要组件 安装 OpenVINO 使用 OpenVINO 的基本步骤 OpenVINO 简介 OpenVINO&#xff08;Open Visual Inference and Neural Network Optimization&#xff09;是英特尔推出的一个开源工具包&#xff0c;旨在帮助开发者在英特尔硬件平台上高效部署深度学…...

写论文时降AIGC和降重的一些注意事项

‘ 写一些研究成果&#xff0c;英文不是很好&#xff0c;用有道翻译过来句子很简单&#xff0c;句型很单一。那么你会考虑用ai吗&#xff1f; 如果语句太正式&#xff0c;高级&#xff0c;会被误判成aigc &#xff0c;慎重选择ai润色。 有的话就算没有用ai生成&#xff0c;但…...

SpringBoot学习(properties、yml(主流)、yaml格式配置文件)(读取yml配置文件的3种方式)(详解)

目录 一、SpringBoot配置文件详解。 1.1配置文件简介。 1.2配置文件分类。&#xff08;3种配置文件格式&#xff09; <1>application.properties&#xff08;properties格式&#xff09;。 <2>application.yml&#xff08;yml格式&#xff09;。 <3>applicat…...

STM32单片机C语言

1、stdint.h简介 stdint.h 是从 C99 中引进的一个标准 C 库的文件 路径&#xff1a;D:\MDK5.34\ARM\ARMCC\include 大家都统一使用一样的标准&#xff0c;这样方便移植 配置MDK支持C99 位操作 如何给寄存器某个值赋值 举个例子&#xff1a;uint32_t temp 0; 宏定义 带参…...

前端为什么需要单元测试?

一. 前言 对于现在的前端工程&#xff0c;一个标准完整的项目&#xff0c;通常情况单元测试是非常必要的。但很多时候我们只是完成了项目而忽略了项目测试。我认为其中一个很大的原因是很多人对单元测试认知不够&#xff0c;因此我写了这篇文章&#xff0c;一方面期望通过这篇…...

QT 文件和文件夹操作

文件操作 1. 文件读写 QFile - 基本文件操作 // 只写模式创建文件&#xff08;如果文件已存在会清空内容&#xff09; file.open(QIODevice::WriteOnly);// 读写模式创建文件 file.open(QIODevice::ReadWrite);// 追加模式&#xff08;如果文件不存在则创建&#xff09; fil…...

AIP目录

专注于开发灵活API的设计文档。 AIP是总结了谷歌API设计决策的设计文档&#xff0c;它也为其他人提供了用文档记录API设计规则和实践的框架和系统。 基础1AIP目的和指南2AIP编号规则3AIP版本管理200先例8AIP风格与指导9术语表流程100API设计评审常见问题205Beta版本发布前置条…...

Function Calling的时序图(含示例)

&#x1f9cd; 用户&#xff1a; 发起请求&#xff0c;输入 prompt&#xff08;比如&#xff1a;“请告诉我北京的天气”&#xff09;。 &#x1f7ea; 应用&#xff1a; 将用户输入的 prompt 和函数定义&#xff08;包括函数名、参数结构等&#xff09;一起发给 OpenAI。 …...

基于尚硅谷FreeRTOS视频笔记——6—滴答时钟—上下文切换

FreeRTOS滴答 FreeRTOS需要有一个时钟参照&#xff0c;并且这个时钟不会被轻易打断&#xff0c;所以最好选择systick 为什么需要时间参照 就是在高优先级任务进入阻塞态后&#xff0c;也可以理解为进入delay&#xff08;&#xff09;函数后&#xff0c;需要有一个时间参照&…...

Playwright框架入门

Playwright爬虫框架入门 Playwright介绍 playwright官方文档 Playwright是一个用于自动化浏览器操作的开源工具&#xff0c;由Microsoft开发和维护&#xff0c;支持多种浏览器和多种编程语言&#xff0c;可以用于测试、爬虫、自动化任务等场景。 Playwright是基于WebSocket…...

针对渲染圆柱体出现“麻花“状问题解决

圆柱体渲染结果&#xff0c;在侧面有麻花状条纹&#xff0c;边缘不够硬朗&#xff0c;上下的圆看起来不够平&#xff0c;很明显&#xff0c;是法向量导致的。 原始模型 渲染结果 计算点的法向量采用简单的平均法&#xf…...

手撕数据结构算法OJ——栈和队列

文章目录 一、前言二、手撕OJ2.1有效的括号2.2用队列实现栈2.2.1初始化2.2.2入栈2.2.3出栈2.2.4取栈顶2.2.5判空2.2.6销毁2.2.7整体代码 2.3用栈实现队列2.3.1初始化2.3.2入队2.3.3出队2.3.4取队头2.3.5判空2.3.6销毁2.3.7整体代码 四、总结 一、前言 兄弟们&#xff0c;今天的…...

基础知识-指针

1、指针的基本概念 1.1 什么是指针 1.1.1 指针的定义 指针是一种特殊的变量&#xff0c;与普通变量存储具体数据不同&#xff0c;它存储的是内存地址。在计算机程序运行时&#xff0c;数据都被存放在内存中&#xff0c;而指针就像是指向这些数据存放位置的 “路标”。通过指针…...

Thymeleaf简介

在Java中&#xff0c;模板引擎可以帮助生成文本输出。常见的模板引擎包括FreeMarker、Velocity和Thymeleaf等 Thymeleaf是一个适用于Web和独立环境的现代服务器端Java模板引擎。 Thymeleaf 和 JSP比较&#xff1a; Thymeleaf目前所作的工作和JSP有相似之处&#xff0c;Thyme…...

ifconfig -bash: ifconfig: command not found

Ubuntu系统安装完成想查看其ip 报错ifconfig -bash: ifconfig: command not found 解决方法 sudo apt update sudo apt install net-tools ip查找成功...

MCP协议量子加密实践:基于QKD的下一代安全通信(2025深度解析版)

一、量子计算威胁的范式转移与MCP协议改造必要性 1.1 传统加密体系的崩塌时间表 根据IBM 2025年量子威胁评估报告&#xff0c;当量子计算机达到4000个逻辑量子比特时&#xff08;预计2028年实现&#xff09;&#xff0c;现有非对称加密体系将在72小时内被完全破解。工业物联网…...

STM32 基本GPIO控制

目录 GPIO基础知识 ​编辑IO八种工作模式 固件库实现LED点灯 蜂鸣器 按键基础知识 ​编辑继电器 震动传感器 433M无线模块 GPIO基础知识 GPIO(General-Purpose input/output,通用输入/输出接口) 用于感知外部信号&#xff08;输入模式&#xff09;和控制外部设备&…...

【天外之物】叉乘(向量积)的行列式表示方法

叉乘&#xff08;向量积&#xff09;的行列式表示方法如下&#xff1a; 步骤说明&#xff1a; 构造33矩阵&#xff1a; 将三维向量叉乘转换为行列式的形式&#xff0c;需构造一个包含单位向量 i , j , k \mathbf{i}, \mathbf{j}, \mathbf{k} i,j,k 和原向量分量的矩阵&#x…...

北京SMT贴片厂精密制造关键工艺

内容概要 随着电子设备小型化与功能集成化需求日益提升&#xff0c;北京SMT贴片厂在精密制造领域持续突破工艺瓶颈。本文以高密度PCB板贴片全流程为核心&#xff0c;系统梳理从锡膏印刷、元件贴装到回流焊接的关键技术节点&#xff0c;并结合自动化检测与缺陷预防方案&#xf…...

服务器架构:SMP、NUMA、MPP及Docker优化指南

文章目录 引言 一、服务器架构基础1. SMP&#xff08;对称多处理&#xff0c;Symmetric Multiprocessing&#xff09;2. NUMA&#xff08;非统一内存访问&#xff0c;Non-Uniform Memory Access&#xff09;3. MPP&#xff08;大规模并行处理&#xff0c;Massively Parallel Pr…...

Datawhale春训营赛题分析和总结

1.Datawhale春训营任务一 借助这个云平台&#xff0c;支持类似于这个anaconda相关的交互式的操作&#xff0c;第一个任务就是跑通这个baseline&#xff0c;然后注册账号之后送了对应的相关算力&#xff0c;跑通这个之后需要进行打卡&#xff0c;跑通其实是没问题不大的&#x…...

一键模仿图片风格,图生生APP,实现随时随地“生图自由“

一、什么是"图片模仿"功能&#xff1f; "图片模仿"是图生生AI的功能之一&#xff0c;利用先进的AI技术&#xff0c;分析上传的图片风格、色调、构图等元素&#xff0c;快速生成具有相同风格的图片。无论是产品展示、广告海报还是社交媒体配图&#xff0c;…...

C++——C++11常用语法总结

C11标准由国际标准化组织&#xff08;ISO&#xff09;和国际电工委员会&#xff08;IEC&#xff09;旗下的C标准委员会&#xff08;ISO/IEC JTC1/SC22/WG21&#xff09;于2011年8月12日公布&#xff0c;并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于C11标准…...

C++17 新特性简解

C17 新特性简解 一、核心语言特性 1. 结构化绑定&#xff08;Structured Bindings&#xff09; 用途&#xff1a;解构复合类型&#xff08;如元组、结构体&#xff09;为独立变量 示例&#xff1a; #include <iostream> #include <tuple>int main() {// 解构 st…...

【失败】Gnome将默认终端设置为 Kitty

起因 一会儿gnome-terminal一会儿kitty终端&#xff0c;实在是受不了&#xff0c;决定取缔默认的gnome-terminal。 过程 在 Ubuntu 或 Debian 系统上&#xff1a; 确保 Kitty 已经安装。如果未安装&#xff0c;可以在终端中运行命令sudo apt install kitty -y进行安装。 使用系…...

【Easylive】微服务架构在系统中的优缺点的具体体现

【Easylive】项目常见问题解答&#xff08;自用&持续更新中…&#xff09; 汇总版 在线视频分享系统项目简介 系统概述 该项目是一个基于SpringCloud微服务架构的在线视频分享系统&#xff0c;主要功能包括&#xff1a; • 用户自主发布视频 • 后台视频审核 • 用户互动…...

锁(Mutex)、信号量(Semaphore)与条件量(Condition Variable)

一、同步机制的核心意义 在多线程/多进程编程中&#xff0c;当多个执行流共享资源&#xff08;如变量、内存、文件&#xff09;时&#xff0c;可能因操作顺序不确定导致数据竞争&#xff08;Data Race&#xff09;。同步机制的作用是&#xff1a; 保证原子性&#xff1a;确保…...

使用pnpm第一次运行项目报错 ERR_PNPM_NO_PKG_MANIFEST No package.json found in E:\

开始用unibestpnpm写一个小程序 运行pnpm init报错 如标题所示没有package.json这个文件 博主犯了一个很愚蠢的错误。。 准备方案手动创建一个json文件 此时才发现没到根目录下&#xff0c;创建了一个项目之后就没有切入文件夹里。 切入根目录再下载就成功啦...

前沿篇|CAN XL 与 TSN 深度解读

引言 1. CAN XL 标准演进与设计目标 2. CAN XL 物理层与帧格式详解 3. 时间敏感网络 (TSN) 关键技术解析 4. CAN XL + TSN 在自动驾驶领域的典型应用...

从零开始学A2A一:A2A 协议的高级应用与优化

A2A 协议的高级应用与优化 学习目标 掌握 A2A 高级功能 理解多用户支持机制掌握长期任务管理方法学习服务性能优化技巧 理解与 MCP 的差异 分析多智能体场景下的优势掌握不同场景的选择策略 第一部分&#xff1a;多用户支持机制 1. 用户隔离架构 #mermaid-svg-Awx5UVYtqOF…...

追赶地球变化的“快镜头“:遥感时间分辨率的奥秘

在地球表面&#xff0c;万物的生长、兴衰和变迁&#xff0c;如同一部永不停歇的电影。而科学家们想要看清每一帧画面&#xff0c;就必须依赖遥感卫星这个"超级摄影师"。今天&#xff0c;我们就来聊聊遥感领域里一个关键的维度——时间分辨率。 想象一下&#xff0c;如…...

轻量还是全量?Kubernetes ConfigMap 与专业配置中心的抉择

文章目录 简介什么是 ConfigMapConfigMap 的核心能力配置存储与注入动态更新与 Kubernetes 原生生态深度集成 ConfigMap 的固有局限专业配置中心对比选型建议结语 简介 在现代微服务架构中&#xff0c;集中式配置管理是保证应用可维护性、可扩展性和安全性的关键环节。Kuberne…...

mybatis plus打印sql日志到指定目录

1、mybatis plus打印sql日志 参考文档&#xff1a;mybatis plus打印sql日志_mybatisplus日志打印-CSDN博客 2、修改 修改InfoLevelLogger Override public void debug(String s) {// 修改这里logger.info(s);log.debug(s); } 增加&#xff1a;log.debug(s); 修改logback.x…...

CUDAfy的使用

此文章是对一篇使用文档的翻译总结 文档地址 https://www.doczj.com/doc/0f2570173.html CUDAfy使用步骤​ 1. 环境准备​ 硬件要求​​&#xff1a;支持CUDA的NVIDIA显卡&#xff08;如GTX系列&#xff09;。​​软件安装​​&#xff1a; 安装最新版NVIDIA驱动。下载并安…...

DeepSeek 部署中的常见问题及解决方案

DeepSeek(深度求索)大模型部署过程中常见问题的系统性解决方案,涵盖环境配置、模型加载、性能优化、安全防护及企业级部署等核心场景,结合官方文档与社区实践提供可落地的操作指南: 一、环境配置与依赖问题 1. 操作系统与硬件兼容性 问题表现:部署失败提示驱动不兼容或…...

【AI提示词】儿童看护员

提示说明 儿童看护员旨在帮助用户构建一个既专业又富有爱心的儿童看护员角色&#xff0c;以满足儿童在成长过程中的各种需求。 提示词 # 角色 儿童看护员## 注意 1. 儿童看护员应具备亲和力和耐心&#xff0c;以确保与儿童的良好互动。 2. 专家设计应关注儿童的安全、健康和…...

深入解析 Python 中的装饰器 —— 从基础到实战

1. 装饰器基础 1.1 什么是装饰器&#xff1f; 装饰器本质上是一个 Python 函数&#xff0c;它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象。 1.2 语法糖&#xff1a; 符号 Python 提供了 符号作为装饰器的语法糖&#xff0c…...

学习海康VisionMaster之中线查找

一&#xff1a;进一步学习了 今天学习下VisionMaster中的中线查找&#xff0c;这个就是字面意思&#xff0c;输入两条直线&#xff0c;输出两条直线的中线 二&#xff1a;开始学习 1&#xff1a;什么是中线查找&#xff1f;今天这个比较简单&#xff0c;其实这个模块算是一个几…...

笔记整理五

STP生成树 stp生成树是用于解决二层环路问题的协议。 二层环路为有以下三种&#xff1a; 1.广播风暴 2.MAC地址的偏移&#xff08;每一次循环&#xff0c;都会导致交换机来回刷新MAC地址表记录&#xff09; 3.多帧复制 stp生成树&#xff1a;需要将原本的环型拓扑结构转换…...

js实现的前端水印

效果 var defaultConfig {content: [], // 水印内容数组fontSize: 14, // 字体大小(px)fontFamily: sans-serif, // 字体color: rgba(255, 255, 255,.3), // 字体颜色rotate: -20, // 旋转角度(度数)zIndex: 2147483647, // 层级globalAlpha: 0.5, // 透明度canvasWidth: 30…...

前端服务器部署报错记录

报错1&#xff1a;Refused to apply style from http://xxxxxxx.online/assets/index.DepkYCYv.css because its MIME type (text/plain) is not a supported stylesheet MIME type, and strict MIME checking is enabled. index-Dnq3oQAv.js:1 解释&#xff1a;浏览器期望加载…...