DirectPV-----文章内容有待进一步实践完善
GitHub文档地址:https://github.com/minio/directpv
DirectPV是用于直连存储的CSI驱动程序。从更简单的意义上讲,它是一个分布式持久卷管理器,而不是像SAN或NAS这样的存储系统。跨服务器发现、格式化、装载、调度和监视驱动器非常有用。由于Kubernetes hostPath和本地PV是静态配置的,并且功能有限,因此创建DirectPV就是为了解决这一限制。
分布式数据存储(如对象存储、数据库和消息队列)是为直连存储而设计的,它们自行处理高可用性和数据持久性。在传统的SAN或基于NAS的CSI驱动程序(Network PV)上运行它们会在数据路径中添加另一层复制/擦除编码和额外的网络跳数。这种额外的分解层会导致复杂性增加和性能降低。

结构
DirectPV设计为轻量级,可扩展到1000个驱动器中的10个。它由三个组件组成:控制器、节点驱动程序、用户界面

1.控制器
在进行卷声明时,控制器会从无池驱动器统一调配卷。DirectPV知道pod的关联约束,并将卷从本地驱动器分配到pod。请注意,每个群集只运行一个活动的controller实例。
2.节点驱动程序
节点驱动程序实现卷管理功能,例如发现、格式化、装载和监视节点上的驱动器。每个存储服务器上都运行一个节点驱动程序实例。
3.用户界面
存储管理员可以使用kubectl CLI插件来选择、管理和监视驱动器。基于Web的UI目前正在开发中。
Installation
# Install kubectl directpv plugin
# kubectl krew install directpv
Updated the local copy of plugin index.
Installing plugin: directpv
Installed plugin: directpv
\
| Use this plugin:
| kubectl directpv
| Documentation:
| https://github.com/minio/directpv
/
WARNING: You installed plugin "directpv" from the krew-index plugin repository.
These plugins are not audited for security by the Krew maintainers.
Run them at your own risk.
# Use the plugin to install directpv in your kubernetes cluster
# kubectl directpv install
I0316 10:39:32.252897 26592 install.go:95] Enable dynamic drive change management using --enable-dynamic-discovery flag
W0316 10:39:32.253005 26592 install.go:97] dynamic-discovery feature is strictly experimental and NOT production ready yet
I0316 10:39:32.291954 26592 ns.go:55] 'direct.csi.min.io' namespace created
I0316 10:39:32.339038 26592 rbac.go:352] 'direct.csi.min.io' rbac created
I0316 10:39:32.665041 26592 psp.go:129] 'direct.csi.min.io' podsecuritypolicy created
I0316 10:39:42.759152 26592 conversion_secret.go:170] 'direct.csi.min.io' conversion webhook secrets created
I0316 10:39:42.889964 26592 crd.go:135] crds successfully registered
I0316 10:39:43.113506 26592 csidriver.go:150] 'direct.csi.min.io' csidriver created
I0316 10:39:43.244882 26592 storageclass.go:50] 'direct.csi.min.io' storageclass created
I0316 10:39:43.277386 26592 service.go:39] 'direct.csi.min.io' service created
I0316 10:39:43.335130 26592 daemonset.go:41] 'direct.csi.min.io' daemonset created
I0316 10:39:43.474387 26592 deployment.go:295] 'direct.csi.min.io' deployment created
# Ensure directpv has successfully started
# 查看pod创建events,会有报错,才导致info信息没有的
# kubectl directpv info
ERR: directpv installation NOT found
run 'kubectl directpv install' to get started
ERROR directpv installation not found
# List available drives in your cluster
kubectl directpv drives ls
# Select drives that directpv should manage and format
kubectl directpv drives format --drives /dev/sd{a...f} --nodes directpv-{1...4}
# 'directpv' can now be specified as the storageclass in PodSpec.VolumeClaimTemplates



