[转帖]k8s对接ceph,ceph-csi方式
1.上传ceph-csi-yaml和ceph-csi-image 两个文件夹到服务器
2.加载 ceph-csi-image里面的镜像
3.将加载好的镜像上传到本地harbor上。
4.修改ceph-csi-yaml文件夹里面的 yaml文件内容
#csi-config-map.yaml
-
---
-
apiVersion: v1
-
kind: ConfigMap
-
data:
-
config.json: |-
-
[
-
{
-
"clusterID": "2a5306a8-885f-40b7-91f6-ec9410b53d3c", // ceph集群的 id 通过ceph -s 可以看到
-
"monitors": [
-
"10.20.20.103:6789",
-
"10.20.20.104:6789",
-
"10.20.20.105:6789"
-
]
-
}
-
]
-
metadata:
-
name: ceph-csi-config
#ceph-config-map.yaml
-
---
-
apiVersion: v1
-
kind: ConfigMap
-
data:
-
ceph.conf: |
-
[global]
-
fsid = 0c69001e-202b-11ed-a599-8c2a8e4b8e7f // ceph集群的 id
-
mon_host = 192.168.4.130 // ceph mon 节点的 ip
-
-
keyring: |
-
metadata:
-
name: ceph-config
#csi-rbd-secret.yaml
-
---
-
apiVersion: v1
-
kind: Secret
-
metadata:
-
name: csi-rbd-secret
-
namespace: default
-
stringData:
-
userID: kubernetes
-
userKey: AQA18kdi+4iYHhAAbRmfkKJ/XvB1PdYTTBEdwA==
-
encryptionPassphrase: test_passphrase
其中的userID与userKey通过以下方式获取
其中userID 就是 下面的 kubernetes 当然如果在创建ceph集群的时候已经 创建好了池子并且给池子赋予了账户和权限,也可以直接用已经创建好了的,我是 直接用的 cinder的

