openEuler 通过Rook在k8s集群部署Ceph

news2024/11/24 17:45:28

openEuler 版本号: 2209

前置条件 k8s集群版本 

 kubectl version

Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.12", GitCommit:"b058e1760c79f46a834ba59bd7a3486ecf28237d", GitTreeState:"clean", BuildDate:"2022-07-13T14:53:39Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}

没有被分区的磁盘, 清除各可用盘数据,这一步很重要

wipefs -af /dev/sdb

wipefs -af /dev/sdc

安装证书管理

kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.1/cert-manager.yaml
 

modprobe rbd 测试没有报 "not found"即可

开始安装

下载配置

git clone --single-branch --branch v1.10.6 https://github.com/rook/rook.git

cd rook/deploy/examples
kubectl create -f crds.yaml -f common.yaml -f operator.yaml


检查pod
kubectl -n rook-ceph get pod


创建集群
kubectl create -f cluster.yaml

安装工具箱

kubectl create -f deploy/examples/toolbox.yaml


检查状态?
kubectl -n rook-ceph rollout status deploy/rook-ceph-tools

输出:
deployment "rook-ceph-tools" successfully rolled out


使用ceph命令,先进容器

kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash


样例命令

ceph status
ceph osd status
ceph df
rados df

可以删除工具箱
kubectl -n rook-ceph delete deploy/rook-ceph-tools

遇到下载不了的情况,使用科学上网机器下载导出并导入

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

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


docker 导出
docker save -o csi-node-driver-registrar.tar registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.5.1

docker 导入
docker load --input ./csi-node-driver-registrar.tar



docker pull registry.k8s.io/sig-storage/csi-provisioner:v3.3.0
docker save -o csi-provisioner.tar registry.k8s.io/sig-storage/csi-provisioner:v3.3.0
下载到本地并上传到目标机器
sz csi-provisioner.tar
docker load --input ./csi-provisioner.tar


docker pull registry.k8s.io/sig-storage/csi-resizer:v1.6.0
docker save -o csi-resizer.tar registry.k8s.io/sig-storage/csi-resizer:v1.6.0
sz csi-resizer.tar
docker load --input ./csi-resizer.tar



docker pull registry.k8s.io/sig-storage/csi-snapshotter:v6.1.0
docker save -o csi-snapshotter.tar registry.k8s.io/sig-storage/csi-snapshotter:v6.1.0
下载到本地并上传到目标机器
sz csi-snapshotter.tar
docker load --input ./csi-snapshotter.tar


docker pull registry.k8s.io/sig-storage/csi-attacher:v4.0.0
docker save -o csi-attacher.tar registry.k8s.io/sig-storage/csi-attacher:v4.0.0
下载到本地并上传到目标机器
sz csi-attacher.tar
docker load --input ./csi-attacher.tar






开始使用

首先检查状态, 发现不健康,如何解决?

只有一个osd, 其它节点都有可用磁盘,但是不自动创建osd (如果使用这个命令清空硬盘就不会出问题了,这个命令意思是使用整个盘,有分区的不要执行哦 wipefs -af /dev/sdb)

解决办法: 将各点的磁盘格式化一下

parted -s /dev/sdb mklabel gpt mkpart primary ext4 0% 100%

parted -s /dev/sdc mklabel gpt mkpart primary ext4 0% 100%

处理后,会自动创建osd但是报错了, 启不来

** ERROR: unable to open OSD superblock on /var/lib/ceph/osd/ceph-2: (2) No such file or directory

通过搜索问题发现, 不如直接在主机上部署好管理osd, 这个原因就是没有mount上的原因(如果使用这个命令清空硬盘就不会出问题了,这个命令意思是使用整个盘,有分区的不要执行哦 wipefs -af /dev/sdb)

bash-4.4$ ceph status
  cluster:
    id:     d53f5e3b-08c9-473c-9d3b-bd6127fe2c82
    health: HEALTH_WARN
            OSD count 1 < osd_pool_default_size 3
 
  services:
    mon: 3 daemons, quorum a,b,c (age 2h)
    mgr: b(active, since 2h), standbys: a
    osd: 1 osds: 1 up (since 2h), 1 in (since 3d)
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 B
    usage:   5.2 MiB used, 5.5 TiB / 5.5 TiB avail
    pgs:   


