k8s实践利用storageclass实现pvc的动态provision(volume使用ceph rbd)

Kubernetes存储安全实战:RBAC权限、数据加密与访问控制全解析 在容器化与云原生架构中,数据持久化与安全是保障业务连续性的核心。其原理基于分布式系统的访问控制与加密技术,通过精细的权限管理和加密策略确保数据在存储与传输过程中的机密性与完整性。这一技术价值在于为动态、多租户的容器环境提供了企业级的数据保护能力,广泛应用于金融、医疗、电商等对数据安全要求严苛的场景。具体到Kubernetes平台,存储安全主要围绕RBAC(基于角色的访问控制)实现权限隔离,并结合StorageClass与CSI驱动管理存储供给。同时,通过传输中加密与静态加密构建数据安全双重防线,其中静态加密 阅读详情

    最近实践了利用k8s的storageclass,实现pvc的动态创建,绑定,特记录如下.

   1 已经部署好的k8s集群和ceph集群.


   2  创建ceph-secret,后面创建storageclass需要使用.

    

   启动key后面的内容为ceph的admin用户的秘钥base64编码的结果

   


     3  创建storageclass 


其中 adminSecretName与上面创建的secret的名字对应, adminSecretNamespace为kube-system.


  4 创建pvc,pvc里面引用创建出来的storageclass.




 5  创建pod引用此pvc




6 创建deployment后,pod变为running状态


        pod创建过程中的kube-controller-manager的日志输出,可以发现对应的pv_controller控制器的工作过程



         对应的ceph pool自动创建了一个rbd image,kubectl可以看到自动创建的pv,并且已经bound到pod了

         

 

  

      到pod运行的node节点,用lsblk可以看到rbd image已经挂载到pod里面




7  遇到的问题

   7.1   RBAC导致的问题(system:kube-controller-manager用户缺少权限)


   解决办法:按照报错提示授予对应的权限即可。


   7.2  创建的secret 无法被pv_controller获取到的问题。


  问题原因:之前ceph-secret定义到了default的namespace,导致pv_controller无法获取

  解决办法:定义ceph-secret到kube-system的namespace即可。


   7.3、创建的deployment无法autoscale

    通过kubectl autoscale deployment my-nginx-pvc --min=2 --max=3扩容pod,发现pod一直在ContainerCreating状态。


   

问题原因:rbd类型的pv只能被一个pod可以读写挂载 ,一个rbd image挂载到pod后,image会加锁。


解决办法:使用支持多个pod同时读写挂载的pv类型,如nfs,或者使用stateful,每个pod各自挂载一个pv。



参考:

   1  https://v1-8.docs.kubernetes.io/docs/concepts/storage/storage-classes/

   2 https://v1-8.docs.kubernetes.io/docs/concepts/storage/persistent-volumes/  

rook-ceph rpc error: code = Internal desc = rbd: map failed with error an error (exit status 95) rook-ceph部署成功并创建好存储类,启用mysql测试对接存储,pvc pv状态都正常,但是对应的pod报错。 阅读详情

相关推荐

SYSU-MM01数据集评估避坑指南:从RGB/IR图像理解到Python评估脚本调优

本文详细解析了SYSU-MM01数据集在跨模态行人重识别(ReID)评估中的关键技巧与常见陷阱。从RGB/IR图像理解到Python评估脚本优化,提供了数据评估模式选择、single-shot/multi-shot差异分析、特征文件处理规范等实用指南,帮助研究者避开指标异常问题,提升评估效率与准确性。

weixin_29044713的博客 197

kubernets使用ceph-rbd作为storageclass并创建pvc和应用

1.Kubernetes StorageClass 介绍 Kubernetes 集群存储 PV 支持 Static 静态配置以及 Dynamic 动态配置,动态卷配置 (Dynamic provisioning) 可以根据需要动态的创建存储卷。静态配置方式,集群管理员必须手动调用云/存储服务提供商的接口来配置新的固定大小的 Image 存储卷,然后创建 PV 对象以在 Kubernetes 中请...

liukuan73的专栏 9860

7 series FPGAs Transceiver Wizard IP核使用和测试

学习FPGA一段时间了,前面一直没有系统的总结,这学期把在项目中用到的IP核和一些调试过程中遇到的问题总结一下发出来,坚持下去,一起进步! 今天总结一下的GTH核的使用和测试。 软件版本:Vivado 2017.4 IP核版本:7 Series FPGAs Transceivers Wizard (3.6) FPGA:xc7vx690tfft1927 实现功能: 四路光纤数据接收,由于GTX IP...

qq_39921762的博客 1万+

k8s-ceph-rbd

