k8s之ceph分布式存储
(ceph集群安装请看上篇文章)
CEPH篇 块存储、文件存储和对象存储意义和差异及ubuntu20.4下 ceph安装_yaodunlin的博客-CSDN博客
各个work节点安装客户端
apt update
apt install ceph-common
K8S 客户端版本必须大于服务器版本 必须拷贝 这两个文件 ceph.client.admin.keyring ceph.conf 到所有的K8S work节点
服务端拷贝配置文件过去
scp ceph.client.admin.keyring ceph.conf 这两个文件过去
chmod 644 /etc/ceph/ceph.c*
创建StorageClass
cat class.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: rbd
provisioner: ceph.com/rbd
parameters:
monitors: 192.168.1.10:6789,192.168.1.11:6789,192.168.1.12:6789
pool: kube
adminId: admin
adminSecretNamespace: default
adminSecretName: ceph-secret-admin
userId: kube
userSecretNamespace: default
userSecretName: ceph-secret
imageFormat: "2"
imageFeatures: layering
kubectl apply -f class.yaml
创建Secret
cat secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret-admin
namespace: default
type: "kubernetes.io/rbd"
data:
# ceph auth get-key client.admin | base64
key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
---
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
namespace: default
type: "kubernetes.io/rbd"
data:
# ceph auth add client.kube mon 'allow r' osd 'allow rwx pool=kube'
# ceph auth get-key client.kube | base64
key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==
kubectl apply -f secrets.yaml
创建ClusterRoleBinding
cat clusterrolebinding.yaml
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rbd-provisioner
subjects:
- kind: ServiceAccount
name: rbd-provisioner
namespace: default
roleRef:
kind: ClusterRole
name: rbd-provisioner
apiGroup: rbac.authorization.k8s.io
创建ClusterRole
cat clusterrole.yaml
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: rbd-provisioner
rules:
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch", "update"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["create", "update", "patch"]
- apiGroups: [""]
resources: ["services"]
resourceNames: ["kube-dns","coredns"]
verbs: ["list", "get"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
创建Deployment
cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: rbd-provisioner
spec:
replicas: 1
selector:
matchLabels:
app: rbd-provisioner
strategy:
type: Recreate
template:
metadata:
labels:
app: rbd-provisioner
spec:
containers:
- name: rbd-provisioner
image: "quay.io/external_storage/rbd-provisioner:latest"
env:
- name: PROVISIONER_NAME
value: ceph.com/rbd
serviceAccount: rbd-provisioner
创建RoleBinding
cat rolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: rbd-provisioner
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: rbd-provisioner
subjects:
- kind: ServiceAccount
name: rbd-provisioner
namespace: default
创建Role
cat role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: rbd-provisioner
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
创建ServiceAccount
cat serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: rbd-provisioner
kubectl apply -f rbac/
rbd-provisioner
存储类
PVC
14、遇到的问题
1、
解决:ceph-common 客户端版问题
2、
k8s之ceph分布式存储相关推荐
- 有状态容器实践:k8s集成ceph分布式存储
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 先格式化一块硬盘并设置开机自动挂载 mkfs.ext4 -f /dev/sdc 创建挂载点以及配置开机自动挂载: 方法一: mkdir /data1: ...
- Ceph分布式存储详述
参考文章:Ceph分布式存储详述 - 知乎 什么是Ceph分布式存储? Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目 ...
- Ceph分布式存储知识总结
Ceph 一.deploy-ceph部署 投入使用ceph前,要知道一个很现实得问题,ceph对低版本内核得客户端使用非常不友好,低内核是指小于等于3.10.0-862,默认的centos7.5及以下 ...
- Centos7下使用Ceph-deploy快速部署Ceph分布式存储
#Centos7下使用Ceph-deploy快速部署Ceph分布式存储 CEPH 简介 不管你是想为云平台提供Ceph 对象存储和/或 Ceph 块设备,还是想部署一个 Ceph 文件系统或者把 C ...
- ceph 面试_终于有人把Ceph分布式存储讲清楚了!
Ceph项目最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区.在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用.RedHat及OpenStac ...
- Ceph分布式存储实战:从0搭建一个存储集群,并把块设备镜像映射到CentOS 7系统上的步骤
本文配套视频和笔记: Ceph分布式存储实战(Ceph快速上手) B站视频在线观看链接:[千锋教育]Ceph分布式存储技术教程(进阶到实战) 百度网盘链接:2020全新_Ceph分布式存储技术-进阶到 ...
- 超详细的k8s对接ceph RBD存储
前期准备 对接方式 有两种方式可以使用k8s对接ceph 使用第三方的rbd provisioner,但是由于官方已经不再进行维护因此随着版本越来越高,其对应的rbd provisioner内置的ce ...
- K8s使用Ceph纠删码池做持久化卷
K8s使用Ceph纠删码池做持久化卷 Ceph侧准备 Ceph纠删码相关 创建纠删码规则 创建纠删码池 创建复制集池 创建用户并授权 K8s消费ec池 验证 (可选)缓存方式 Kubernetes版本 ...
- K8S使用Ceph RBD作为后端存储
一.准备工作 Ceph版本:v13.2.5 mimic稳定版 1.Ceph上准备存储池 [root@ceph-node1 ceph]# ceph osd pool create k8s 128 128 ...
最新文章
- 大年初二,今年过年你选择在男方家过还是女方家过?
- linux编译部署,linux下编译并部署Apache Apollo
- 大数据应用项目创新大赛_温州首届大数据应用创新大赛决赛名单公布!有你的单位吗?...
- android手机活跃度,微信Android机型活跃度曝光,这个结果你满意吗?
- Linux常用运维命令笔记
- Spring Boot 学习之旅
- 带电插拔损坏设备原理_Win10拔U盘不用再点“安全弹出”了,XP和Win7老用户都眼馋了...
- 【下载中心】如何撰写分卷资源的标题、简介
- 深度神经网络中的梯度丢失与梯度爆炸
- 德鲁伊 oltp oltp_内存中OLTP –娱乐看门狗的三个关键点–桶数
- 国内外开源sns源码大全
- python torch.optim.SGD
- 【Unity3D开发小游戏】Unity3D零基础一步一步教你制作跑酷类游戏
- 微信怎样开通账户升级服务器,微信零钱通小范围公测,怎么升级或开通零钱通账户呢?...
- rv1126 获取图像数据,实现图像裁剪、缩放、旋转【RK_MPI API接口】
- 计算机junit测试类,复利计算器4.0之再遇JUnit
- 一个女程序员职场自述:彻骨的孤独
- getPhoneNumber 响应 416
- 五面拿下阿里飞猪offer,java图形界面设置背景颜色
- php的AES-128 EBC加密、解密