[转帖]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 版本完整的配置安装. ...
随机推荐
- Jenkins汉化配置
登录进入Jenkins首页 输入:本地ip+端口号(localhost:8099) 进入插件管理页面(Manage Jenkins)安装相关插件 搜索:到available栏目搜索:Locale pl ...
- 技术解读丨分布式缓存数据库Redis大KEY问题定位及优化建议
摘要:如何定位分布式缓存数据库Redis大KEY问题,实操案例带你掌握优化方法. [背景] 访问Redis 5.0 cluster集群出现OOM报错,报错信息为(error) OOM command ...
- 数据安全无小事:揭秘华为云GaussDB(openGauss)全密态数据库
摘要:全密态数据库,专门处理密文数据的数据库系统,数据以加密形态存储在数据库服务器中,数据库支持对密文数据的检索与计算. 1.云数据库安全现状及问题 伴随着云基础设施的快速增长和成熟,与之对应的云数据 ...
- 实践案例丨GaussDB网络重传/丢包问题定位总结
摘要:本文将介绍几种常用手段,用于梳理数据库网络故障可能存在的问题,从而快速定位恢复. 1 问题背景 在GaussDB各类问题场景中,网络故障是最难定位及恢复的问题之一,其不仅可能影响着数据库的性能, ...
- 开发老人笔记:Git 常用命令清单
摘要:git是目前世界上最先进的分布式版本控制系统. 多人协作 master:此分支用来发布稳定的代码,合并一般是由管理员合并 dev:此分支用于团队开发,团队成员向此分支提交代码 bug:此分支用于 ...
- 【火热招募】一文看懂华为云IoT Edge边缘计算开发者大赛技术亮点
摘要:第二届边缘计算开发者大赛已启动,赛程时间将从9月持续到12月,华为云IoT Edge · 边云协同赛道奖金池高达40万元. 近日,第二届边缘计算开发者大赛已启动(查看启动仪式),全球揭榜挂帅火热 ...
- 输入的查询SQL语句,是如何执行的?
摘要:输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程. 本文分享自华为云社区<一条查询SQL是如何执行的>,作者: 共饮一杯无 . 执行如下SQL,我们看到的只 ...
- 探索开源工作流引擎Azkaban在MRS中的实践
摘要:本文主要介绍如何在华为云上从0-1搭建azkaban并指导用户如何提交作业至MRS. 本文分享自华为云社区<开源工作流引擎Azkaban在MRS中的实践>,作者:啊喔YeYe. 环境 ...
- MySQL 是如何实现RC事务隔离级别的
摘要:Read Committed,事务运行期间,只要别的事务修改数据并提交,即可读到人家修改的数据,所以会有不可重复读.幻读问题. 本文分享自华为云社区<MySQL RC事务隔离级别的实现&g ...
- 10个问题让你快速避开java中的jdbc常见坑
摘要:JDBC,即Java Database Connectivity,java数据库连接.是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范. 本文分享自华为云社区<1 ...