k8s使用ceph实现动态持久化存储 https://juejin.im/post/5b766b5bf265da27e36efdfa96 CountingStars_ 2018.08.17 14:37* 字数 435 阅读 3432评论 1喜欢 3简介本文章介绍如何使用ceph为k8s提供动态申请pv的功能。ceph提供底层存储功能,cephfs方式支持k8s的pv的3种访问模式ReadWri...

cadn2004的博客 422

S32K144后门密钥实战:如何用JLINK脚本绕过复位陷阱更新加密固件

本文详细介绍了在S32K144微控制器上,如何利用JLINK脚本绕过调试器默认复位陷阱,实现通过后门密钥安全更新加密固件的实战方案。针对汽车电子现场维护中常见的“解锁-复位-锁定”循环问题,文章提供了完整的JLinkScript定制方法、批处理工具及故障排除指南,帮助工程师高效完成固件升级。

weixin_29175469的博客 148

故障排查:OpenClaw 更新后 feishu 插件路径失效的解决方法

OpenClaw 更新后 feishu 插件路径失效的解决方法发现问题→ Gateway 启动失败,报插件路径错误定位原因→ OpenClaw 目录结构变化,→解决问题→ 更新为正确的路径验证修复→ 使用确认一切正常。

刘一说的IT专栏 1306

k8s创建pvc失败排查

问题 在 k8s环境中创建pvc报错如下 unexpected error getting claim reference: selfLink was empty, can't make reference

小喽喽 2655

uniapp [安卓苹果App端] - 详细实现手机蓝牙连接打印机及打印票据小票/标签/面单/热敏小票订单/快递单等通用兼容适配解决方案,Uniapp对接蓝牙打印机支持各种主流品牌及打印指令,强悍插件

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果app,蓝牙打印机,uniappAPP实现通过蓝牙连接打印机打印,uniapp蓝牙连接打印机,安卓蓝牙打印插件,蓝牙打印机,蓝牙ble低功率及高功率打印机小票、标签、面单打印,手机PDA蓝牙打印插件,连接蓝牙打印机,蓝牙连接,打印文本、图片、条码、二维码,兼容斑马打印机、佳博打印机,TSC打印机,免费蓝牙打印机组件,蓝牙打印条码,蓝牙打印机连接,热敏蓝牙打印机,便携式打印机,打印机搜索不到,连接失败,发送打印命令

🏆 前端领域优质创作者 1万+

k8s如何使用ceph rbd块存储(静态供给、存储类动态供给)

k8s集群如何使用rbd作为后端存储

MssGuo的博客 4303

PyCharm 配置 Anaconda 环境时找不到 python.exe 的解决办法

通过本文的排查步骤与详细解决方案,你应该能够迅速定位并修复 PyCharm 配置 Anaconda 环境时找不到 python.exe 的问题。确保正确设置环境路径、激活目标环境以及手动指定解释器路径是解决此问题的关键。随着开发工具与包管理器的不断更新,类似的问题可能会出现新的变体。持续关注官方文档、社区讨论和版本更新,可以帮助开发者及时适应新变化,并优化工作流程。希望本文提供的分析和代码示例能为你的开发环境配置带来帮助,让你在 PyCharm 与 Anaconda 的高效协同下,专注于创新与代码实现。

s13596191285的博客 3119

华为OD机试新系统真题 【LLM推理批次最大化】

华为OD机试 新系统真题【LLM推理批次最大化】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【LLM推理批次最大化】多语言题解。

qq_45776114的博客 573

【kubernetes/k8s源码分析】 k8s ceph rbd storage 源码分析

secret.yaml apiVersion: v1 kind: Secret metadata: name: rbd-secret type: "kubernetes.io/rbd" data: key: QVFBM2IvUmNqQkM2S0JBQVZZL041aFNJSk53algvTDB1eU56Y3c9PQ== rbd-class.yaml ...

zhonglinzhang 3323

Windows 下 Hermes Agent(爱马仕)安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Hermes Agent(爱马仕) 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Hermes Agent 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装WSL环境 2.2 步骤二 安装Python环境 2.3 步骤三 安装Hermes Agent 2.4 步骤四 修正 API Key 错误 2.5 步骤五 配置多个模型 2.6 步骤六 启动Hermes Agent 3. 常见问题及解决方案 4. 总结

weixin_43178406的博客 14万+

知识点13---k8s存储持久化

Kubernetes存储持久化解决方案摘要(149字) K8s通过存储卷机制解决数据持久化问题,使数据库等有状态应用能够运行。相比localPath方案(仅支持只读且需额外运维),K8s提供了多种专业存储卷类型:包括AWS/Azure云磁盘、CephFS分布式存储、CSI接口卷、临时存储emptyDir、主机路径hostPath等。用户可通过kubectl explain pod.spec.volumes查看当前集群支持的存储选项,每种类型对应不同存储场景,如gitRepo适用于代码仓库,glusterfs

