微信公众号搜索 DevOps和k8s全栈技术 ,关注之后,在后台回复 k8s视频,就可获取k8s免费视频和文档,也可扫描文章最后的二维码关注公众号。

目录

  • k8s挂载Ceph RBD

    • 创建secret

    • 创建StorageClass

    • 创建PVC

    • 创建secret

    • 创建PV

    • 创建PVC

    • 创建deployment挂载PVC

    • PV & PVC方式

    • StorageClass方式

  • k8s挂载Cephfs

k8s挂载Ceph RBD

k8s挂载Ceph RBD有两种方式,一种是传统的PV&PVC的方式,也就是说需要管理员先预先创建好相关PV和PVC,然后对应的deployment或者replication来挂载PVC使用。而在k8s 1.4以后,kubernetes提供了一种更加方便的动态创建PV的方式,即StorageClass。使用StorageClass时无需预先创建固定大小的PV来等待使用者创建PVC使用,而是直接创建PVC即可使用。

需要说明的是,要想让k8s的node节点执行挂载ceph rbd的指令,需要在所有节点上安装ceph-common包。直接通过yum安装即可。

PV & PVC方式

创建secret

#获取管理key并进行64位编码
ceph auth get-key client.admin | base64

创建ceph-secret.yml文件,内容如下:

apiVersion: v1
kind: Secret
metadata:name: ceph-secret
data:
#Please note this value is base64 encoded.
# echo "keystring"|base64key: QVFDaWtERlpzODcwQWhBQTdxMWRGODBWOFZxMWNGNnZtNmJHVGc9PQo=

创建PV

创建test.pv.yml文件,内容如下:

apiVersion: v1
kind: PersistentVolume
metadata:name: test-pv
spec:capacity:storage: 2GiaccessModes:- ReadWriteOncerbd:#ceph的monitor节点monitors:       - 10.5.10.117:6789- 10.5.10.236:6789- 10.5.10.227:6789#ceph的存储池名字pool: data #在存储池里创建的image的名字image: data         user: adminsecretRef:name: ceph-secretfsType: xfsreadOnly: falsepersistentVolumeReclaimPolicy: Recycle
kubectl create -f test.pv.yml

创建PVC

创建test.pvc.yml文件,内容如下:

kind: PersistentVolumeClaim
apiVersion: extensions/v1beta1
metadata:name: test-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 2Gi
kubectl create -f test.pvc.yml

创建deployment挂载PVC

创建test.dm文件,内容如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: test
spec:replicas: 1template:metadata:labels:app: testspec:containers:- name: testimage: dk-reg.op.douyuyuba.com/op-base/openresty:1.9.15ports:- containerPort: 80volumeMounts:- mountPath: "/data"name: datavolumes:- name: datapersistentVolumeClaim:claimName: test-pvc
kubectl create -f test.dm.yml

StorageClass方式

创建secret

由于StorageClass要求ceph的secret type必须为kubernetes.io/rbd,所以在上面PV & PVC方式中创建的secret无法使用,需要重新创建。如下:

# 其中key的部分为ceph原生的key,未使用base64重新编码
kubectl create secret generic ceph-secret --type="kubernetes.io/rbd" --from-literal=key='AQCikDFZs870AhAA7q1dF80V8Vq1cF6vm6bGTg==' --namespace=kube-system
kubectl create secret generic ceph-secret --type="kubernetes.io/rbd" --from-literal=key='AQCikDFZs870AhAA7q1dF80V8Vq1cF6vm6bGTg==' --namespace=default

创建StorageClass

创建test.sc.yml文件,内容如下:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: test-storageclass
provisioner: kubernetes.io/rbd
parameters:monitors: 192.168.1.11:6789,192.168.1.12:6789,192.168.1.13:6789# Ceph 客户端用户ID(非k8s的)adminId: adminadminSecretName: ceph-secretadminSecretNamespace: kube-systempool: datauserId: adminuserSecretName: ceph-secret

创建PVC

创建test.pvc.yml文件,内容如下:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: test-sc-pvcannotations:volume.beta.kubernetes.io/storage-class: test-storageclass
spec:accessModes:- ReadWriteOnceresources:requests:storage: 2Gi
kubectl create -f test.pvc.yml

至于挂载,与PV & PVC的方式一致,不再重复说明

k8s挂载Cephfs

上面大致说明了使用k8s挂载ceph rbd块设备的方法。这里简单说下k8s挂载ceph 文件系统的方法。

首先secret可以直接与上面复用,不用再单独创建。也不需要再创建pv和pvc。直接在deployment中挂载即可,方法如下:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: test
spec:replicas: 1template:metadata:labels:app: testspec:containers:- name: testimage: dk-reg.op.douyuyuba.com/op-base/openresty:1.9.15ports:- containerPort: 80volumeMounts:- mountPath: "/data"name: datavolumes:- name: datacephfs:monitors:- 10.5.10.117:6789- 10.5.10.236:6789- 10.5.10.227:6789path: /datauser: adminsecretRef:name: ceph-secret

往期精彩文章回顾

kubernetes面试题汇总

DevOps视频和资料免费领取

kubernetes技术分享-可用于企业内部培训

