1.上传ceph-csi-yaml和ceph-csi-image 两个文件夹到服务器

2.加载 ceph-csi-image里面的镜像

3.将加载好的镜像上传到本地harbor上。

4.修改ceph-csi-yaml文件夹里面的 yaml文件内容

k8s对接ceph离线安装包

#csi-config-map.yaml


  1. ---
  2. apiVersion: v1
  3. kind: ConfigMap
  4. data:
  5.   config.json: |-
  6.     [
  7.       {
  8.         "clusterID": "2a5306a8-885f-40b7-91f6-ec9410b53d3c",  // ceph集群的 id 通过ceph -s 可以看到
  9.         "monitors": [
  10.           "10.20.20.103:6789",
  11.           "10.20.20.104:6789",
  12.           "10.20.20.105:6789"
  13.         ]
  14.       }
  15.     ]
  16. metadata:
  17.   name: ceph-csi-config

#ceph-config-map.yaml


  1. ---
  2. apiVersion: v1
  3. kind: ConfigMap
  4. data:
  5.   ceph.conf: |
  6.     [global]
  7.     fsid = 0c69001e-202b-11ed-a599-8c2a8e4b8e7f // ceph集群的 id
  8.     mon_host = 192.168.4.130 // ceph mon 节点的 ip
  9.   keyring: |
  10. metadata:
  11.   name: ceph-config

#csi-rbd-secret.yaml


  1. ---
  2. apiVersion: v1
  3. kind: Secret
  4. metadata:
  5.   name: csi-rbd-secret
  6.   namespace: default
  7. stringData:
  8.   userID: kubernetes 
  9.   userKey: AQA18kdi+4iYHhAAbRmfkKJ/XvB1PdYTTBEdwA== 
  10.   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


  1. ---
  2. apiVersion: storage.k8s.io/v1
  3. kind: StorageClass
  4. metadata:
  5.    name: csi-rbd-sc
  6. provisioner: rbd.csi.ceph.com
  7. parameters:
  8.    clusterID: 0c69001e-202b-11ed-a599-8c2a8e4b8e7f
  9.    pool: volumes 
  10.    imageFeatures: layering
  11.    csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
  12.    csi.storage.k8s.io/provisioner-secret-namespace: default
  13.    csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret
  14.    csi.storage.k8s.io/controller-expand-secret-namespace: default
  15.    csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
  16.    csi.storage.k8s.io/node-stage-secret-namespace: default
  17.    csi.storage.k8s.io/fstype: ext4
  18. reclaimPolicy: Delete
  19. allowVolumeExpansion: true
  20. mountOptions:
  21.    - discard

#创建pvc yaml文件


  1. ---
  2. apiVersion: v1
  3. kind: PersistentVolumeClaim
  4. metadata:
  5.   name: rbd-pvc
  6. spec:
  7.   accessModes:
  8.     - ReadWriteOnce
  9.     resources:
  10.         requests:
  11.       storage: 1Gi
  12.     storageClassName: csi-rbd-sc

#修改 csi-rbdplugin.yaml和csi-rbdplugin-provisioner.yaml 文件里面的 镜像地址,为自己的harbor地址

文章知识点与官方知识档案匹配,可进一步学习相关知识