userKey 就是 /etc/ceph/ceph.client.cinder.keyring 文件内容
ceph auth get-or-create client.kubernetes mon 'profile rbd' osd 'profile rbd pool=k8s' mgr 'profile rbd pool=k8s'
#csi-storageClass.yaml
-
---
-
apiVersion: storage.k8s.io/v1
-
kind: StorageClass
-
metadata:
-
name: csi-rbd-sc
-
provisioner: rbd.csi.ceph.com
-
parameters:
-
clusterID: 0c69001e-202b-11ed-a599-8c2a8e4b8e7f
-
pool: volumes
-
imageFeatures: layering
-
csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
-
csi.storage.k8s.io/provisioner-secret-namespace: default
-
csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret
-
csi.storage.k8s.io/controller-expand-secret-namespace: default
-
csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
-
csi.storage.k8s.io/node-stage-secret-namespace: default
-
csi.storage.k8s.io/fstype: ext4
-
reclaimPolicy: Delete
-
allowVolumeExpansion: true
-
mountOptions:
-
-
- discard
#创建pvc yaml文件
-
---
-
apiVersion: v1
-
kind: PersistentVolumeClaim
-
metadata:
-
name: rbd-pvc
-
spec:
-
accessModes:
-
-
- ReadWriteOnce
-
resources:
-
requests:
-
storage: 1Gi
-
storageClassName: csi-rbd-sc
#修改 csi-rbdplugin.yaml和csi-rbdplugin-provisioner.yaml 文件里面的 镜像地址,为自己的harbor地址
[转帖]k8s对接ceph,ceph-csi方式的更多相关文章
- k8s对接ceph存储
前提条件:已经部署好ceph集群 本次实验由于环境有限,ceph集群是部署在k8s的master节点上的 一.创建ceph存储池 在ceph集群的mon节点上执行以下命令: ceph osd pool ...
- 部署harbor以https模式和k8s对接
集群时间同步 我们在之前的kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署篇已经实现了基于chrony的时间同步 [root@bs-k8s-master01 ...
- [转帖] k8s dashboard 的创建 升级 以及 admin token的创建和简单使用.
Kubernetes Dashboard中的身份认证详解 https://jimmysong.io/posts/kubernetes-dashboard-upgrade/ Thu Nov 2, 201 ...
- [转帖] K8S 常用命令
k8s常用命令 原贴地址 查看集群信息: [root@kubernetes-master pods]# kubectl cluster-info kubectl cluster-info展示结果 k ...
- 让外部网络访问K8S service的四种方式
本文基于kubernetes 1.5.2版本编写 kube-proxy+ClusterIP kubernetes版本大于或者等于1.2时,配置: 修改master的/etc/kubernetes/pr ...
- [转帖]k8s 如何让你的应用活的更久
k8s 如何让你的应用活的更久 https://www.jianshu.com/p/132319e795ae 众所周知,k8s 可以托管你的服务 / 应用,当出现各种原因导致你的应用挂掉之后,k8s ...
- [转帖]k8s 中的服务如何沟通
k8s 中的服务如何沟通 https://www.jianshu.com/p/9fae09876eb7 本文将介绍 k8s 中的服务如何相互访问,例如后端服务访问数据库,不同类型的服务间的相互访问.并 ...
- [转帖]k8s 基本使用(下)
k8s 基本使用(下) https://www.jianshu.com/p/116ce601a60f 如果你没有看过上篇的话,推荐阅读完 k8s 基本使用(上)后再阅读本篇内容. kubectl cr ...
- [转帖]k8s 基本使用(上)
k8s 基本使用(上) https://www.jianshu.com/p/8d60ce1587e1 本文将介绍 k8s 中的一些最基本的命令,并辅以解释一些基本概念来方便理解,也就是说,本文是一篇偏 ...
- [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)
1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...
随机推荐
- Docker 部署工具
Docker 容器的创建比较简单,容器解决了应用程序对于运行环境的依赖问题,但是在当前所处的微服务盛行的情况下,手动管理容器是一件比较重复其及其枯燥的工作,这项工作理论上可以通过计算机来完成,因此涌现 ...
- 从VMWare安装到Nginx配置
1.安装VMWare Workstation 16 player,Mac也可使用Parallels Desktop,自己有虚拟主机的跳过: 2.在虚拟机中,安装Centos7操作系统,使用Minima ...
- C#基于ScottPlot进行可视化
C#基于ScottPlot进行可视化 前言 上一篇文章跟大家分享了用NumSharp实现简单的线性回归,但是没有进行可视化,可能对拟合的过程没有直观的感受,因此今天跟大家介绍一下使用C#基于Scott ...
- Programming Abstractions in C阅读笔记:p202-p234
<Programming Abstractions in C>学习第65天,p202-p234总结. 一.技术总结 完成第五章学习,第五章介绍递归在实际问题中的进一步应用,例如汉诺塔问题, ...
- C++面试复习总结
C++面试 本人20年3到4月内面了近十家公司,整理一下C++客户端问的多的基础问题 另:操作系统面试总结,OpenGL面试总结,计算机网络面试总结 代码到可执行程序 预处理:条件编译,头文件包含,宏 ...
- ECS实践案例丨逻辑卷的创建和扩容操作指导
摘要:实现跨硬盘使用,在传统硬盘之上的一层,在云服务器中可以实现跨EVS使用,用户在某些场景需要创建逻辑卷或者对已有的逻辑卷进行扩容处理,或者在某些时候由于误操作导致上述操作失败. [背景描述]: 实 ...
- 如何使用mock应对测试所需随机数据
摘要:在做接口测试的时候,有的接口需要进行大量的数据进行测试,还不能是重复的数据,这个时候就需要随机生产数据进行测试了.这里教导大家使用mock.js生成各种随机数据. 一.什么是mock.js mo ...
- 为什么vacuum后表还是继续膨胀?
摘要: 对于更新和删除操作频繁的表,会存在大量垃圾数据,导致磁盘空间的浪费和查询扫描时额外的IO开销,需要定期执行清理操作(vacuum)来控制行存表以及表上索引的膨胀.本文将对vacuum的原理以及 ...
- SQL操作:WITH表达式及其应用
摘要:本文将围绕WITH,以及更高阶的WITH RECURSIVE表达式介绍其语法特征和具体使用规范,以及在GaussDB(DWS)中如何进行WITH表达式的调优 本文分享自华为云社区<Gaus ...
- PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据
PNG文件识别 之前写过<JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析>,JPEG文件是以,FFD8开头,FFD9结尾,中间存储着以0xFFE0~0xFFEF ...