配置Kubernetes共享使用Ceph存储
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,目录简要概述环境测试结果验证简要概述Kubernetes pod 结合Ceph rbd块设备的使用,让Docker 数据存储在Ceph,重启Docker或k8s RC重新调度pod 不会引起数据来回迁
千家信息网最后更新 2025年12月02日配置Kubernetes共享使用Ceph存储目录
简要概述
环境测试
结果验证
简要概述
Kubernetes pod 结合Ceph rbd块设备的使用,让Docker 数据存储在Ceph,重启Docker或k8s RC重新调度pod 不会引起数据来回迁移。
工作原理无非就是拿到ceph集群的key作为认证,远程rbdmap映射挂载使用。那么就要启用一个基于key的secret资源,之后k8s pod指定要用的rbd就可以了。
环境测试我的OS是ubuntu 14.04,一个master,两个minon 节点,一个镜像仓库服务,这样保证了k8s集群跑起来,这个过程就略过了。
1.内核升级
这里的ceph 版本装的是10.2.2,客户端内核过低会引起挂载失败,主要就是minion节点。
# curl -sSL https://get.docker.com | sh && service docker restart# apt-get install linux-image-4.4.0-22-generic && reboot
2.安装ceph-common,让minion调用rbd
root@minion2:~# apt-get install python-rbd ceph-common
3.保存ceph-keyring和配置文件
root@minion2:~# ll /etc/cephtotal 20drwxr-xr-x 2 root root 4096 Jun 22 2016 ./drwxr-xr-x 93 root root 4096 Nov 11 11:18 ../-rw------- 1 root root 63 Apr 25 2016 ceph.client.admin.keyring-rw-r--r-- 1 root root 249 Jun 22 2016 ceph.conf-rw-r--r-- 1 root root 92 Jun 14 2016 rbdmap
4.获取ceph keyring 的base64编码字符串
root@minion2:~# ceph auth get-key client.adminAQAmnRlX2zrqDRAAOiuOs2sIItGhAP6tNDa3Vg==root@minion2:~# root@minion2:~# grep key /etc/ceph/ceph.client.admin.keyring |awk '{printf "%s", $NF}'AQAmnRlX2zrqDRAAOiuOs2sIItGhAP6tNDa3Vg== root@minion2:~# grep key /etc/ceph/ceph.client.admin.keyring |awk '{printf "%s", $NF}'|base64QVFBbW5SbFgyenJxRFJBQU9pdU9zMnNJSXRHaEFQNnRORGEzVmc9PQ==5.创建基于keyring 的secret资源
root@master:~# cat ceph-secret.yaml apiVersion: v1kind: Secretmetadata: name: ceph-secretdata: key: QVFBbW5SbFgyenJxRFJBQU9pdU9zMnNJSXRHaEFQNnRORGEzVmc9PQo=root@master:~# kubectl create -f ceph-secret.yamlroot@master:~# kubectl get secretNAME TYPE DATA AGEceph-secret Opaque 1 187ddefault-token-rk17v kubernetes.io/service-account-token 3 208d
6.编辑一个可用的ReplicationController 让rbdpod跑起来
# kubectl create -f rbd-rc.yaml

这样的我们在pod就跑起来了,可以看到mount挂载信息,也可以进入容器查看
root@minion2:~# docker ps | grep rbd4b8fc04501b1 nginx "nginx -g 'daemon off" 6 months ago Up 6 months k8s_rbdpod.b1ab9160_rbpod-k3yxn_default_88540575-3847-11e6-a098-0a6a7c3a684c_f8caa4bc3c9c1240b72e gcr.io/google_containers/pause:2.0 "/pause" 6 months ago Up 6 months k8s_POD.25c801ab_rbdpod-k3yxn_default_88540575-3847-11e6-a098-0a6a7c3a684c_c38f4ce7root@minion2:~# mount | grep rbd/dev/rbd0 on /var/lib/kubelet/plugins/kubernetes.io/rbd/rbd/data-image-wxq type ext4 (rw)/var/lib/kubelet/plugins/kubernetes.io/rbd/rbd/data-image-wxq on /var/lib/kubelet/pods/88540575-3847-11e6-a098-0a6a7c3a684c/volumes/kubernetes.io~rbd/rbdpd type none (rw)
这样k8s完美的结合了Ceph 块设备,它们又能愉悦的在一起玩耍了,至于有没有真感情且看未来。
内核
就是
数据
环境
简要
结果
节点
设备
资源
集群
测试
验证
存储
配置
愉悦
两个
仓库
信息
原理
字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
专业股票软件开发公司
北京软件开发薪酬
阿里云买的服务器域名配置
云启互联网科技
数据库null什么时候用
太阳线直销软件开发
公安 网络安全 招聘
小型企业财务软件网络技术
dell服务器 e18s
网络安全进入服务器的命令
王牌竞速官方服务器
中国计算机网网络安全
数据库分析设计怎么写
软件开发数学英语好学吗
长春软件开发吉网传媒官网
安徽省网络安全法
高校网络安全微视频大赛
数据库17个技术
绝地求生未来之役服务器闪退
网络安全涉及的法律
导航网站带数据库
软件开发的产品情况
暨南大学数据库实验报告
数据库动态帮助
写好一个文件服务器要注意哪些
数据库分布式技术体系
高中的计算机网络技术学什么
美团互联网高科技平台
bms软件开发包括哪些
什么学校是软件开发的