openEuler kubesphere kubekey 安装 ceph csi 及使用实例

news2024/11/25 6:51:57

按照官方文档,很轻松就可以进行安装, 安装过程中遇到一些疑问, 在安装后也得到清晰的理解

1.  /root/ceph-csi-rbd.yaml

这里面的clusterId 按理说应该是ceph的clusterId, 不过官方文档并没有首重强调修改,暂时保持默认

下面6789端口就是我们在物理机上安装的ceph mon的主机ip,端口

csiConfig:
  - clusterID: "cluster1"
    monitors:
      - "192.168.0.14:6789"
      - "192.168.0.15:6789"
      - "192.168.0.16:6789"

2. ceph-csi-rbd-sc.yaml

apiVersion: v1
kind: Secret
metadata:
  name: csi-rbd-secret
  namespace: kube-system
stringData:
  userID: admin
  userKey: "AQCyCIhjBE7QCRAALS6vAj4WyaPAj6Y+dac0oQ=="
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
   name: csi-rbd-sc
   annotations:
     storageclass.beta.kubernetes.io/is-default-class: "true"
     storageclass.kubesphere.io/supported-access-modes: '["ReadWriteOnce","ReadOnlyMany","ReadWriteMany"]'
provisioner: rbd.csi.ceph.com
parameters:
   clusterID: "cluster1"
   pool: "rbd"
   imageFeatures: layering
   csi.storage.k8s.io/provisioner-secret-name: csi-rbd-secret
   csi.storage.k8s.io/provisioner-secret-namespace: kube-system
   csi.storage.k8s.io/controller-expand-secret-name: csi-rbd-secret
   csi.storage.k8s.io/controller-expand-secret-namespace: kube-system
   csi.storage.k8s.io/node-stage-secret-name: csi-rbd-secret
   csi.storage.k8s.io/node-stage-secret-namespace: kube-system
   csi.storage.k8s.io/fstype: ext4
reclaimPolicy: Delete
allowVolumeExpansion: true
mountOptions:
   - discard

这里面的 userId,userKey可以保持使用adimin,其中 userKey通过ceph节点获取 

cat /etc/ceph/ceph.client.admin.keyring 

我看到网上有些要求需要k8s各个节点配置文件 /etc/ceph/ceph.client.admin.keyring , 感觉不需要吧, 因为这里面已经配置key了, 为什么还需要额外在节点配置呢, 不过我的机器跟k8s机器是重叠的,所以跳过这个步骤的核实了 pool: "rbd" 这里面我使用的默认的rbd池了, 可以自己创建替换 rbd为如下的 kubernetes, 命令如下

a) 创建

ceph osd pool create kubernetes

b) 初始化

rbd pool init kubernetes

ceph osd pool ls detail 

查看详情,默认是开启 application enable rbd 的
autoscale_mode on 也是开启的
pool 7 'kubernetes' replicated size 3 min_size 2 crush_rule 0 object_hash rjenkins pg_num 32 pgp_num 32 autoscale_mode on last_change 812 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd

网上还有创建用户的, 我这里面就全部使用默认的admin, rbd了, 方便,也少一些麻烦

3.  在创建集群时候使用的文件 config-sample.xml 文件中找到 addons:[], 替换成如下内容, 其它部位内容不用修改, 重新创建集群时不会对集群产生影响, 我本来是希望单独仅创建这个插件的,但是没有成功, 还是按原来的文件,仅增加新的插件

addons: 
- name: ceph-csi-rbd
  namespace: kube-system
  sources:
    chart:
      name: ceph-csi-rbd
      repo: https://ceph.github.io/csi-charts
      valuesFile: /root/ceph-csi-rbd.yaml
- name: ceph-csi-rbd-sc
  sources:
    yaml:
      path:
      - /root/ceph-csi-rbd-sc.yaml

4. 创建命令

./kk create cluster -f config-sample.yaml

5. 检查是否存在

kubectl get sc

可以看到如下图, 说明创建成功了

NAME                   PROVISIONER        RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
csi-rbd-sc (default)   rbd.csi.ceph.com   Delete          Immediate              true                   50m
local (default)        openebs.io/local   Delete          WaitForFirstConsumer   false                  4d22h

进入系统组件发现 ceph-csi-rbd-provisioner,ceph-csi-rbd-nodeplugin 是异常状态,并没有启动启来

进入详情看到 ImagePullBackOff 异常, 得到结论应该是image下载遇到问题

 

通过科学上网进行下载相关镜像并导入各个节点

可以选择香港服务器直接下载, 新机器安装docker可以参考如下文档 

centos 7 安装 docker 记录_gs80140的博客-CSDN博客

