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 ...
最新文章
- 推荐一个Android Studio很实用的插件android-butterknife-zelezny
- python的所有数据类型都可以相互转化吗_Python python 数据类型的相互转换
- Html中如何让超链接a、图片img居中
- 最强盘点!国产数据分析BI工具怎么选?看这篇就够了
- 利用jquery的ajax获取后台返回的json数据为空
- IIS7.5安全配置研究
- adb工具包_如何使用命令刷机 ADB与FASTBOOT工具使用教程
- python crm_学Python还是买CRM软件?
- 台达PLC开发笔记(一):台达PLC连接介绍,分别使用485、网口与台达PLC建立连接
- 楚留香冰最新服务器,一梦江湖:各门派冰雪外观极寒之刃上线,冰晶透亮玩家直呼绝了!...
- 如何将图片转换成字符画
- 计算机要执行一条指令,cpu所涉及的操作应该包括下列的,计算机一级填空选择题与答案.doc...
- C/C++版本更迭历程
- vue 打开浮在窗口上的小窗口
- 用户信息管理系统(Web实践项目)
- 做一个好管家 Linux系统管理技巧大荟萃
- php ppt转视频教程,ppt转视频怎么转,电脑上怎么把PowerPoint文档转换成视频
- 计算机游戏蜘蛛纸牌如何还原,庆祝同捆25周年!微软将举办Windows纸牌大赛
- 下单系统水平可扩展框架
- 【红黑树】的详细实现(C++)附代码