<文章感谢 xingdian >

文章目录

  • kubernetes集群中ceph集群使用
  • 一:块设备创建和使用
    • 1.storageclass 配置
    • 2.查看配置结果
    • 3.kubernetes Dashboard 查看结果
    • 4.创建 Wordpress 进行测试
      • 1.查看创建的资源
      • 2.浏览器访问 wordpress 进行部署
      • 3.删除测试环境

kubernetes集群中ceph集群使用

一:块设备创建和使用

Ceph 能够为 pod 提供裸的块设备卷,定义在Ceph数据冗余级别的一个池中

1.storageclass 配置

  • storageclass.yaml

    • 该配置文件为生产场景提供了3个副本,至少需要3个节点
    • 数据会间歇性的在3个不同的k8s节点上复制,单节点故障不会造成数据的丢失或不可用
  • storageclass-ec.yaml
    • 以纠错码来替代镜像达到数据持久性的功能,需要至少3个节点
    • Ceph 的纠错码比镜像的效率更高,所以能够提供高可用性而无需3份镜像的代价
    • 但会造成节点较高的编码解码计算,也就是会提高节点的cpu资源消耗
  • storageclass-test.yaml:
    • 测试场景,只需要单个节点,只有一份镜像,有数据丢失的风险
    • 使用 csi/rbd 目录下的配置文间,csi是推荐的驱动,flex驱动不推荐使用
[root@master ~]# cd /tmp/rook/cluster/examples/kubernetes/ceph/csi/rbd/
[root@master rbd]#  sed -i 's/failureDomain: host/failureDomain: osd/g' storageclass.yaml
[root@master rbd]# vim storageclass.yaml
[root@master rbd]#  kubectl apply -f storageclass.yaml
cephblockpool.ceph.rook.io/replicapool created
storageclass.storage.k8s.io/rook-ceph-block created
[root@master rbd]#  kubectl get sc -n rook-ceph

2.查看配置结果

[root@master rbd]# kubectl -n rook-ceph get pod -l "app=rook-ceph-tools"
NAME   READY   STATUS    RESTARTS   AGE
rook-ceph-tools-7476c966b7-5f5kg   1/1  Running 0    46h
[root@master rbd]# NAME=$(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}')
[root@master rbd]# kubectl -n rook-ceph exec -it ${NAME} ceph status
[root@master rbd]# kubectl -n rook-ceph exec -it ${NAME} ceph osd status
[root@master rbd]# kubectl -n rook-ceph exec -it ${NAME} ceph osd df

3.kubernetes Dashboard 查看结果

4.创建 Wordpress 进行测试

[root@master rbd]# cd /tmp/rook/cluster/examples/kubernetes
[root@master kubernetes]# sed -i 's|mysql:5.6|registry.cn-hangzhou.aliyuncs.com/vinc-auto/mysql:5.6|g' mysql.yaml
[root@master kubernetes]# sed -i 's|wordpress:4.6.1-apache|registry.cn-hangzhou.aliyuncs.com/vinc-auto/wordpress:4.6.1-apache|g' wordpress.yaml
[root@master kubernetes]# sed -i 's/LoadBalancer/NodePort/g' wordpress.yaml
[root@master kubernetes]# kubectl apply -f mysql.yaml
service/wordpress-mysql created
persistentvolumeclaim/mysql-pv-claim created
deployment.apps/wordpress-mysql created
[root@master kubernetes]# kubectl apply -f wordpress.yaml
service/wordpress created
persistentvolumeclaim/wp-pv-claim created
deployment.apps/wordpress created

1.查看创建的资源