kubernetes系列文章第一篇-k8s基本介绍

kubernetes系列文章第二篇-kubectl

kubernetes集群中部署EFK日志管理系统

Kubernetes中部署MySQL高可用集群

Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档

k8s1.18多master节点高可用集群安装-超详细中文官方文档

Kubernetes Pod健康检查-livenessProbe和readinessProbe

kubernetes pod生命周期管理-postStart和preStop

k8s中蓝绿部署、金丝雀发布、滚动更新汇总

运维常见问题汇总-tomcat篇

运维常见问题汇总-tomcat部署java项目大量close_wait解决方案

关于linux内核参数的调优,你需要知道

                                                       

                                  点击在看少个 bug????

技术交流群

扫码加群????

微信:luckylucky421302

微信公众号

                                     长按指纹关注公众号????

参考资料

https://www.cnblogs.com/breezey/p/8849501.html

kubernetes挂载ceph rbd和cephfs相关推荐

  1. Kubernetes 基于ceph rbd生成pv

    1.创建ceph-secret这个k8s secret对象,这个secret对象用于k8s volume插件访问ceph集群,获取client.admin的keyring值,并用base64编码,在m ...

  2. 2. Ceph的权限管理、RBD与Cephfs的挂载使用和MDS的高可用

    1. Ceph用户的权限管理及授权流程 Ceph使用Ceph X协议对客户端进行身份的认证. 客户端与Mon节点的通讯均需要通过Cephx认证,可在Mon节点关闭Cephx认证,关闭认证后将允许所有访 ...

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

    MySQL in Kubernetes MySQL 中的数据是关键信息,是有状态的,不可能随着 MySQL pod 的销毁而被销毁,所以数据必须要外接到一个可靠的存储系统中,目前已经有了 Ceph 系 ...

  4. Ceph性能测试(RBD、CephFS、NFS、Cache Tier)

    本文是以下两篇文章的后续: 探索fio参数如何选择以及全方位对比HDD和SSD性能:部署Ceph前测试磁盘性能,同时基于fio测试参数的变化深入了解fio原理和磁盘IO特点. CentOS8使用cep ...

  5. ceph文件服务器,Ceph分布式存储实战(6)——Ceph存储配置(CephFS的挂载)

    一.什么是POSIX标准 有一种情况是,在windows上写的代码,放到Linux上去运行居然报错,为什么? 比如在代码中需要创建一个进程,linux下是fork函数,windows下是creatpr ...

  6. k8s学习笔记——ceph rbd本地手动挂载

    //在客户端节点上执行 1.创建rbd手动挂载 //ceph osd pool create <pool> [<pg_num:int>] [<pgp_num:int> ...

  7. ceph rbd(rados block device)配置与挂载

    rados块设备 创建rbd设备 rbd create ceph-client1-rbd1 --size 10240 默认情况下,RBD镜像会保存在ceph集群的rbd存储池中.可以使用-p参数指定其 ...

  8. Grafana+Prometheus实现Ceph监控和cephfs的基本使用(二)

    Ceph块设备接口(RBD) Ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned).可 伸缩的条带化数据存储系统,它通过lib ...

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

    前言 上篇文章介绍了k8s使用pv/pvc 的方式使用cephfs, k8s(十一).分布式存储Cephfs使用 Ceph存储有三种存储接口,分别是: 对象存储 Ceph Object Gateway ...

最新文章

  1. MMD_5b_ComputationalAdvertising
  2. page_index--template.html(0)源码
  3. Metasploit设置VERBOSE参数技巧
  4. Elasticsearch中的Multi Match Query
  5. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo
  6. [BZOJ 1452] Count
  7. ddns客户端_DDNS哪家最方便?试试看Mikrotik的ROS!
  8. 微型计算机方面的论文,微型计算机论文.doc
  9. 许昌市襄县机器人_襄城县机器人自动码垛机生产工厂批发销售
  10. 理清网站数据分析思路导图
  11. Python IO模型
  12. paip.css的覆盖
  13. 带约束的遗传算法代码优化
  14. 学习通下载任务点内的课件
  15. 51单片机程序0到60计数个位逢5和6不显示,十位逢1不显示http://www.51hei.com/bbs/mcu-h24-1.html
  16. 微软的teredo服务器,win10系统通过teredo连接ipv6的具体教程
  17. 基于proteus的计数器设计
  18. Tableau实战 网站客户细分仪表盘
  19. 人工智能 知识表示方法:谓词逻辑和语义网络 题目练习
  20. php-cli和php-fpm的关系是什么?

热门文章

  1. 3Blue1Brown-线性代数的本质
  2. Android Paging3的使用
  3. 华硕飞行堡垒6打开tpm
  4. CAS机制详解以及ABA问题的危害和解决方案
  5. 不使用架构工具在vscode中操作vue,扩展添加vue.js.devtools(Hollo案例)
  6. 生产工单收货控制增强
  7. AEAI Portlet开发心得
  8. 短线看盘比较有效的方法
  9. 使用正则限制输入框只能输入英文和数字
  10. pc端ui图片尺寸_pc端常用电脑屏幕 ((响应式PC端媒体查询)电脑屏幕分辨率尺寸大全)...