SUSE CaaS Platform 4 - Ceph RBD 作为 Pod 存储卷
网络存储卷系列文章
(2)SUSE CaaS Platform 4 - 安装部署
(3)SUSE CaaS Platform 4 - 安装技巧
(4)SUSE CaaS Platform 4 - Ceph RBD 作为 Pod 存储卷
(5)SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储(静态)
(6)SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储(动态)
RBD存储卷
目前 CaaSP4 支持多种 Volume 类型,这里选择 Ceph RBD(Rados Block Device),主要有如下好处:
- Ceph 经过多年开发,已经非常熟,社区也很活跃;
- Ceph 同时支持对象存储,块存储和文件系统接口;
环境准备条件
1、搭建环境
- 操作系统版本: SLES15 SP1,无需安装 swap
- 内核版本:4.12.14-197.18-default
- Kubernetes 版本:CaaSP 4 , v1.15.2
- Ceph :Storage 6
- VMware Workstation 14
2、虚拟化环境搭建和系统安装参考:
- SUSE Storage6 环境搭建详细步骤 - Win10 + VMware WorkStation
- SUSE Linux Enterprise 15 SP1 系统安装
- SUSE Ceph 快速部署 - Storage6
- SUSE CaaS Platform 4 - 安装部署
3、实验目的
配置 Pod 资源使用 RBD 存储卷
图1 环境架构
1、所有节点安装
# zypper -n in ceph-common
复制 ceph.conf 到 worker 节点上
# scp admin:/etc/ceph/ceph.conf /etc/ceph/
2、创建池 caasp4
# ceph osd pool create caasp4
3、创建 key ,并存储到 /etc/ceph/ 目录中
# ceph auth get-or-create client.caasp4 mon 'allow r' \
osd 'allow rwx pool=caasp4' -o /etc/ceph/caasp4.keyring
4、创建 RBD 镜像,2G
# rbd create caasp4/ceph-image-test -s
5、查看 ceph 集群 key 信息,并生成基于 base64 编码的key
# ceph auth list
.......
client.admin
key: AQA9w4VdAAAAABAAHZr5bVwkALYo6aLVryt7YA==
caps: [mds] allow *
caps: [mgr] allow *
caps: [mon] allow *
caps: [osd] allow *
.......
client.caasp4
key: AQD1VJddM6QIJBAAlDbIWRT/eiGhG+aD8SB+5A==
caps: [mon] allow r
caps: [osd] allow rwx pool=caasp4
对 key 进行 base64 编码
# echo AQD1VJddM6QIJBAAlDbIWRT/eiGhG+aD8SB+5A== | base64
QVFEMVZKZGRNNlFJSkJBQWxEYklXUlQvZWlHaEcrYUQ4U0IrNUE9PQo=
6、Master 节点上,创建 secret 资源,插入 base64 key
# vi ceph-secret-test.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret-test
data:
key: QVFEMVZKZGRNNlFJSkJBQWxEYklXUlQvZWlHaEcrYUQ4U0IrNUE9PQo=
# kubectl create -f ceph-secret-test.yaml
secret/ceph-secret-test created # kubectl get secrets ceph-secret-test
NAME TYPE DATA AGE
ceph-secret-test Opaque 14s
7、创建 Pod,并使用存储卷
# mkdir /root/ceph_rbd_pod
# vim /root/ceph_rbd_pod/ceph-rbd-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: vol-rbd-pod
spec:
containers:
- name: ceph-busybox
image: busybox
command: ["sleep", ""]
volumeMounts:
- name: ceph-vol-test
mountPath: /usr/share/busybox
readOnly: false
volumes:
- name: ceph-vol-test
rbd:
monitors:
- 192.168.2.40:
- 192.168.2.41:
- 192.168.2.42:
pool: caasp4
image: ceph-image-test
user: caasp4
secretRef:
name: ceph-secret-test
fsType: ext4
readOnly: false
8、查看 Pod 状态和挂载
# kubectl get pods
NAME READY STATUS RESTARTS AGE
vol-rbd-pod / Running 22s # kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
vol-rbd-pod / Running 27s 10.244.2.59 worker02 <none> <none>
# kubectl describe pods vol-rbd-pod
Containers:
ceph-busybox:
.....
Mounts: # 挂载
/usr/share/busybox from ceph-vol-test (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-4hslq (ro)
.....
Volumes:
ceph-vol-test:
Type: RBD (a Rados Block Device mount on the host that shares a pod's lifetime)
CephMonitors: [192.168.2.40: 192.168.2.41: 192.168.2.42:]
RBDImage: ceph-image-test # RBD 镜像名
FSType: ext4 # 文件格式
RBDPool: caasp4 # 池
RadosUser: caasp4 # 用户
Keyring: /etc/ceph/keyring
SecretRef: &LocalObjectReference{Name:ceph-secret-test,}
ReadOnly: false
default-token-4hslq:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-4hslq
Optional: false
.....
9、worker02节点上查看映射
worker02:~ # rbd showmapped
id pool namespace image snap device
caasp4 ceph-image-test - /dev/rbd0

SUSE CaaS Platform 4 - Ceph RBD 作为 Pod 存储卷的更多相关文章
- SUSE CaaS Platform 4 - 使用 NFS 作为持久存储
SUSE CaaS Platform 4 - 持久存储使用 NFS
- SUSE CaaS Platform 4 - 安装部署
SUSE CaaS Platform 相关文章 (1)SUSE CaaS Platform 4 - 简介 (2)SUSE CaaS Platform 4 - 安装部署 (3)SUSE CaaS Pla ...
- SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储(动态)
图1 架构图 图2 各存储插件对动态供给方式的支持状况 1.所有节点安装 # yum install ceph-common 复制 ceph.conf 到 worker 节点上 # scp admin ...
- SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储 (静态)
1.所有节点安装 # zypper -n in ceph-common 复制 ceph.conf 到 worker 节点上 # scp admin:/etc/ceph/ceph.conf /etc/c ...
- SUSE CaaS Platform 4 - 简介
SUSE CaaS Platform KUBERNETES - 面向企业 SUSE CaaS Platform 是一款企业级容器管理解决方案,可让 IT 和 DevOps 专业人士更轻松地部署.管理和 ...
- SUSE CaaS Platform 4 - 安装技巧
1.虚拟化环境搭建 - 网络 首先,虚拟机其中一块网卡桥接到 VMnet8 上,通过 VMnet8 地址转换出去访问互联网,如果我们直接桥接到 WIFI 网卡上,由于在不同的的网络环境,地址会时长会 ...
- SUSE Ceph RBD Mirror - Storage 6
Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能.因此,Ceph集群很少有跨域部署 ...
- 7.4 k8s结合ceph rbd、cephfs实现数据的持久化和共享
1.在ceph集群中创建rbd存储池.镜像及普通用户 1.1.存储池接镜像配置 创建存储池 root@u20-deploy:~# ceph osd pool create rbd-test-pool1 ...
- k8s使用ceph的rbd作后端存储
k8s使用rbd作后端存储 k8s里的存储方式主要有三种.分别是volume.persistent volumes和dynamic volume provisioning. volume: 就是直接挂 ...
随机推荐
- 51nod 1218 最长递增子序列 V2(dp + 思维)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1218 题解:先要确定这些点是不是属于最长递增序列然后再确定这 ...
- CF989C A Mist of Florescence 构造 思维好题 第八题
A Mist of Florescence time limit per test 1 second memory limit per test 256 megabytes input standar ...
- 「每日五分钟,玩转JVM」:对象内存布局
概览 一个对象根据不同情况可以被划分成两种情况,当对象是一个非数组对象的时候,对象头,实例数据,对齐填充在内存中三分天下,而数组对象中在对象头中多了一个用于描述数组对象长度的部分 对象头 对象头分为两 ...
- 【编程之美】用C语言实现状态机(实用)
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://www.cnblogs.com/lihuidashen/p/115105 ...
- linux部署html代码到linux服务器,并进行域名解析
本博客主要是说一下,如何将本地写好的html代码部署到linux服务器,并进行解析.下一篇博客将写一下,如何将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法. 1 ...
- F#周报2019年第37期
新闻 宣告ML.NET 1.4的预览版及更新模型构建器 .NET展示会:一系列的活动! Octopus入门版:对于小团队免费 宣告.NET Core 3.0预览版9 使用IntelliCode更简单地 ...
- android中的后退键——onBackPressed()的使用
转自:http://blog.sina.com.cn/s/blog_5085156c0101725e.html 很多网友不明白如何在Android平台上捕获Back键的事件,Back键是手机上的后退键 ...
- 解决在Filter中读取Request中的流后,后续controller或restful接口中无法获取流的问题
首先我们来描述一下在开发中遇到的问题,场景如下: 比如我们要拦截所有请求,获取请求中的某个参数,进行相应的逻辑处理:比如我要获取所有请求中的公共参数 token,clientVersion等等:这个时 ...
- 第五场周赛(字符串卡常个人Rank赛)——题解
本次题目因为比较简单,除了个别题目,其余题目我只写一个思路不再贴代码. 先是Div.2的题解 A题奇怪的优化,把递归函数改成2*fun(...)即可,其实看懂程序也不难,就是求a*2b: B题你会st ...
- 即时聊天APP(二) - MainActivity
主活动包含三个Fragment,分别是会话.联系人和设置,初始布局隐藏所有碎片,然后把应该显示的显示出来: //隐藏所有Fragment private void hideAll(){ Fragmen ...