别人笑我太疯癫,我笑他人看不穿。 682

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

(k8s)kubernetes 使用 Ceph RBD 作为后端存储(静态供给、动态供给)

允许用户创建虚拟块设备,并将其映射到客户端系统中,就像本地磁盘一样使用。存储集群中的一个重要组件,它提供了块级别的存储访问。需要绑定一个存储池,创建一个名为。静态供给方式需要提前创建好。命令,所以在开始前需要安装。,并初始化该存储池给。

Richardlygo的博客 835

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用 RBD 作为 Kubernetes 存储解决方案的最佳实践指南!

戳下方名片,关注并星标!回复“1024”获取2TB学习资源!????体系化学习:运维工程师打怪升级进阶之路 4.0— 特色专栏—MySQL/PostgreSQL/MongoDBElasticSearch/Hadoop/RedisKubernetes/Docker/DevOpsKafka/RabbitMQ/Zookeeper监控平台/应用与服务/集群管理N...

民工哥的博客 707

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

K8S对接ceph的RBD块存储

说明请阅读往期的ceph文章,本篇基于之前的ceph。 K8S支持多种外部存储,当让ceph的RBD也是支持的。那么要如何使用?

qq_73797346的博客 1697

k8s后端ceph存储rbd做sc

【代码】k8s后端ceph存储rbd做sc。

weixin_44943989的博客 300

k8s(十二)、分布式存储Ceph RBD使用

前言 上篇文章介绍了k8s使用pv/pvc 的方式使用cephfs,k8s(十一)、分布式存储Cephfs使用 Ceph存储有三种存储接口,分别是:对象存储 Ceph Object Gateway 块设备 RBD 文件系统 CEPHFS Kubernetes支持后两种存储接口,支持的接入模式如下图: 在本篇将测试使用ceph rbd作持久化存储后端 RBD创建测试 rbd的使用分为3个步骤: 1.服务端/客户端创建块设备image 2.客户端将image映射进linux系统内核,内核识别出该块设

Vic的博客 1674

kubernetes使用ceph rbd存储

说明 kubernetes静态pv可以使用cephfs,但是动态pvc不支持cephfs,可以使用rbd,这里只介绍如何使用rbd 安装ceph客户端需要使用rbd,安装ceph客户端,安装方式有两种 一种在服务端安装,如果网络慢的话此方法会报超时,可以使用另外一种方法 ceph-deploy install clientip 直接安装客户端 yum clean all rm -rf /etc/

mofiu的博客 3260

七、在k8s中使用ceph rbd

一、以volume方式使用ceph 1、ceph端配置 1>创建pool ceph osd pool create kubernetes-rbd 64 64 2>创建用户 ceph auth get-or-create client.kubernetes-rbd-user mon 'profile rbd' osd 'profile rbd pool=kubernetes-rbd' 3>创建rbd块 rbd create -p kubernetes-rbd --image-featur

段帅星的博客 1108

K8s 使用 Ceph RBD 作为后端存储(静态供给、动态供给)

Ceph RBD(Rados Block Device)是 Ceph 存储集群中的一个重要组件,它提供了块级别的存储访问。RBD 允许用户创建虚拟块设备,并将其映射到客户端系统中,就像本地磁盘一样使用。

小毕超博客 1310

如何在 Kubernetes 环境中搭建 MySQL(三):使用 PVC 挂接 RBD

MySQL in Kubernetes MySQL 中的数据是关键信息,是有状态的,不可能随着 MySQL pod 的销毁而被销毁,所以数据必须要外接到一个可靠的存储系统中,目前已经有了 Ceph 系统,所以这里就只考虑如何将 Ceph 作为外部存储的情况,毕竟没有条件去尝试其他存储方案。 本文从...

weixin_33975951的博客 452

关于Kubernetes对接Ceph过程中的问题解决.

Kubernetes对接Ceph问题总结

zl1627257220的博客 1962

k8s--基础--22.16--storageclass--实践--实现nfs做存储类的动态供给

注:2、3、4这三个步骤是用来创建nfs外部供应商程序的,我们storageclass要想使用nfs作为外部供应者,必须执行这三个步骤。上面案例说明,read-pod 使用了名称为pv-claim的pvc。而pvc又自动的和pv绑定了。需要完成上面的第(2)、(3)、(4)、(5)、(6)步。通过上图,我们得知,创建pvc的时候,会自动创建pv。就是创建provisioner的提供者。这个只是测试使用,可以不做。...

zhou920786312的博客 2456
上一篇: ceph 创建和删除osd
下一篇: kubernets使用ceph-rbd作为storageclass并创建pvc和应用
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值