cephadm部署ceph quincy版本,使用ceph-csi连接

环境说明

IP主机名角色

存储设备

192.168.2.100

master100

mon,mgr,osd,mds,rgw

大于5G的空设备
192.168.2.101node101mon,mgr,osd,mds,rgw大于5G的空设备
192.168.2.102node102mon,mgr,osd,mds,rgw大于5G的空设备

关闭防火墙

关闭并且禁用selinux

配置主机名/etc/hosts

配置ssh免密登录

配置时间同步chrony

安装docker服务

配置ceph国内镜像 (ubuntu server 20.04)

wget -q -O- 'https://mirrors.aliyun.com/ceph/keys/release.asc' |  apt-key add - 

apt-add-repository 'deb https://mirrors.aliyun.com/ceph/debian-quincy/ focal main'

apt update

参考Get Packages — Ceph Documentation

安装cephadm

curl https://ghproxy.com/https://raw.githubusercontent.com/ceph/ceph/quincy/src/cephadm/cephadm -o cephadm

chmod +x cephadm

./cephadm add-repo --release quincy

./cephadm install ceph-common ceph

./cephadm install

which cephadm

which ceph

初始化ceph集群

cephadm bootstrap --mon-ip 192.168.2.100

添加新节点

ssh-copy-id -f -i /etc/ceph/ceph.pub root@node101

ssh-copy-id -f -i /etc/ceph/ceph.pub root@node102

ceph orch host add node101 或 ceph orch host add node101 192.168.2.101

ceph orch host add node102 或 ceph orch host add node102 192.168.2.102

ceph orch host ls

部署MON

ceph orch apply mon master100,node101,node102

部署OSD

查看可用的存储设备

ceph orch device ls

方式1: 让ceph使用所有可用的存储设备

ceph orch apply osd --all-available-devices

方式2:手工添加存储设备

ceph orch daemon add osd master100:/dev/sdb

ceph orch daemon add osd node101:/dev/sdb

ceph orch daemon add osd node102:/dev/sdb

部署mds

ceph orch apply mds cephfs --placement=”3 master100 node101 node102”

部署rgw

ceph orch apply rgw myrealm myzone --placement=”3 master100 node101 node102”

部署mgr

ceph orch apply mgr master100,node101,node102

查看状态

访问ceph dashboard

https://192.168.2.100:8443

接下来开始部署ceph-csi

git clone -b release-v3.8 https://github.com/ceph/ceph-csi.git

创建一个pool

ceph osd pool create kubernetes

rbd pool init kubernetes

创建用户client.kubernetes

生成ceph-csi ConfigMap

运行ceph mon dump获取ceph集群信息

kubectl apply -f csi-config-map.yaml

生成csi-kms-config-map.yaml

kubectl apply -f csi-kms-config-map.yaml

生成ceph-config-map.yaml

kubectl apply -f ceph-config-map.yaml

创建Secret

csi-rbd-secret.yaml

kubectl apply -f csi-rbd-secret.yaml

配置ceph-csi插件

kubectl apply -f deploy/rbd/kubernetes/csi-provisioner-rbac.yaml

kubectl apply -f deploy/rbd/kubernetes/csi-nodeplugin-rbac.yaml

修改csi-rbdplugin-provisioner.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-rbdplugin-provisioner.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-rbdplugin-provisioner.yaml

kubectl apply -f csi-rbdplugin-provisioner.yaml

修改csi-rbdplugin.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-rbdplugin.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-rbdplugin.yaml

kubectl apply -f csi-rbdplugin.yaml

创建StorageClass

ceph-csi-rbd-sc.yaml

创建pvc

ceph-csi-rbd-pvc.yaml

创建pod

ceph-csi-rbd-pod.yaml

查看创建的PVC

查看rbd设备

创建cephfs

ceph osd pool create cephfs_data 32 32

ceph osd pool create cephfs_metadata 32 32

ceph fs new cephfs cephfs_metadata cephfs_data

生成ceph-csi ConfigMap

和rbd相同,不用重复执行。

生成csi-kms-config-map.yaml

和rbd相同,不用重复执行。

生成ceph-config-map.yaml

和rbd相同,不用重复执行。

创建Secret,这里使用ceph的管理员账户

ceph-csi-cephfs-secret.yaml

kubectl apply -f ceph-csi-cephfs-secret.yaml

配置ceph-csi插件