[转帖]k8s对接ceph,ceph-csi方式的更多相关文章

  1. k8s对接ceph存储

    前提条件:已经部署好ceph集群 本次实验由于环境有限,ceph集群是部署在k8s的master节点上的 一.创建ceph存储池 在ceph集群的mon节点上执行以下命令: ceph osd pool ...

  2. 部署harbor以https模式和k8s对接

    集群时间同步 我们在之前的kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署篇已经实现了基于chrony的时间同步 [root@bs-k8s-master01 ...

  3. [转帖] k8s dashboard 的创建 升级 以及 admin token的创建和简单使用.

    Kubernetes Dashboard中的身份认证详解 https://jimmysong.io/posts/kubernetes-dashboard-upgrade/ Thu Nov 2, 201 ...

  4. [转帖] K8S 常用命令

    k8s常用命令  原贴地址 查看集群信息: [root@kubernetes-master pods]# kubectl cluster-info kubectl cluster-info展示结果 k ...

  5. 让外部网络访问K8S service的四种方式

    本文基于kubernetes 1.5.2版本编写 kube-proxy+ClusterIP kubernetes版本大于或者等于1.2时,配置: 修改master的/etc/kubernetes/pr ...

  6. [转帖]k8s 如何让你的应用活的更久

    k8s 如何让你的应用活的更久 https://www.jianshu.com/p/132319e795ae 众所周知,k8s 可以托管你的服务 / 应用,当出现各种原因导致你的应用挂掉之后,k8s ...

  7. [转帖]k8s 中的服务如何沟通

    k8s 中的服务如何沟通 https://www.jianshu.com/p/9fae09876eb7 本文将介绍 k8s 中的服务如何相互访问,例如后端服务访问数据库,不同类型的服务间的相互访问.并 ...

  8. [转帖]k8s 基本使用(下)

    k8s 基本使用(下) https://www.jianshu.com/p/116ce601a60f 如果你没有看过上篇的话,推荐阅读完 k8s 基本使用(上)后再阅读本篇内容. kubectl cr ...

  9. [转帖]k8s 基本使用(上)

    k8s 基本使用(上) https://www.jianshu.com/p/8d60ce1587e1 本文将介绍 k8s 中的一些最基本的命令,并辅以解释一些基本概念来方便理解,也就是说,本文是一篇偏 ...

  10. [ ceph ] CEPH 部署完整版(CentOS 7 + luminous)

    1. 前言 拜读了 胖哥的(el7+jewel)完整部署 受益匪浅,目前 CEPH 已经更新到 M 版本,配置方面或多或少都有了变动,本博文就做一个 ceph luminous 版本完整的配置安装. ...

随机推荐

  1. Visual Studio 2022 Preview设置简体中文

    前言: 作为尝鲜小分队队长,对于vs的升级版Visual Studio 2022 Preview肯定也开始用上了,不过之前一直以为还没有出中文的语言包所以一直用的是英文版的,搞得英文本来不好的我很是不 ...

  2. GetX GetUtils

    GetUtils 是 getx 为我们提供一些常用的工具类库,包括值是否为空.是否是数字.是否是视频.图 片.音频.PPT.Word.APK.邮箱.手机号码.日期.MD5.SHA1等等. class ...

  3. 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)

    摘要:本期将详细介绍社区版Redis.kvrocks和Pika到GaussDB(for Redis)的迁移 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘第十期 ...

  4. 活动预告| 字节跳动基于DataLeap的DataOps最佳实践

    DataOps概念从2014年首次被提出,不断演化和发展,在2018 年Gartner 的数据管理成熟度曲线中确定了 DataOps,标志着 DataOps 被业界接纳和认可.随着数字化转型的推进以及 ...

  5. 朋友们,就在今天,JDK 21,它终于带着重磅新特性正式发布了!

    你好呀,我是歪歪. 朋友们,好消息,好消息,重磅好消息. 从今年年初就一直在喊的具有革命性.未来性.开创新纪元的 JDK 21 按照官方的时间计划表,今天终于是要正式 GA 了: https://op ...

  6. Axure 自定义元件库

    点击文件 -> 新建元件库 可以添加多个元件,并将期重命名 保存元件库 新建页面 添加元件,选择自建的元件库 导入后就会发现我的原件库 这样就可以使用我们自定义的元件库了

  7. C# 完美实现物联网 MQTT 数据通信

    前言 MQTT 协议由于其用极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,具有开销低.占用带宽低.即时通讯等优点,使其在物联网.小型设备.移动应用等方面有较广泛的应用,在工业物联网中, ...

  8. 24校招,Moka测试开发工程师一面

    前言 大家好,今天回顾一下楼主当时参加moka测试开发工程师的面试 对其中一些重要问题,我也给出了相应的答案 过程 自我介绍 挑一个项目,详细介绍你在其中担任的职责 如何安排工作的,有什么成果? 回归 ...

  9. umount.nfs4: /home/videorec/sharedir: device is busy

    用umount取消挂载时报错设备繁忙:device is busy.原因是还有进程在打开目录下的文件,可以先杀死进程,再卸载,或者强制卸载 umount 使用umount强制卸载,参数如下: -l  ...

  10. AliSSR 语音超分算法:让在线会议语音更明亮更自然

    超分让在线会议语音更明亮,在线会议已成为日常工作中较为普遍的沟通交流方式,接入会议的方式也呈现多样化,比如电脑入会.手机入会又或是电话入会. 雪雅.曜辰|作者 众所周知,高采样率且高带宽的音频信号富含 ...