展开

关键词

kubernetes使用ceph存储卷

最近我在kubernetes中使用了ceph的rbd及cephfs存储卷,遇到了一些问题,并逐一解决了,在这里记录一下。 难道遇到kubernetes的bug了? 而我们的环境中内核明显没有这么高,而kubernetes的代码里会根据是否找得到ceph-fuse命令决定是否使用用户态挂载。 pod删除pod,kubernetes重建pod时会重新将cephfs卷挂载上。 最后一招是一劳永逸的,修改kubernetes的代码,使用 systemd-run 来执行 ceph-fuse命令,这样重启kubelet后,这些ceph-fuse用户态进程不会随着kubelet进程的退出而退出

72110

kubernetes使用ceph存储

Kubernetes本身对于什么类别代表是不言而喻的。 这个概念有时在其他存储系统中称为“配置文件” POD动态供给 动态供给主要是能够自动帮你创建pv,需要多大的空间就创建多大的pv。 的用户1、创建pod时,kubelet需要使用rbd命令去检测和挂载pv对应的ceph image,所以要在所有的worker节点安装ceph客户端ceph-common。 将ceph的ceph.client.admin.keyring和ceph.conf文件拷贝到master的etcceph目录下yum -y install ceph-common2、创建 osd pool 在ceph的mon或者admin节点ceph osd pool create kube 128 128 ceph osd pool ls3、创建k8s访问ceph的用户 在ceph的mon或者admin rwx pool=kube -o ceph.client.kube.keyring4、查看key 在ceph的mon或者admin节点# ceph auth get-key client.adminAQCBrJ9eVU5NBAAoDlM4gV3a

