Kubernetes如何共享Ceph存储
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍"Kubernetes如何共享Ceph存储"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Kubernetes如何共享Ceph存储"文章能帮助大
千家信息网最后更新 2025年01月17日Kubernetes如何共享Ceph存储
这篇文章主要介绍"Kubernetes如何共享Ceph存储"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"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.yamlapiVersion: 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 块设备,它们又能愉悦的在一起玩耍了,至于有没有真感情且看未来。
关于"Kubernetes如何共享Ceph存储"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
存储
知识
内核
就是
数据
节点
行业
设备
资源
过程
集群
不同
实用
愉悦
两个
仓库
内容
原理
字符
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
fm补丁数据库是互通的吗
实时视频服务器
数据库乱码怎么写
未来之役怎么连上服务器
量子通道期货软件开发公司
传奇服务器装备
忘记网络安全密码怎么办
部队与网络安全有关的黑板报颜料
工信部网络安全测评资质
服务器管理小程序
树莓派无法登录服务器
服务器和pc机一样吗
网络安全国际教育论坛
短视频网站要多大的服务器
网络安全中考题
软件开发复制
商品采集上架软件开发
网络技术通信
梅州通信软件开发费用
网络技术和数据库内容
在哪里能找到网络技术支持
三管三监测防控网络安全风险
高考报考软件开发怎么样
天地劫七色璎珞服务器
华为服务器开机进入linux
杭州微交易软件开发
北京和图时代网络技术
电脑管理工具里创建服务器
贵阳新华互联网科技教育
太子小说软件开发