[root@master kubernetes]# kubectl get pvc -o wide
NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE   VOLUMEMODE
mysql-pv-claim   Bound    pvc-8a58a8cc-2620-47ba-8182-58e7b0ef998e   20Gi       RWO            rook-ceph-block   12m   Filesystem
wp-pv-claim      Bound    pvc-50626a36-64f3-4fb8-a83f-e4dff26be1f4   20Gi       RWO            rook-ceph-block   12m   Filesystem
[root@master kubernetes]#  kubectl get deploy -o wide
NAME              READY   UP-TO-DATE   AVAILABLE   AGE     CONTAINERS   IMAGES                                                               SELECTOR
wordpress         1/1     1            1           2m24s   wordpress    registry.cn-hangzhou.aliyuncs.com/vinc-auto/wordpress:4.6.1-apache   app=wordpress,tier=frontend
wordpress-mysql   1/1     1            1           2m43s   mysql        registry.cn-hangzhou.aliyuncs.com/vinc-auto/mysql:5.6                app=wordpress,tier=mysql
[root@master kubernetes]#  kubectl get pod -o wide
NAME                              READY   STATUS    RESTARTS   AGE     IP            NODE     NOMINATED NODE   READINESS GATES
nginx-xingdian                    1/1     Running   1          2d9h    10.244.2.3    node-2   <none>           <none>
nginx-xingdian-2                  1/1     Running   0          2d8h    10.244.1.2    node-1   <none>           <none>
wordpress-5587564997-lgp2w        1/1     Running   0          113s    10.244.2.26   node-2   <none>           <none>
wordpress-mysql-55456f44b-kgnj6   1/1     Running   0          2m13s   10.244.2.25   node-2   <none>           <none>

2.浏览器访问 wordpress 进行部署

3.查看Ceph集群中的相关数据

[root@master ~]# kubectl -n rook-ceph get pod -l "app=rook-ceph-tools"
NAME        READY   STATUS    RESTARTS   AGE
rook-ceph-tools-7476c966b7-5f5kg   1/1     Running   0    47h
[root@master ~]# NAME=$(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}')
[root@master ~]# kubectl -n rook-ceph exec -it ${NAME} sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
sh-4.2# ceph osd pool stats
pool replicapool id 1client io 3.7 KiB/s rd, 195 KiB/s wr, 2 op/s rd, 2 op/s wr
sh-4.2# rbd ls -p replicapool
csi-vol-0377015d-4624-11eb-80eb-12916ae40d83
csi-vol-864d78df-4628-11eb-80eb-12916ae40d83
csi-vol-904c6c28-4628-11eb-80eb-12916ae40d83
sh-4.2# rbd info replicapool/'csi-vol-0377015d-4624-11eb-80eb-12916ae40d83'
rbd image 'csi-vol-0377015d-4624-11eb-80eb-12916ae40d83':size 20 GiB in 5120 objectsorder 22 (4 MiB objects)snapshot_count: 0id: 8a347eb76d55block_name_prefix: rbd_data.8a347eb76d55format: 2features: layeringop_features: flags: create_timestamp: Tue Dec 22 11:20:30 2020access_timestamp: Tue Dec 22 11:20:30 2020modify_timestamp: Tue Dec 22 11:20:30 2020

3.删除测试环境

[root@k8s-master kubernetes]# cd /tmp/rook/cluster/examples/kubernetes
[root@k8s-master kubernetes]# kubectl delete -f wordpress.yaml
[root@k8s-master kubernetes]# kubectl delete -f mysql.yaml
[root@k8s-master kubernetes]# kubectl delete -n rook-ceph cephblockpools.ceph.rook.io replicapool
[root@k8s-master kubernetes]# kubectl delete storageclass rook-ceph-blockceph cephblockpools.ceph.rook.io replicapool
[root@k8s-master kubernetes]# kubectl delete storageclass rook-ceph-block

<文章感谢 xingdian >