DirectPV-----文章内容有待进一步实践完善的更多相关文章
- phpcms v9使用GET调用指定id文章内容、页面数据方法
不知道大家有没有相同的体会?在使用Phpcms V9建站调用数据的时候,基础的数据用默认的模板的调用语句就好了,但复杂不常见的数据怎么调用呢?我们技术可能会研究半天,怀着探索的精神不断尝试.孜孜不倦. ...
- [MVC]如何删除文章内容中的图片
1.实现代码 if (!string.IsNullOrWhiteSpace(entity.Content)) { var immgList = TextHelper.GetImgUrlList(ent ...
- 如何给wordpress首页自动显示文章内容的第一个图片
敏捷个人手机应用中使用到的数据来源于wordpress中,因为自己写的页面,所以可以自己写代码获取文章内容的第一个图片作为文章缩略图来显示,这样用户看到首页时图文并茂,感觉会好一些. 现在后台简单的使 ...
- php文章内容分页并生成相应的htm静态页面代码
代码如下: <?php $url='test.php?1=1'; $contents="fjka;fjsa;#page#批量生成分成文件并且加上分页代码"; $ptext = ...
- DEDECMS调用特定ID文章内容的实现方法
DEDECMS调用特定ID文章内容的实现方法 {dede:loop table='dede_addonarticle' sort='aid' row='8' if='aid=524'} [field: ...
- js对文章内容进行分页示例代码
这篇文章主要介绍了使用js对文章内容进行分页的具体实现,需要的朋友可以参考下 Thinkphp中文章显示代码: 代码如下: <div id="showContent"> ...
- 项目视频讲解_[HeyJava][尚学堂][CMS文章内容管理系统]
[HeyJava][尚学堂][CMS文章内容管理系统] http://pan.baidu.com/s/1c0imHrE
- 前端基础系列——CSS规范(文章内容为转载)
原作者信息 作者:词晖 链接:http://www.zhihu.com/question/19586885/answer/48933504 来源:知乎 著作权归原作者所有,转载请联系原作者获得授权. ...
- WordPress批量修改文章内容、URL链接、文章摘要
通过SQL语句来批量修改wordpress博客内容,文章中所有语句都使用默认的wp_表前缀,如果您的数据表前缀不是wp_则需要在语句中作相应更改. 方法/步骤 批量修改文章内容 如果您想替换之前写 ...
随机推荐
- [开源] .Net ORM 访问 Firebird 数据库
前言 Firebird 是一个跨平台的关系数据库系统,目前能够运行在 Windows.linux 和各种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能.它既能作为多用户环境下的数据库服 ...
- EEPROM存储电路(M24C64芯片)
电可擦写可编程只读存储器(Electrically Erasable Programmable Read-only Memory, EEPROM)实现掉电情况下保存数据,设计温湿度变送器采用M24C6 ...
- 【cartogarpher_ros】一: ros系统下的快速安装
Cartographer是一个跨多个平台和传感器配置提供 2D 和 3D实时同步定位和映射 ( SLAM ) 的系统. 使用Cartographer有Ros集成环境和无Ros环境,对于新手快速入门,推 ...
- 渗透测试(PenTest)基础指南
什么是渗透测试? 渗透测试(Penetration Test,简称为 PenTest),是指通过尝试利用漏洞攻击来评估IT基础设施的安全性.这些漏洞可能存在于操作系统.服务和应用程序的缺陷.不当配置或 ...
- 在 IDEA 里下个五子棋不过分吧?
大家好,我是二哥呀!今天给大家分享一个基于Netty的IDEA即时聊天插件,可以实现即时聊天.游戏对战(下棋). GitHub 地址:https://github.com/anlingyi/xecha ...
- 使用OnPush和immutable.js来提升angular的性能
angular里面变化检测是非常频繁的发生的,如果你像下面这样写代码 <div> {{hello()}} </div> 则每次变化检测都会执行hello函数,如果hello函数 ...
- python将命令输出写入文件或临时缓存
python将命令输出写入文件 将文件写入到对应文件,方便后期处理或保存 def write_file(file_path): with open(file=file_path, mode=" ...
- 论文解读(PPNP)《Predict then Propagate: Graph Neural Networks meet Personalized PageRank》
论文信息 论文标题:Predict then Propagate: Graph Neural Networks meet Personalized PageRank论文作者:Johannes Gast ...
- 什么是hive的静态分区和动态分区,它们又有什么区别呢?hive动态分区详解
面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直 ...
- Vue+Koa+MongoDB从零打造一个任务管理系统
大概是在18年的时候,当时还没有疫情.当时工作中同时负责多个项目,有 PC 端运营管理后台的,有移动端 M 站的,有微信小程序的,每天 git 分支切到头昏眼花,每个需求提测需要发送邮件,而且周五要写 ...