针对operator.yml修改
ROOK_ENABLE_DISCOVERY_DAEMON: "true"

访问网址, 192.168.0.14 替换成对应主机的ip即可

https://192.168.0.14:32644/#/login?returnUrl=%2Fdashboard

账号是admin

密码通过如下命令查看

kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 --decode && echo


看到的密码登陆不进去?怎么办

如下密码 %#/Z\?w}mccco/Ow#S@M

F12查看实际上是登陆成功了,但是没有权限导致的

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

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

相关文章

图片加水印怎么弄?小白都会的加水印方法

现在给图片添加水印很重要&#xff0c;因为我们辛苦拍摄的照片或视频很容易被其他人转发&#xff0c;而他们无需注明出处和原作者&#xff0c;因此很容易误导浏览者&#xff0c;让他们以为这些照片是“转载者”拍摄的。这样其实对原作者很不公平&#xff0c;如果不添加水印&…

C语言 9 —— 函数

把相同业务功能维度的代码有机的整合起来做成函数&#xff0c;这样做既可以方便反复调用&#xff0c;又可以在空间上节省代码行数。 函数的定义&#xff1a; 返回值类型 函数名(参数类型1 参数变量名1, ....参数类型N 参数变量N){ //此处参数为形参// 函数体.... } 如果不需…

【强化学习论文清单】AAAI-2022 | 人工智能CCF-A类会议(附链接)

人工智能促进会(AAAI)成立于1979年&#xff0c;前身为美国人工智能协会(American Association for Artificial Intelligence)&#xff0c;是一个非营利性的科学协会&#xff0c;致力于促进对思想和智能行为及其在机器中的体现的潜在机制的科学理解。AAAI旨在促进人工智能的研究…

【构建ML驱动的应用程序】第 5 章 :训练和评估模型

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

Linux 文件系统与inode,软硬链接

目录 磁盘的结构 磁盘的抽象&#xff08;虚拟&#xff0c;逻辑&#xff09;结构 分区 Block Group 块组&#xff1a; 分析&#xff1a; 文件名 vs inode编号 创建/删除/查看 一个文件&#xff0c;操作系统做了什么&#xff1f; 软硬链接 软连接 硬链接 对比&#xf…

Devart IBDac数据访问组件库

Devart IBDac数据访问组件库 IBDAC是一个完整的InterBase(和FireBird)数据访问组件库&#xff0c;用于将程序连接到FireBird、InterBase和Yaffil。该库有Dolphin、CBuilder、Lazarus和Free Pascal版本&#xff0c;可用于32/64位Windows、Mac OS X、iOS、Android、Linux和FreeBS…

Nacos Config--服务配置

目录 服务配置中心介绍 Nacos Config入门 Nacos Config深入 配置动态刷新 配置共享 nacos的几个概念 创建命名空间(Namespace) 命名空间 组 Nacos多环境切换 如何解决不同环境配置不同 如何解决不同环境配置相同 不同微服务相同配置共享 bootstrap 总结 服务配置…

融云 IM 和 RTC 服务,「助攻」智能物流等客户打通链路、完善生态

关注公众号报名融云&艾瑞“政企数智办公研究报告及新品发布会” 移动互联网时代&#xff0c;通信技术已经突破传统优势项“社交泛娱乐场景”的应用范围&#xff0c;在不同的业务中大放异彩&#xff0c;起到打通链路的关键作用。关注【融云全球互联网通信云】回复【融云】抽…

【数据挖掘】分类与回归预测

OutLine 章节概述1分类与预测2关于分类与预测中存在的问题3决策树分类4贝叶斯分类5BP网络分类6其他分类算法7预测8准确性与误差Chapter 1. 分类与预测 分类 预测分类标签&#xff0c;可以是离散数据或者是名义数据根据训练集和分类属性中的类标签对记录进行分类&#xff0c;…

【构建ML驱动的应用程序】第 6 章 :调试 ML 问题

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