16-kubernetes集群中ceph集群使用相关推荐

  1. K8s——kubernetes集群中ceph集群使用【下】

    kubernetes集群中ceph集群使用 一:CephFS 创建和使用 CephFS 允许用户挂载一个兼容posix的共享目录到多个主机,该存储和NFS共享存储以及CIFS共享目录相似 1.file ...

  2. K8s——kubernetes集群中ceph集群使用【上】

    kubernetes集群中ceph集群使用 块设备创建和使用 Ceph 能够为 pod 提供裸的块设备卷,定义在Ceph数据冗余级别的一个池中 1.storageclass 配置 storagecla ...

  3. 17-kubernetes集群中ceph集群使用

    <文章感谢 xingdian > 文章目录 kubernetes集群中ceph集群使用 一:CephFS 创建和使用 1.filesystem 配置 2.查看资源配置 3.创建相对应的st ...

  4. k8s——kubernetes使用rook部署ceph集群

    kubernetes使用rook部署ceph集群 一:环境准备 1.安装时间服务器进行时间同步 所有的kubernetes的集群节点 [root@master ~]# yum -y install n ...

  5. HTML文件发到群里,怎么将文件分享到百度云群中?百度云群组分享文件的教程

    百度云是百度旗下的一个云端存储服务,我们可以在百度云中存储照片.视频.BT文件(还可在线播放).当然也可以建立一个群组,将自己的小伙伴拉进这个群当中,将自己的文件分享给他们.那么,具体地我们该如何操作 ...

  6. Ceph 集群整体迁移方案

    场景介绍:在我们的IDC中,存在着运行了3-6年的Ceph集群的服务器,这些服务器性能和容量等都已经无法满足当前业务的需求,在购入一批高性能机器后,希望将旧机器上的集群整体迁移到新机器上,当然,是保证 ...

  7. Ceph (2) - 安装Ceph集群方法 2:使用cephadm配置Nautilus版Ceph集群

    <OpenShift 4.x HOL教程汇总> 文章目录 安装环境说明 Ceph集群节点说明 Ceph集群主机环境说明 用cephadm部署Ceph集群 准备节点环境 设置环境变量 设置h ...

  8. centos7 ceph 集群部署

    ceph 一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统 一.Ceph必备组件 OSD(Object Storage Device) Ceph OSD守护进程(Ceph OSD)的功 ...

  9. 使用cephadm部署单节点ceph集群,后期可扩容(基于官方文档,靠谱,读起来舒服)

    目录 ceph各种部署工具比较(来自官方文档的翻译,靠谱!) 材料准备 cephadm使用条件 服务器有外网访问能力 服务器没有外网访问能力 安装cephadm cephadm的功能 两种安装方式 基 ...

最新文章

  1. 利用编码特长,我赚取了每月1000美元的额外收入
  2. kubernetes集群搭建以及遇到的问题
  3. 饿了么翻车,美团被质疑,马云也赔了40亿,这项技术为什么让人害怕?
  4. 2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!
  5. 【ASP.NET】基础补习之验证控件
  6. opencv获得图片的像素宽度_OpenCV中获取图像某一像素值
  7. Linux基础命令---ftp
  8. 基于Linux平台的libpcap源码分析和优化
  9. FX5 C的编程语言,三菱FX5-C32EX/D手册FX5-C32EX/D编程手册 - 广州凌控
  10. 拼多多Java面试题、笔试题(含答案)
  11. 移动芯片巨头英国ARM的发展史
  12. 中职学计算机专业考本科难吗,国际本科难不难(中职考本科难不难)
  13. SeleniumWebdriver参数化详解
  14. 311运动(冰箱与内裤)的由来
  15. 虚拟机装vpn,主机通过虚拟机的vpn代理实现vpn共享
  16. 想看两不厌,笑我太疯癫
  17. 基于 KNN 和 人体关键点的动作分类 - Pose classification
  18. 微信平台 签名生成工具
  19. 数字电路课设_电子抢答器
  20. 【期末复习之路】JAVA(二)A

热门文章

  1. 没想到Spring Boot + Vue 竟如此简单!
  2. 轻量级流程编排引擎-模型设计
  3. note-of-python
  4. PTA拼题A2023跨年挑战赛
  5. LaTex(PART XII)字体和字体尺寸
  6. 感谢帮我的人们(Revit二次开发)
  7. 红队蓝队紫队具体是指什么
  8. 联想Y400怎么样在插入鼠标时自动禁用触摸板
  9. Scratch、Python、C++,谁才是少儿编程的第一选择?
  10. What? 少儿编程语言Scratch被禁!