kubectl apply -f deploy/cephfs/kubernetes/csi-nodeplugin-rbac.yaml

kubectl apply -f deploy/cephfs/kubernetes/csi-provisioner-rbac.yaml

修改csi-cephfsplugin-provisioner.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-cephfsplugin-provisioner.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-cephfsplugin-provisioner.yaml

kubectl apply -f csi-cephfsplugin-provisioner.yaml

修改csi-cephfsplugin.yaml

sed -i ‘s/cephcsi:canary/cephcsi:v3.8.0/g’ csi-cephfsplugin.yaml

sed -i ‘s/registry.k8s.io\/sig-storage/registry.aliyuncs.com\/google_containers/g’ csi-cephfsplugin.yaml

kubectl apply -f csi-cephfsplugin.yaml

创建StorageClass

ceph-csi-cephfs-sc.yaml

创建pvc

创建pod

参考资料

https://github.com/ceph/ceph-csi/blob/devel/docs/deploy-rbd.md

https://github.com/ceph/ceph-csi/blob/devel/docs/deploy-cephfs.md

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

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

相关文章

HarmonyOS(五)—— 认识页面和自定义组件生命周期

前言 在前面我们通过如何创建自定义组件一文知道了如何如何自定义组件以及自定义组件的相关注意事项,接下来我们认识一下页面和自定义组件生命周期。 自定义组件和页面的关系 在开始之前,我们先明确自定义组件和页面的关系 自定义组件:Co…

【案例讲解】LVGL 如何用LVGL画加载圈

更多源码分析请访问:LVGL 源码分析大全 目录 1、概述2、实现效果图3、实现思路4、代码详解1、概述 很多场景下,在用户操作时,需要使用一个加载圈来缓解用户焦虑问题。 2、实现效果图 3、实现思路 用八个固定的圆点来表示加载圈,当使这八个圈依次隐藏和显示,这样就能做…

基于helm的方式在k8s集群中部署gitlab - 部署(一)

文章目录 1. 背景说明2. 你可以学到什么?3. 前置条件4. 安装docker服务(所有节点)5. 部署k8s集群5.1 系统配置(所有节点)5.2 安装kubelet组件(所有节点)5.2.1 编写kubelet源5.2.2 安装kubelet5.2.3 启动kubelet 5.3 集…

基于helm的方式在k8s集群中部署gitlab - 备份恢复(二)

接上一篇 基于helm的方式在k8s集群中部署gitlab - 部署(一),本篇重点介绍在k8s集群中备份gitlab的数据,并在虚拟机上部署相同版本的gitlab,然后将备份的数据进行还原恢复 文章目录 1. 备份2. 恢复到虚拟机上的gitlab2.…

【Git】git 更换远程仓库地址三种方法总结分享

因为公司更改了 gitlab 的网段地址,发现全部项目都需要重新更改远程仓库的地址了,所以做了个记录,说不定以后还会用到呢。 一、不删除远程仓库修改(最方便) # 查看远端地址 git remote -v # 查看远端仓库名 git rem…

牛客网刷题笔记四 链表节点k个一组翻转

NC50 链表中的节点每k个一组翻转 题目: 思路: 这种题目比较习惯现在草稿本涂涂画画链表处理过程。整体思路是赋值新的链表,用游离指针遍历原始链表进行翻转操作,当游离个数等于k时,就将翻转后的链表接到新的链表后&am…

歌曲《兄弟情深》:歌手荆涛歌曲中的真挚情感

在人生的道路上,有时我们会遇到迷茫、失落、困惑等种种情境。而在这些时刻,身边有一个真挚的兄弟,其意义是无法估量的。歌手荆涛演唱的《兄弟情深》即是对这种深厚情感的美妙歌颂。 一、迷茫时的指引 “当我迷茫时,有你帮目标重新…

这是一张单纯的图片-MISC-bugku-解题步骤

——CTF解题专栏—— 题目信息: 题目:这是一张单纯的图片 作者:harry 提示:无 解题附件: 解题思路: 图片解题三板斧winwalk、010Editor、Stegsolve,一一尝试。 解题步骤: 一、wi…

emu8086汇编语言输出“Hello World!“

输出Hello world 首先我们尝试用C语言来实现该功能&#xff1a; #include <stdio.h>int main() {printf("Hello World!"); // 输出“Hello World!”return 0; } 将这行代码翻译成汇编语言... ; DS 数据段定义 DATA SEGMENTZIFU DB Hello World!,$ ;字符串…

