kubernetes之存储学习整理

2024-05-06 17:32

本文主要是介绍kubernetes之存储学习整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概要

  • 存储选型思考

    • 一般应用服务:应用级本身不做数据的冗余,为了数据的安全性,而且这类读写延迟高些也能接受(读写IO路径长,多副本机制,都会增加读写延迟),开源的主流使用ceph(默认采用三副本,设计优雅,理念也是自动化)
    • 数据类服务:本身为了高可用而使用多副本冗余机制,通常对性能和延时有比较高的要求
      • 简单方案可以采用如hostpath等本地存储方案,妥协点是数据无法迁移(当然,一般数据类系统 添加删除节点时,本身有负载均衡功能,所以可以通过 删除节点,添加新节点 这种“迁移”方式,迁移过程就是对服务有可能所影响)
      • 使用网络块存储(block device)(性能高的SAN存储): 跟平台解耦,灵活迁移,代价就是延时有些高,性能有些低(像couchbase 这类内存Nosql,数据在内存,通过异步刷新数据到磁盘 ,对磁盘读写延迟一些可以接受的)
  • 开发存储插件

    • 背景:X银行往往有自己的高性能的SAN存储系统,需要进行对接,块设备挂载本地后使用LVM。
      • 基于FlexVolume: lvm 根据需求二次定制就好了。
      • (可选)参考external-storage:hostPath demo

概念

kubernetes指南:存储

这篇关于kubernetes之存储学习整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/964920

相关文章

Linux命令学习之二

每日一结 ​               命令置换:是将一个命令的输出作为另一个命令的参数,命令格式如下: commond1 `command2` 其中,命令command2的输出将作为命令command1的参数,需要注意的是, 命令置换的单引号为ESC键下方的 ` 其意思就是说,先运行单引号内的命令,再将其命令作为

Linux命令学习之一

每日一结                                                                                        注:当用户不确定一个软件包的类型时, 可使用file命令查看文件类型

Android_02_在内部或外部存储中读写文件的操作

前言:  Ram内存:运行内存,相当于电脑的内存  Rom内存:内部存储空间,相当于电脑的硬盘 sd卡:外部存储空间,相当于电脑的移动硬盘 1>在内部存储中读写文件 代码示例如下: package com.itheima.rwinrom;import java.io.BufferedReader;import java.io.File;import java.io.File

2014年5月3日整理java笔试题+答案和自己的代码

一.选择题(每题1分) 1. jsp 有几个内置对象?( )(单选) A 5个 B 6个 C 9个 D 8个 2. 在JAVA中,如何跳出当前的多重嵌套循环?( ) (多选) A break B return C forward Dfinally 3. 四种会话跟踪技术,哪个范围最大?( ) (单选) A page B request C session Dapplication 4. java中

2014年5月整理java笔试题及几个小面试题

实现2/1 3/2 5/3 8/5 13/8...前20项的和public class Test {public double sum(){double m = 1; //分母double n = 2;//分子double sum = 0;for (int i = 0; i < 20; i++) {sum = sum+n/m;double temp = m;m = n;n = m + temp;

2014年5月整理java面试题

1.Overload(方法重载)和override(方法覆盖)的区别: overload是指函数的名称相同,但是属性不同(返回类型除外)  override是对父类的虚函数进行“个性化”,要求属性必须与父类中声明的一致,不然会变成overload!   overload是完全隐藏了父类中函数的实现,相当于定义了一个同名函数  override是继承父类中函数实现,同时增加自己的功能

javaweb学习-jstl-c:forEach中 varStatus的属性简介

varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count} 我们常会用c标签来遍历需要的数据,为了方便使用,varSta

java学习—null和isEmpty 区别

String fly1 = new String(); String fly2 = ""; String fly3 = null; 解释如下: 此时fly1是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已) 此时fly2是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串) 此时fly3是未分配内存空间,无值,是一种无值(

javaWeb学习—getRequestURI,getRequestURL等的学习

我使用的是SpringMVC框架,做一个小的例子,说明一下对这个内容的学习和理解! 1:我的项目名称为 dufyun_SpringMVC  2:我测试的地址为 ${pageContext.servletContext.contextPath}/testName 3;后台获取的代码为: @RequestMapping(value="/testName",method=Req

maven学习系列——(五)maven聚合与继承

这一篇学习和整理maven的聚合和继承! 并用具体的项目讲解说明! 参考: http://www.cnblogs.com/xdp-gacl/p/4242221.html