K8S集群实践之九: Ceph

这篇具有很好参考价值的文章主要介绍了K8S集群实践之九: Ceph。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments.1. 说明

因香橙派和树莓派资源所限,转移到基于VirtualBox建立的VMs继续实践。

虚拟机环境列表:

Host Name IP 配置 备注
k8s-c0-master0 10.0.3.6 Ubuntu 22.04.3 LTS 8核32G, 200G(sda) + 100G(sdb) 虚拟机
k8s-c0-node0 10.0.3.7 Ubuntu 22.04.3 LTS 4核8G, 200G(sda) + 100G(sdb) ...
k8s-c0-node1 10.0.3.8 Ubuntu 22.04.3 LTS 4核8G, 200G(sda) + 100G(sdb) ...

2. 准备工作

  • 下载 ubuntu-22.04.2-live-server-amd64.iso,并映射到启动光盘
  • 虚拟机设置双网卡,1作桥接(同网访问),1作NAT网络(K8s内网)
  • 安装时选择镜像(重要)https://mirrors.aliyun.com/ubuntu
  • 初始化K8s环境
  • 为避免CTR拉取镜像失败,设置容器代理,编辑 /lib/systemd/system/containerd.service
    [Service]
    Environment="HTTP_PROXY=http://192.168.0.108:1081"
    Environment="HTTPS_PROXY=http://192.168.0.108:1081"
    Environment="NO_PROXY=aliyun.com,aliyuncs.com,huaweicloud.com,k8s-master-0,k8s-master-1,k8s-worker-0,localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
    systemctl daemon-reload && systemctl restart containerd

3. 方案及安装步骤

3.1 Rook

Rook is an open source cloud-native storage orchestrator, providing the platform, framework, and support for Ceph storage to natively integrate with cloud-native environments.

3.2 安装要求

  • Raw devices (no partitions or formatted filesystems)
  • Raw partitions (no formatted filesystem) 
  • LVM Logical Volumes (no formatted filesystem)
  • Persistent Volumes available from a storage class in block mode

一句话:有个裸盘 (100G /dev/sdb)

保证至少3个节点,去掉污点

kubectl taint nodes --all node-role.kubernetes.io/control-plane-

3.3 安装步骤

1. 获取rook仓库到安装路径,如:/k8s_apps/rook

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

2. 编写安装脚本,/k8s_apps/scripts/k8s-rook-ceph.sh

#!/bin/bash

kubectl apply -f /k8s_apps/rook/deploy/examples/crds.yaml
kubectl apply -f /k8s_apps/rook/deploy/examples/common.yaml
kubectl apply -f /k8s_apps/rook/deploy/examples/operator.yaml

kubectl -n rook-ceph get pod

kubectl apply -f /k8s_apps/rook/deploy/examples/cluster.yaml

3. 编写删除脚本,/k8s_apps/scripts/rook-ceph-delete.sh

#!/bin/bash

kubectl delete -f /k8s_apps/rook/deploy/examples/wordpress.yaml
kubectl delete -f /k8s_apps/rook/deploy/examples/mysql.yaml
kubectl delete -n rook-ceph cephblockpool replicapool
kubectl delete storageclass rook-ceph-block
kubectl delete -f /k8s_apps/rook/deploy/examples/csi/cephfs/kube-registry.yaml
kubectl delete storageclass csi-cephfs

kubectl -n rook-ceph patch cephcluster rook-ceph --type merge -p '{"spec":{"cleanupPolicy":{"confirmation":"yes-really-destroy-data"}}}'

kubectl -n rook-ceph delete cephcluster rook-ceph

kubectl -n rook-ceph get cephcluster


kubectl delete -f /k8s_apps/rook/deploy/examples/operator.yaml
kubectl delete -f /k8s_apps/rook/deploy/examples/common.yaml
kubectl delete -f /k8s_apps/rook/deploy/examples/crds.yaml

4. 执行安装,一切正常的话,如下图,不正常的话,执行删除脚本,排除问题后重来。

K8S集群实践之九: Ceph,K8s,kubernetes,ceph,容器文章来源地址https://www.toymoban.com/news/detail-720766.html

4. 相关命令

- 实时查看pod创建进度
kubectl get pod -n rook-ceph -w

- 实时查看集群创建进度
kubectl get cephcluster -n rook-ceph rook-ceph -w

- 详细描述
kubectl describe cephcluster -n rook-ceph rook-ceph

5. 参考

  • Rook - Rook Ceph Documentation

