这里使用了k8s自身的持久化卷存储机制:PV和PVC。各组件之间的关系参考下图:

PV的Access Mode(访问模式)

The access modes are:

ReadWriteOnce – the volume can be mounted as read-write by a single node

ReadOnlyMany – the volume can be mounted read-only by many nodes

ReadWriteMany – the volume can be mounted as read-write by many nodes

In the CLI, the access modes are abbreviated to:

RWO - ReadWriteOnce

ROX - ReadOnlyMany

RWX - ReadWriteMany

Reclaim Policy(回收策略)

Current reclaim policies are:

Retain – manual reclamation

Recycle – basic scrub (“rm -rf /thevolume/*”)

Delete – associated storage asset such as AWS EBS, GCE PD, Azure Disk, or OpenStack Cinder volume is deleted

Currently, only NFS and HostPath support recycling. AWS EBS, GCE PD, Azure Disk, and Cinder volumes support deletion.

PV是有状态的资源对象,有以下几种状态:

1、Available:空闲状态

2、Bound:已经绑定到某个pvc上

3、Released:对应的pvc已经删除,但资源还没有被回收

4、Failed:pv自动回收失败

1、创建secret。在secret中,data域的各子域的值必须为base64编码值。

#echo "AQDchXhYTtjwHBAAk2/H1Ypa23WxKv4jA1NFWw==" | base64

QVFEY2hYaFlUdGp3SEJBQWsyL0gxWXBhMjNXeEt2NGpBMU5GV3c9PQo=

#vim ceph-secret.yaml

apiVersion: v1

kind: Secret

metadata:

name: ceph-secret

data:

key: QVFEY2hYaFlUdGp3SEJBQWsyL0gxWXBhMjNXeEt2NGpBMU5GV3c9PQo=

2、创建pv。pv只能是网络存储,不属于任何node,但可以在每个node上访问。pv并不是定义在pod上的,而是独立定义于pod之外。目前pv仅支持定义存储容量。

#vim ceph-pv.yml

apiVersion: v1

kind: PersistentVolume

metadata:

name: cephfs

spec:

capacity:

storage: 10Gi

accessModes:

- ReadWriteMany

fsType: xfs

cephfs:

monitors:

- 172.16.100.5 :6789

- 172.16.100.6 :6789

- 172.16.100.7 :6789

path: /opt/eshop_dir/eshop

user: admin

secretRef:

name: ceph-secret

3、创建pvc

#vim ceph-pvc.yml

kind: PersistentVolumeClaim

apiVersion: v1

metadata:

name: cephfs

spec:

accessModes:

- ReadWriteMany

resources:

requests:

storage: 8Gi

4、查看pv和pvc

#kubectl get pv

cephfs 10Gi RWX Retain Bound default/cephfs 2d

#kubectl get pvc

cephfs Bound cephfs 10Gi RWX 2d

5、创建rc,这个只是测试样例

#vim ceph-rc.yml

kind: ReplicationController

metadata:

name: cephfstest

labels:

name: cephfstest

spec:

replicas: 4

selector:

name: cephfstest

template:

metadata:

labels:

name: cephfstest

spec:

containers:

- name: cephfstest

image: 172.60.0.107/pingpw/nginx-php:v4

env:

- name: GET_HOSTS_FROM

value: env

ports:

- containerPort: 81

volumeMounts:

- name: cephfs

mountPath: "/opt/cephfstest"

volumes:

- name: cephfs

persistentVolumeClaim:

claimName: cephfs

5、查看pod

#kubectl get pod -o wide

cephfstest-09j37 1/1 Running 0 2d 10.244.5.16 kuber-node03

cephfstest-216r6 1/1 Running 0 2d 10.244.3.25 kuber-node01

cephfstest-4sjgr 1/1 Running 0 2d 10.244.4.26 kuber-node02

cephfstest-p2x7c 1/1 Running 0 2d 10.244.6.22 kuber-node04

cephfs java api_Kubernetes使用cephfs作为后端存储相关推荐

  1. java接口并发衡量_java 后端设计高并发接口总结

    如何设置高并发接口 一.并发队列的选择 二.请求接口的合理设计 三.高并发下的数据安全 3.1 超发的原因 3.2 悲观锁思路 3.3 FIFO队列思路 3.4 乐观锁思路 一.并发队列的选择 Jav ...

  2. java web前端哪个城市,Java Web 是前端还是后端

    Java Web 是前端还是后端 Java Web 是前端还是后端? Java Web是属于后端,Java Web就是用Java技术开发的Web应用,而Java是一种可以编写跨平台应用软件.完全面向对 ...

  3. 【转载】ceph作为OpenStack的后端存储解决方案

    Piston Cloud Computing公司介绍 Piston Cloud Computing,inc 是一间建立于2011年的软件公司.主要创始人原来都是OpenStack的创建者,包括前NAS ...

  4. linux 后端存储,配置NFS网络存储作为cinder的后端存储

    安装cinder和nfs yum install -y openstack-cinder yum install cifs-utils 在controller节点配置nfs [[email prote ...

  5. java对象如何保存日期_如何在Java中的日期对象中存储和检索毫秒?

    我正在制作一个读取字幕(.srt)文件的基本Java程序,我想将每次存储为Date对象.我真的只需要跟踪小时,分钟,秒和毫秒(到3位数).我想我能用这个存储它: String start = &quo ...

  6. 微软企业库4.1学习笔记(十五)缓存模块3 使用数据库作为后端存储

    配置缓存模块使用数据库作为后端存储 1) 在CacheManager节点上点击右键,选择新建[Database Cache Storage] 2)在配置中自动加入数据访问模块的配置信息 3)点击Dat ...

  7. java程序在内存中的存储分配

    java程序在内存中的存储分配情况: 一. 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令)  2.jvm只有一个堆区(heap)被所有线 ...

  8. cinder与ceph的区别_配置cinder-volume服务使用ceph作为后端存储

    在ceph监视器上执行 CINDER_PASSWD='cinder1234!' controllerHost='controller' RABBIT_PASSWD='0penstackRMQ' 1.创 ...

  9. Oracle采用自己的公有云作为ZFS阵列的后端存储

    Oracle正在使用自己内部的公有云作为本地ZFS设备的后端存储. 与Exadata云服务不同的是,Oracle正在将自己的ZFS内部部署套件引入公有云. 最新的ZFS Storage Applian ...

最新文章

  1. tipi 深入理解php内核 pdf_大牛的学习笔记-深入理解Linux内核(完整版)
  2. H3C 无线AP升级步骤
  3. 虚拟机中在红帽的Linux 下安装yum工具
  4. 不知道密码导出oracle数据库,Oracle数据库密码重置、导入导出库命令示例应用
  5. python线性回归可视化_【Python可视化5】Seaborn之线性回归
  6. MUI开发指南(二) webview对象
  7. HDU1568 Fibonacci【斐波拉契数列】
  8. System.out.printf()的使用方法
  9. 咱们开始吧!第一次作业
  10. UBUNTU中更改文件的打开方式
  11. linux informix数据库下载,informix数据库基础下载_informix数据库基础官方下载-太平洋下载中心...
  12. 笔记本计算机怎么进入安全模式启动,笔记本怎么进入安全模式,详细教您联想笔记本怎么进入安全模式...
  13. MFI认证——苹果MFI认证流程
  14. 戴口罩写代码,程序员干脆穿越到了古代
  15. 计算机毕业设计源码分享双鱼林,双鱼林SSM图书信息管理系统毕业课程设计源码 - WEB源码|源代码 - 源码中国...
  16. 谷歌地图获取点击时候的具体经纬度api
  17. 系统背景描述_舞台灯光网络系统及光源角度资料免费分享
  18. MyBatis使用@Select注解写动态SQL语句
  19. 小程序的老祖宗PWA为什么没有火起来?
  20. 4椭圆曲线密码学:破坏安全性及与RSA的比较

热门文章

  1. RTD-D项目总结(MATLAB)
  2. 正儿八经的详细讲java内部类
  3. oracle索引中丢失in或out参数,oracle 11g给表建触发器错误“索引中丢失 IN 或 OUT 参数:: 1...
  4. c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例
  5. oracle备份还原到本地_Oracle 11g R2 RAC数据库备份通过RMAN恢复到单实例数据库实现...
  6. 汇编原理实验 --电话簿的实现
  7. 制作一个状态栏中跑马灯效果_snapseed制作“照片中的照片”画中画效果的方法...
  8. Qt / 窗体设置 Qt::WA_TranslucentBackground 为全黑的原因
  9. 乐鑫代理启明云端分享|基于ESP32-S2彩色触摸屏86面板方案
  10. python打包不能在其他电脑打开、找不到指定模块,pyinstaller打包移植到别的电脑报错OSError: [WinError 126] 找不到指定的模块。...