2016年五一杯数学建模A题购房中的数学问题解题全过程文档及程序(采光与房款)

2016年五一杯数学建模 A题 购房中的数学问题 原题再现 随着现代社会经济的快速发展&#xff0c;房地产成为国家经济发展中重要的经济增长点之一。为了充分利用楼房建设的土地面积&#xff0c;开发商经常会选择建筑高层住宅。在购买住房时&#xff0c;影响消费者选择购房的因素…

深入理解数据结构:链表

文章目录 &#x1f330;导语&#x1f330;链表的定义及基本结构&#x1f330;单链表&#x1f955;单链表特点 &#x1f330;双向链表&#x1f955;双链表特点 &#x1f330;循环链表&#x1f955;循环链表特点 &#x1f330;链表的操作&#x1f346;链表的插入&#x1fad8;链头…

Git 仓库越来越大?不要慌!试试这个简单方法,轻松秒瘦身

开局两张图 瘦身前瘦身后 目录 开局两张图前言下载 BFG克隆代码Git 仓库瘦身清理存储库储存库 GC推送仓库 Git 瘦身验证结语开源项目 前言 在进行项目开发的过程中&#xff0c;代码仓库的体积可能会逐渐增大&#xff0c;特别是在版本控制系统中保留了大量的历史提交记录和不必…

YOLOv5算法进阶改进(4)— 引入解耦合头部 | 助力提高检测准确率

前言:Hello大家好,我是小哥谈。解耦头是目标检测中的一种头部设计,用于从检测网络的特征图中提取目标位置和类别信息。具体来说,解耦头部将目标检测任务分解为两个子任务:分类和回归。分类任务用于预测目标的类别,回归任务用于预测目标的位置。这种设计可以提高目标检测的…

黑马程序员索引学习笔记

文章目录 索引的分类从索引字段特性从物理存储从数据结构组成索引的字段个数 InnoDB主键索的Btree高度为多高呢?explain执行计划最左匹配原则索引失效情况SQL提示覆盖索引、回表查询前缀索引索引设计原则 索引的分类 从索引字段特性 主键索引、唯一索引、常规索引、全文索引…

卷积神经网络(CNN)车牌识别

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据3.数据可视化4.标签数字化 二、构建一个tf.data.Dataset1.预处理函数2.加载数据3.配置数据 三、搭建网络模型四、设置动态学习率五、编译六、训练八、保存和…

6.1 Windows驱动开发:内核枚举SSDT表基址

SSDT表&#xff08;System Service Descriptor Table&#xff09;是Windows操作系统内核中的关键组成部分&#xff0c;负责存储系统服务调用的相关信息。具体而言&#xff0c;SSDT表包含了系统调用的函数地址以及其他与系统服务相关的信息。每个系统调用对应SSDT表中的一个表项…

PWM(PulseWidthModulation)控制

PWM&#xff08;Pulse Width Modulation&#xff09;控制就是对脉冲的宽度进行调制的技术&#xff0c;即通过对一系列脉冲的宽度进行调制&#xff0c;来等效的获得所需要的波形&#xff08;含形状和幅值&#xff09;&#xff1b;面积等效原理是PWM技术的重要基础理论&#xff1…

软件工程简明教程

软件工程简明教程 何为软件工程&#xff1f; 1968 年 NATO&#xff08;北大西洋公约组织&#xff09;提出了软件危机&#xff08;Software crisis&#xff09;一词。同年&#xff0c;为了解决软件危机问题&#xff0c;“软件工程”的概念诞生了。一门叫做软件工程的学科也就应…

电源控制系统架构(PCSA)之电源控制框架概览

目录 6 电源控制框架 6.1 电源控制框架概述 6.1.1 电源控制框架低功耗接口 6.1.2 电源控制框架基础设施组件 6 电源控制框架 电源控制框架是标准基础设施组件、接口和相关方法的集合&#xff0c;可用于构建SoC电源管理所需的基础设施。 本章介绍框架的主要组件和低功耗接…

vue3通过v-model实现父子组件通信

单一值传递 父组件 <template><div ><h1>v-model实现父子组件通讯</h1><hr><child1 v-model"num"></child1><!-- 上下两个是等价的 --><child1 :modelValue"num" update:modelValue"handle&quo…