涉及的docker镜像及处理过程 如下 我会打包统一放到资源里面供大家免费下载哦

docker pull gcr.io/k8s-staging-sig-storage/csi-provisioner:v3.2.1

docker pull registry.k8s.io/sig-storage/csi-resizer:v1.5.0

docker pull registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1

docker pull registry.k8s.io/sig-storage/csi-attacher:v3.5.0

docker pull registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1



docker save -o csi-provisioner-v3.2.1.tar gcr.io/k8s-staging-sig-storage/csi-provisioner:v3.2.1
docker save -o csi-resizer-v1.5.0.tar registry.k8s.io/sig-storage/csi-resizer:v1.5.0
docker save -o csi-snapshotter-v6.0.1.tar registry.k8s.io/sig-storage/csi-snapshotter:v6.0.1
docker save -o csi-attacher-v3.5.0.tar registry.k8s.io/sig-storage/csi-attacher:v3.5.0
docker save -o csi-node-driver-registrar-v2.5.1.tar registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1


下载到本地并上传到目标机器共享目录 /mnt/test, 此目录是mount到同一个块存储
sz *.tar
各节点执行docker导入镜像
docker load --input /mnt/test/csi-provisioner-v3.2.1.tar
docker load --input /mnt/test/csi-resizer-v1.5.0.tar
docker load --input /mnt/test/csi-snapshotter-v6.0.1.tar
docker load --input /mnt/test/csi-attacher-v3.5.0.tar
docker load --input /mnt/test/csi-node-driver-registrar-v2.5.1.tar

然后所有组件启动正常, 其中遇到 ceph-csi-rbd-nodeplugin->liveness-prometheus启动失败的问题, 原因是 8080 端口冲突了, 将 mgr的dashboard端口修改成 18080 即可 (修改 liveness-prometheus 的 8080 端口比较麻烦, 改服务也没有生效)

修改mgr端口

设置成18080, 防止跟其它端口冲突,  使用 80 导致无法访问
ceph config set mgr mgr/dashboard/njoffice04/server_port 18080

重启mgr
systemctl restart ceph-mgr@njoffice04

此时发现卷创建成功

 

rbd ls

显示 

csi-vol-59b08fac-75f8-11ed-b99c-aeae15d7c828

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68732.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCB设计指南:安规、布局布线、EMC、热设计、工艺

文章目录Part 1 安规距离要求部分一、爬电距离和电气间隙距离要求:Part 2 抗干扰、EMC部分一、长线路抗干扰二、小信号走线尽量远离大电流走线,忌平行,D>2.0mm。三、小信号线处理:电路板布线尽量集中,减少布板面积提…

广州蓝景分享—实用的CSS技巧,助你成为更好的开发者

Hello~~各位小伙伴,相信在前端开发项目中,CSS实现如修改输入占位符样式,多行文本溢出,隐藏滚动条,修改光标颜色,水平和垂直居中等等,这些都是我们非常熟悉的开发场景!前端开发者几乎…

HashMap部分源码解析

作者:~小明学编程 文章专栏:Java数据结构 格言:目之所及皆为回忆,心之所想皆为过往 目录 前言 常量字段 构造方法 put方法 确定初始容量 为何我们的数组的大小要是2的n次幂 hash为何要异或其高位 扩容机制 前言 我们在前…

极客时间Kafka - 04 Kafka生产者和消费者拦截器

文章目录1. 什么是拦截器?2. Kafka 拦截器3. 典型使用场景4. 案例分享1. 什么是拦截器? 如果你用过 Spring Interceptor 或是 Apache Flume,那么应该不会对拦截器这个概念感到陌生,其基本思想就是允许应用程序在不修改逻辑的情况…

无人机边缘计算中的计算卸载——Stackelberg博弈方法论文复现附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

不会还有人不会热修复吧?

Class流派原理 基本原理:加载类的时候是找element,每个element对于一个dex。我要把我修复的那个类单独放到dex插入dexlist前面,在你做类加载从前往后找优先从你的dex加载加载的就是你修复后的class.这就是 实现代码 通过context拿到pathClassLoader&am…

Qt跨平台截图工具

Qt跨平台截图工具 文章目录Qt跨平台截图工具1、概述2、实现效果3、软件构成4、关键代码5、源代码更多精彩内容👉个人内容分类汇总 👈👉Qt自定义模块、工具👈 1、概述 Qt版本:V5.12.5兼容系统: Windows&…

2022,记录与华为的这场会议

一、数据治理团体标准发布会 11月26日,中国计算机用户协会信息科技审计分会联合华为与擎创科技共同举办了“金融行业运维数据治理团体标准应用研讨暨2022年度调研报告线上发布会”。来自国家开发银行、中国建设银行、中国邮政储蓄银行、招商银行、兴业银行、中信银行…