到了这里,关于K8S集群实践之九: Ceph的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S初级入门系列之九-共享存储

         Pod里面的容器都有自己独立的文件系统,来自容器镜像,用于保存容器运行的数据,但容器的文件存储有两个弊端,一个是无法持久化,其生命周期与容器一致,一旦容器销毁,相关的数据也就随之一起销毁;二是无法共享,Pod里多个容器之间无法共享数据,会导致无

    2024年02月03日
    浏览(35)
  • k8s实践之mysql集群搭建(十五)

    先下载 k8s实践之mysql集群搭建资料 主从模式简介: 当master主服务器上的数据发生改变时,则将其改变写入二进制(binlog)事件日志文件中; slave从服务器会在一定时间间隔内对master主服务器上的二进制日志进行探测,探测其是否发生过改变(通过二进制文件的大小是否不同

    2024年02月14日
    浏览(33)
  • K8s集群nginx-ingress监控告警最佳实践

    本文分享自华为云社区《K8s集群nginx-ingress监控告警最佳实践》,作者:可以交个朋友。 nginx-ingress作为K8s集群中的关键组成部分。主要负责k8s集群中的服务发布,请求转发等功能。如果在访问服务过程中出现404和502等情况,需要引起注意。 可以通过CCE集群插件kube-prometheus-s

    2024年04月22日
    浏览(25)
  • 香橙派4和树莓派4B构建K8S集群实践之七: Jenkins

    目录 1. 说明 2. 步骤 2.1 准备工作 2.2 安装 2.2.1 用jenkins原站for k8s的安装仓方法安装 2.2.2 Helm 安装 3. 相关命令 4. 遇到的问题 5. 参考 在k8s上部署jenkins,并用 jenkins.k8s-t2.com访问 在namespace为devops下安装在指定节点k8s-master-1,有指定持久化的PV/PVC/SC CI/DI 实践 设置代理,不然去git拿

    2024年02月12日
    浏览(28)
  • 香橙派4和树莓派4B构建K8S集群实践之八: TiDB

    目录 1. 说明 2. 准备工作 3. 安装 3.1 参考Tidb官方 v1.5安装说明  3.2 准备存储类 3.3 创建crd 3.4 执行operator 3.5 创建cluster/dashboard/monitor容器组 3.6 设置访问入口(Ingress Port) 4. 装好后的容器状况 5. 遇到的问题 6. 参考 建立TiDB集群,实现一个基于k8s的云原生分布式数据库方案 应用i

    2024年02月13日
    浏览(30)
  • 香橙派4和树莓派4B构建K8S集群实践之四:BuildKit与LNMP

    目录 1. 说明 2. 开始前的准备工作 2.1 docker 验证用户信息设置  2.2 安装BuildKit 3. 安装步骤 3.1 申请一个pvc存储区 (wwwroot-pvc.yaml) 3.2 Nginx 3.3 PHP-FPM 3.3.1 构建并推送镜像 3.3.2 定义入口(ingress 方式) 3.4 Maria Galera 3.4.1 安装相关命令 3.4.2 特别注意 3.4.3 外部连接数据库 3.3.4 内部跨域访

    2024年02月04日
    浏览(32)
  • 云原生之容器编排实践-在K8S集群中使用Registry2搭建私有镜像仓库

    基于前面搭建的3节点 Kubernetes 集群,今天我们使用 Registry2 搭建私有镜像仓库,这在镜像安全性以及离线环境下运维等方面具有重要意义。 Note: 由于是测试环境,以下创建了一个 local-storage 的 StorageClass ,并使用本地磁盘的方式创建使用 PV ,实际建议使用 NFS 。 共用到了三台

    2024年02月19日
    浏览(36)
  • k8s使用ceph存储

    初始化操作 ceph创建rbd存储池 ceph添加授权,需要创建两个用户,一个挂载rbd时使用,另一个挂载cephfs时使用 k8s集群中所有节点安装ceph-common 将ceph配置文件和keyring文件拷贝至所有k8s集群中节点 k8s使用ceph rbd k8s集群中的pod使用rbd时可以直接通过pod的volume进行挂载,也可以以p

    2024年02月16日
    浏览(31)
  • K8s使用Ceph作为后端存储

    Ceph概述 部署Ceph集群 Ceph存储使用 Pod使用Ceph持久化数据 Ceph监控 Rook部署Ceph Ceph介绍 Ceph架构 Ceph核心概念 Ceph是一个开源的分布式存储系统,具有高扩展性、高性能、高可靠性等特点,提 供良好的性能、可靠性和可扩展性。支持对象存储、块存储和文件系统。 是目前为云平台

    2024年02月15日
    浏览(33)
  • 9.云原生存储之ceph在k8s中应用及问题处理

    云原生专栏大纲 官网文档:Ceph Docs 对象存储(Ceph Object Storage): 对象存储适用于需要存储和访问大量非结构化数据的场景,例如图像、视频、日志文件等。在 Kubernetes 中,可以使用 Ceph Rados Gateway 提供的对象存储接口,将应用程序的对象数据存储在 Ceph 集群中。对象存储提

    2024年01月23日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包