73020
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储

    本文详细介绍了如何在 Kubernetes 集群中部署 ceph-csi(v3.1.0),并使用 RBD 作为持久化存储。需要的环境参考下图:? 新建 Ceph Pool创建一个新的 ceph 存储池(pool) 给 Kubernetes 使用:$ ceph osd pool create kubernetes pool kubernetes 新建用户为 Kubernetesceph-csi 单独创建一个新用户:$ ceph auth get-or-create client.kubernetes mon profile rbd osd 创建一个新的 namespace 专门用来部署 ceph-csi:$ kubectl create ns ceph-csi 将此 Configmap 存储到 Kubernetes 集群中:$ kubectl -n ceph-csi apply -f csi-config-map.yaml 新建 Secret使用创建的 kubernetes 用户 ID 和 cephx 密钥生成 Secret:cat

    46020

    Kubernetes 使用 ceph-csi 消费 RBD 作为持久化存储

    本文详细介绍了如何在 Kubernetes 集群中部署 ceph-csi(v3.1.0),并使用 RBD 作为持久化存储。需要的环境参考下图:? 新建 Ceph Pool创建一个新的 ceph 存储池(pool) 给 Kubernetes 使用:$ ceph osd pool create kubernetes pool kubernetes 新建用户为 Kubernetesceph-csi 单独创建一个新用户:$ ceph auth get-or-create client.kubernetes mon profile rbd osd 创建一个新的 namespace 专门用来部署 ceph-csi:$ kubectl create ns ceph-csi 将此 Configmap 存储到 Kubernetes 集群中:$ kubectl -n ceph-csi apply -f csi-config-map.yaml 新建 Secret使用创建的 kubernetes 用户 ID 和 cephx 密钥生成 Secret:cat

    40220

    使用Rook+CephKubernetes上作持久存储

    Ruby III 我想在新的Kubernetes集群上安装Prometheus和Grafana,但为了使这些软件包能够工作,他们需要一些地方来存储持久数据。 当我在Seagate担任云架构师时,我已经对Ceph进行了性能和规模测试,并且在过去的一年里玩过Rook,所以我决定安装Rook+Ceph,并将其用于Kubernetes集群的数据存储。 在Ceph集群上,您还可以找到Ceph MON(监控)守护程序,它们确保Ceph集群保持高可用性。Rook充当CephKubernetes的业务流程层,将OSD和MON流程部署为POD副本集。 https:github.comrookrookblobmasterREADME.md当我创建集群时,我构建了具有40GB硬盘的VM,所以使用5个Kubernetes节点,在我的集群上提供了大约200GB 由于Prometheus Helm chart请求使用XFS文件系统格式化的卷,因此我需要在所有Ubuntu Kubernetes节点上安装XFS工具。

    28210

    kubernetes(十九) Ceph存储入门

    Mgr ceph 官方开发了 ceph-mgr,主要目标实现 ceph 集群的管理,为外界提供统一的入口。 Ceph安装ceph版本选择Ceph版本来源介绍Ceph 社区最新版本是 14,而 Ceph 12 是市面用的最广的稳定版本。第一个 Ceph 版本是 0.1 ,要回溯到 2008 年 1 月。 ceph-mgr ceph-mgr是一个新的后台进程,这是任何Ceph部署的必须部分。 登录到ceph-deploy工作目录执行# ceph-deploy mds create $hostname部署Ceph文件系统部署一个 CephFS, 步骤如下: 在一个 Mon 节点上创建 Ceph install -y ceph-common2、安装ceph-fuseyum install -y ceph-fuse3、将集群的ceph.conf拷贝到客户端 【ceph集群外节点需要这个操作,集群内不用

    40430

    初试 Kubernetes 集群使用 Ceph RBD 块存储

    Ceph RBD Kubernetes PV & PVC 方式使用 Ceph RBD 测试单节点以及多节点使用 Ceph RBD 1、Kubernetes PersistentVolumes 介绍 Kubernetes RBD 来实现持久化存储,所以需要提前搭建好 Kubernetes 集群和 Ceph 存储集群,具体搭建过程可参考之前文章 国内使用 kubeadm 在 Centos 7 搭建 Kubernetes 同时由于本机内存限制,共开启了 3 个虚拟机节点,每个节点既是 Ceph 集群节点又是 Kubernetes 集群节点,所以功能节点图如下:? k8s 集群单节点使用 Ceph RBD,我们可以使用 Kubernetes Examples Github 官方示例代码,稍加修改即可。 参考资料Ceph 官网文档Kubernetes Persistent Volumes 官网文档Kubernetes Examples Volumes RBD Github 示例

    1.2K10

    kubernetes使用ceph作为存储挂载

    一、在ceph集群上操作:1、创建池(主要使用存储类来进行持久卷的挂载,其他的挂载方式不好使也太麻烦):ceph osd pool create k8s 64二、在k8s上操作:1、安装客户端(客户端版本与 ceph集群的版本最好一致,不然创建image的时候死活创建不了):给yum增加一个Ceph源(这里以网易源为例)。

    85340

    附013.Kubernetes永久存储Rook部署

    Kubernetes集成Rook架构如下:? 二 Rook部署2.1 前期规划提示:本实验不涉及Kubernetes部署,Kubernetes部署参考《附012.Kubeadm部署高可用Kubernetes》。 172.24.8.73 Kubernetes master节点 k8snode01 172.24.8.74 sdb Kubernetes node节点 Ceph节点 k8snode02 172.24.8.75 sdb Kubernetes node节点 Ceph节点 k8snode03 172.24.8.76 sdb Kubernetes node节点 Ceph节点裸磁盘规划 k8snode01 k8snode02 512创建相关pool,实际Kubernetes rook中,不建议直接操作底层Ceph,以防止上层Kubernetes而言数据不一致性。

    62140

    初试 Kubernetes 动态卷配置使用 RBD 作为 StorageClass

    2、环境、软件准备本次演示环境,我是在虚拟机 Linux Centos7 上操作,通过虚拟机完成 Ceph 存储集群搭建以及 Kubernetes 集群的搭建,以下是安装的软件及版本:Centos:release RBD 来实现持久化存储,所以需要提前搭建好 Kubernetes 集群和 Ceph 存储集群,具体搭建过程可参考之前文章 国内使用 kubeadm 在 Centos 7 搭建 Kubernetes 同时由于本机内存限制,共开启了 3 个虚拟机节点,每个节点既是 Ceph 集群节点又是 Kubernetes 集群节点,所以功能节点图如下:? 正式开始之前要提一下,通过前边两篇文章 初试 Kubernetes 集群使用 Ceph RBD 块存储 和 初试 Kubernetes 集群使用 CephFS 文件存储 的介绍,我们知道,k8s 不支持跨节点挂载同一 参考资料Ceph 官网文档Kubernetes Storage Classes 官网文档Kubernetes Dynamic Volume Provisioning 官网文档Kubernetes external-storage

    2K30

    初试 Kubernetes 集群使用 CephFS 文件存储

    在日常工作中,我们会遇到使用 k8s 时后端存储需要持久化,这样不管 Pod 调度到哪个节点,都能挂载同一个卷,从而很容易读取或存储持久化数据,我们可以使用 Kubernetes 结合 Ceph 完成。 来实现持久化存储,所以需要提前搭建好 Kubernetes 集群和 Ceph 存储集群,具体搭建过程可参考之前文章 国内使用 kubeadm 在 Centos 7 搭建 Kubernetes 集群 和 同时由于本机内存限制,共开启了 3 个虚拟机节点,每个节点既是 Ceph 集群节点又是 Kubernetes 集群节点,所以功能节点图如下:? 3、单节点使用 CephFS有上一篇 初试 Kubernetes 集群使用 Ceph RBD 块存储 操作的基础,这次就更加轻车熟路了! 参考资料Ceph 官网文档Kubernetes Persistent Volumes 官网文档Kubernetes Examples Volumes CephFS Github 示例

    1.4K30

    如何在 Kubernetes 环境中搭建 MySQL (二):在 cloud native 环境下配置 MySQL 的几个关键点

    Kubernetes 如何与 Ceph 联动1.1 使用到的 Kubernetes 概念Persistent VolumesPersistent Volume ClaimsStorage Classes : v1kind: PersistentVolumeClaimmetadata: name: ceph-rbd-dyn-pv-claimspec: accessModes: - ReadWriteOnce : containers: - name: ceph-rbd-dyn-pv-busybox1 image: busybox command: volumeMounts: - name: ceph-dyn-rbd-vol1 mountPath: mntceph-dyn-rbd-pvcbusybox readOnly: false volumes: - name: ceph-dyn-rbd-vol1 persistentVolumeClaim : claimName: ceph-rbd-dyn-pv-claim2.

    48930

    Kubernetes 集群基于 Rook 搭建 Ceph 分布式存储系统

    Kubernetes HA 集群搭建4、部署 Rook Operator5、配置 Rook Dashboard6、部署 Rook toolbox 并测试7、部署 Ceph Monitoring Prometheus 为了实现所有这些功能,Rook 需要依赖底层的容器编排平台,例如 kubernetes、CoreOS 等。 Ceph 存储集群具备了企业级存储的能力,它通过组织大量节点,节点之间靠相互通讯来复制数据、并动态地重分布数据,从而达到高可用分布式存储功能 使用 Rook 可以轻松实现在 Kubernetes 上部署并运行 Ceph 存储系统,并且提供 Dashboard 供用户查看存储系统信息,Rook 跟 Kubernetes 集成关系示意图如下:? 3、Kubernetes HA 集群搭建Kubernetes HA 集群搭建,主要包含 Etcd HA 和 Master HA。

    2.6K31

    Kubernetes 集群基于 Rook 搭建 Ceph 分布式存储系统

    为了实现所有这些功能,Rook 需要依赖底层的容器编排平台,例如 kubernetes、CoreOS 等。 Ceph 存储集群具备了企业级存储的能力,它通过组织大量节点,节点之间靠相互通讯来复制数据、并动态地重分布数据,从而达到高可用分布式存储功能使用 Rook 可以轻松实现在 Kubernetes 上部署并运行 Ceph 存储系统,并且提供 Dashboard 供用户查看存储系统信息,Rook 跟 Kubernetes 集成关系示意图如下:? 版本 >= 1.8,所以我们搭建的 Kubernetes 集群版本要在该版本以上,这里我们使用 1.12.1 版本。 3、Kubernetes HA 集群搭建Kubernetes HA 集群搭建,主要包含 Etcd HA 和 Master HA。

    66920

    (译)Rook & Ceph 简介

    Ceph 就是一个分布式存储系统,近年来其影响主键扩大。Rook 是一个编排器,能够支持包括 Ceph 在内的多种存储方案。Rook 简化了 CephKubernetes 集群中的部署过程。 Rook 还会用 Kubernetes Pod 的形式,部署 Ceph 的 MON、OSD 以及 MGR 守护进程。Rook Operator 让用户可以通过 CRD 的是用来创建和管理存储集群。 File System:为多个 Kubernetes Pod 提供共享存储。 在 Kubernetes 上部署 Rook下面我们会在 Kubernetes 上分步骤部署 Rook,并在同一集群中作为客户端来使用其存储服务。 创建 Ceph 副本池以及 Kubernetes StorageClass可以用 CRD 来定义 Pool。

    3.6K50

    CERN评估使用Rook部署Ceph

    它一直在积极评估建立在Kubernetes基础设施上的基于容器的方法。最近引起关注的一项技术是Rook;用于云原生环境的存储协调器。 当Rook的最新版本0.8部署时,安装过程非常直接;只要设置一个Kubernetes环境,就可以使用两个命令轻松部署它。 新部署的Ceph集群可以在几分钟内使用。在运行的集群中添加新的OSD不到2分钟。添加RGW和MDS等服务也是如此。Rook建立在Kubernetes之上,因此节点可靠性和改进的故障容忍度成为一等特性。 如果能够实现自动升级和对解耦版本的支持等功能,那么在未来的Ceph集群使用Rook和Kubernetes来部署将是一个好主意。 这个项目的结果将帮助欧洲核子研究中心的人们决定他们是否应该在未来的Ceph部署中使用Rook和Kubernetes。这文章是由Rubab Syed提供。

    34310

    如何在 Kubernetes 环境中搭建 MySQL(三):使用 PVC 挂接 RBD

    1.3 环境信息本文在 Ubuntu 物理机环境下,使用 kubeadm 部署 Kubernetes,连接已经部署好的 Ceph 集群,后文会对部署过程做详细说明。 Ceph monitor 地址。 使用 secret 连接 RBD直接挂载密钥文件既不正规,也不安全,我们可以使用 Kubernetes 的 secret 来加密密钥文件。 先获取加密后的密钥字符串:$ ceph auth get-key client.admin | base64 将 填写进 ceph-secret.yaml 文件中的 key 字段:$ cat ceph-secret.yamlapiVersion 参考文档初试 Kubernetes 集群使用 Ceph RBD 块存储Kubernetes concept: VolumeKubernetes concept: Persistent Volumes

    20130

    如何在 Kubernetes 环境中搭建 MySQL(四):使用 StorageClass 挂接 RBD

    image,这在实际操作时,是完全不可接受的,就算用 Webhook 机制调用脚本自动执行,也会存在一些问题,比如何时释放 RBD image,而且这样也增加了系统的复杂度,更易出错,所以最好是有 KubernetesKubernetes 确实提供这样的解决方案,就是本文要谈到的 StorageClass。 $ cat ceph-secret.yaml apiVersion: v1kind: Secretmetadata: name: ceph-secrettype: kubernetes.iorbddata adminId | userId:连接 ceph 的权限,admin 已存在,如果有需要创建其他用户,可以在 Ceph 集群中创建,并赋予对应的权限,简单使用的话,admin 也足够了。 配置 rbd-provisioner首先要下载 kubernetes-incubator git 库,RBD 的内容存储在 external-storagecephrbddeploy 目录下。

    35120

    CephFS 使用

    $ ceph-deploy --overwrite-conf mds create 剩下的就是 pool 相关的处理的了:$ ceph osd pool create cephfs_data 1024$ master$ ceph-deploy install $ ceph-deploy admin 然后获取 Ceph admin 用户的密钥,就是 对应的部分。 Kubernetes 集群使用 CephFS首先把 Ceph 用户的密钥以 secret 形式存储起来,下面的命令是获取 admin 用户的密钥,如果使用其他用户,可以把 admin 替换为要使用的用户名即可 参考文档初试 Kubernetes 集群使用 CephFS 文件存储在Kubernetes上使用CephFS作为文件存储FILE LAYOUTS can I create multiple pools for cephfs使用ceph的文件存储CephFS

    1.9K40

    快速上手 Rook,入门云原生存储编排

    前提条件运行 Rook Cassandra operator 需要 Kubernetes 集群。 这很重要,因为它表明 Rook 已成功扩展 Kubernetes,使 Cassandra 集群成为 Kubernetes 云原生环境中的一等公民。 前提条件为确保您拥有可用于 Rook 的 Kubernetes 集群。为了配置 Ceph 存储集群,至少需要以下本地存储选项之一:原始设备(无分区或格式化文件系统)这需要在主机上安装 lvm2。 您可以在 Kubernetes docs 中进一步了解这些卷的详细信息和限制。3. NFS client packages 必须安装在 Kubernetes 可能运行挂载 NFS 的 pod 的所有节点上。

    12520

    相关产品

    • 容器服务

      容器服务

      腾讯云容器服务(Tencent Kubernetes Engine ,TKE)基于原生kubernetes提供以容器为核心的、高度可扩展的高性能容器管理服务。腾讯云容器服务完全兼容原生 kubernetes API ,扩展了腾讯云的云硬盘、负载均衡等 kubernetes 插件,为容器化的应用提供高效部署、资源调度、服务发现和动态伸缩等一系列完整功能,解决用户开发、测试及运维过程的环境一致性问题,提高了大规模容器集群管理的便捷性,帮助用户降低成本,提高效率。容器服务提供免费使用,涉及的其他云产品另外单独计费。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券