【LeetCode_字符串_逻辑分析】9. 回文数

目录考察点第一次:2022年12月7日10:16:33解题思路代码展示题目描述给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左…

340页11万字智慧政务大数据资源平台大数据底座数据治理建设方案

目 录 第一章 项目概况 1.1 项目名称 1.2 项目单位 1.3 项目建设依据 1.4 项目建设内容和目标 1.4.1 建设内容 1.4.2 建设目标 1.5 项目投资估算及建设周期 1.5.1 项目投资估算 1.5.2 服务周期 第二章 现状 2.1 项目单位概况 2.1.1 单位职责、内设及下属机构、人员…

【配准图像】

MU-Net: A MULTISCALE UNSUPERVISED NETWORK FOR REMOTE SENSING IMAGE REGISTRATION (MU-Net:一种多尺度无监督遥感图像配准网络) 多传感器或多模态图像对的配准是许多遥感应用的基础性任务。为了实现高精度、低成本的遥感图像配准&#x…

彻底搞懂JS原型与原型链

说到JavaScript的原型和原型链,相关文章已有不少,但是大都晦涩难懂。本文将换一个角度出发,先理解原型和原型链是什么,有什么作用,再去分析那些令人头疼的关系。 一、引用类型皆为对象 原型和原型链都是来源于对象而…

浅谈Linux内核编程规范与代码风格

1 缩进 Tab的宽度是八个字符,因此缩进的宽度也是八个字符。有些异教徒想让缩进变成四个字符,甚至是两个字符的宽度,这些人和那些把 PI 定义为 3 的人是一个路子的。 注意:缩进的全部意义在于清晰地定义语句块的开始与结束&#…

《MongoDB》Mongo Shell中的基本操作-删除操作一览

前端博主,热衷各种前端向的骚操作,经常想到哪就写到哪,如果有感兴趣的技术和前端效果可以留言~博主看到后会去代替大家踩坑的~ 主页: oliver尹的主页 格言: 跌倒了爬起来就好~ 来个关注吧,点个赞…

分布式事务,单JVM进程与多数据库,分布式事务技术选型,0-1过程,代码全。

由于很多小白程序员在单一JVM进程配合多数据库的架构环境中,总是考虑一主多从的mysql集群环境。还不知道mysql集群数据库按照表纵向分割以后,也是可以走数据库使用事务的。那么这里使用到的就是分布式事务,XA协议。现在大部分主流的数据库都支持XA协议。这里不用太多废话,直…

【Web智能聊天客服】之JavaScript、jQuery、AJAX讲解及实例(超详细必看 附源码)

觉得有帮助请点赞关注收藏~~~ 一、JavaScript基础 Javascript是网页编程语言&#xff0c;决定网页元素的动作。HTML页面中通过<script></script>指定Javascript内容&#xff0c;通过//或者 /* */执行代码的备注功能&#xff0c;并且区分大小写。 1&#xff1a;变…

《视觉SLAM十四讲》示例程序编译报错处理(上)

高翔博士《视觉SLAM十四讲》这本书中的代码很不错&#xff0c;适合初学者。可惜有一些可能因为版本的问题会报错&#xff0c;本文总结一下我遇到的问题。 在slambook2/3rdparty文件夹git submodule update&#xff0c;这个版本是和书中的版本一致的。但我已经重新安装了新版Ei…

Webpack中的高级特性

自从webpack4以后&#xff0c;官方帮我们集成了很多特性&#xff0c;比如在生产模式下代码压缩自动开启等&#xff0c;这篇文章我们一起来探讨一下webpack给我们提供的高级特性助力开发。 探索webpack的高级特性 特性&#xff1a;treeShaking 顾名思义treeShaking&#xff0…

C++ Reference: Standard C++ Library reference: Containers: deque: deque: swap

C官网参考里链接&#xff1a;https://cplusplus.com/reference/deque/deque/swap-free/ 函数模板 <deque> std::swap (deque) template <class T, class Alloc> void swap (deque<T,Alloc>& x, deque<T,Alloc>& y); 交换两个双端队列容器的…

【ESP32调试-快速入门】

文章目录ESP32调试一. 环境搭建二. 运行OpenOCD1. 烧入blink2. 找到芯片型号对应的脚本文件&#xff0c;并运行脚本命令三. 运行GDBESP32调试 一. 环境搭建 ESP_IDF环境搭建 二. 运行OpenOCD 1. 烧入blink 如&#xff1a;安装环境中的examples中的blink 路劲&#xff1a;安装…