iTOP2K1000开发板Makefile文件

Makefile 就是描述了整个工程编译连接等规则的文件。 我们在终端输入完 make 命令之后&#xff0c;会调用 make 工具&#xff0c; make 就会在当前目录按照文件名就会找 makefile 文件&#xff0c; Makefile 的命名必须是 makefile 或 Makefile &#xff0c; m 大写小写都是可以…

ubuntu+Docker部署Django+Vue项目(1-Vue)

文章目录ubuntu安装下载Docker1.卸载(清除旧版本。没下载过也可以执行下试试)2.更新apt包索引并安装包&#xff0c;以允许apt通过HTTPS使用存储库3.添加Docker的官方GPG密钥4.使用以下命令设置存储库5.更新apt包索引6.安装最新版本的Docker Engine、containerd和Docker Compose…

概率论发展史上的几个重要悖论

1. 蒙提霍尔问题&#xff08;三门问题&#xff09; 三门问题&#xff08;Monty Hall problem&#xff09;亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论&#xff0c;大致出自美国的电视游戏节目Lets Make a Deal。问题名字来自该节目的主持人蒙提霍尔&#xff08;Monty Hall&…

数字图像处理(十)腐蚀和膨胀

文章目录前言一、腐蚀1.概念2.算法的具体步骤3.举例4.python代码二、膨胀1.概念2.算法步骤3.举例4.C代码5. 结果展示参考资料前言 二值图像中一类主要处理是对提取的目标图形进行形态分析。形态学处理中最基本的是腐蚀和膨胀。   腐蚀和膨胀是两个互为对偶的运算。腐蚀的作用…

g++无法找到动态库问题

文章目录一、错误发现二、include两种查找方式三、路径1.gcc与g路径2.头文件路径(1)默认路径(2)使用-l指定路径寻找。(3)gcc搜索头文件的顺序3.库文件路径(1)默认路径(2)编译时指定路径(3)在配置文件中指定路径(4)通过环境变量(5)查找顺序一、错误发现 在使用各种各样的C库的时…

栈进阶:ElasticSearch

栈进阶&#xff1a;ElasticSearch 文章目录前言一、学习ES1、ES课程简介2、聊聊Lucene创始人3、ES概述1、历史2、谁在使用3、ELK简介4、Solr和ES的差别1、ES简介2、Solr简介3、Lucene简介4、ElasticSearch与Solr比较5、ES安装及head插件安装1、ES安装2、Window下安装3、安装可视…

【深入浅出Spring6】第十期——尾声

一、Spring集成了Junit 之前我们只是使用Junit的测试注解 Test&#xff0c;并没有使用Spring对于Junit的支持 Spring6既支持Junit4、也支持Spring5 要想使用Spring对于Junit的支持&#xff0c;我们需要在pom中导入相关依赖 <!--我们引入Spring对junit支持的依赖 >> …

[LeetCode/力扣][Java] 0315. 计算右侧小于当前元素的个数(Count of Smaller Numbers After Self)

题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;按要求返回一个新数组 counts 。数组 counts 有该性质&#xff1a; counts[i] 的值是 nums[i] 右侧小于 nums[i] 的元素的数量。 示例1&#xff1a; 输入&#xff1a;nums [5,2,6,1] 输出&#xff1a;[2,1,1,0] 解释&…

CSS3------什么是css

什么是CSS 层叠样式表Cascading Style Sheets&#xff0c;缩写为CSS&#xff0c;是一种样式表语言&#xff0c;用来描述HTML或XML&#xff08;包括如SVG、MathML、XHTML 之类的XML 分支语言&#xff09;文档的呈现。 CSS描述了在屏幕、纸质、音频等其它媒体上的元素应该如何被…

uniapp之路由中携带参数跳转

目录 前言 一 路由跳转方式 1. 直接在 template中定义 2.直接在methods中定义 二 携带参数 1.在template中定义 2.在methods里定义 3. 拼接 前言 在我们写 uniapp 小程序时&#xff0c;时常遇到的就是路由携带参数进行跳转&#xff0c;这项功能似乎已成家常便饭一样&am…