如何在kubernetes集群上安装Ceph

时间:2019-10-18 06:25:10

标签: kubernetes ceph

  

我们想使用 Ceph ,但我们想使用Docker和Kubernetes来   快速部署 Ceph 的新实例。

我尝试使用默认的ceph docker中心:ceph/daemon-base。但是我没工作。

我尝试使用ceph-container。似乎不起作用。

这是我最后的部署文件:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ceph3-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ceph3
  template:
    metadata:
      labels:
        app: ceph3
    spec:
      containers:
        - name: ceph
          image: ceph/daemon-base:v3.0.5-stable-3.0-luminous-centos-7
          resources:
            limits:
              memory: 512Mi
              cpu: "500m"
            requests:
              memory: 256Mi
              cpu: "250m"
          volumeMounts:
            - mountPath: /etc/ceph
              name: etc-ceph
            - mountPath: /var/lib/ceph
              name: lib-ceph
      volumes:
        - name: etc-ceph
          hostPath:
            path: /etc/ceph
        - name: lib-ceph
          hostPath:
            path: /var/lib/ceph

有人已经在Kubernetes上安装了ceph实例吗?

我试图按照教程here

但吊舱不起作用:

pod/ceph-mds-7b49574f48-vhvtl         0/1     Pending            0          81s
pod/ceph-mon-75c49c4fd5-2cq2r         0/1     CrashLoopBackOff   3          81s
pod/ceph-mon-75c49c4fd5-6nprj         0/1     Pending            0          81s
pod/ceph-mon-75c49c4fd5-7vrp8         0/1     Pending            0          81s
pod/ceph-mon-check-5df985478b-d87rs   1/1     Running            0          81s

2 个答案:

答案 0 :(得分:0)

在Kubernetes上部署有状态系统的常见做法是使用Operator来管理和整理应用程序的生命周期管理。 Rook是在Kubernetes集群上提供Ceph生命周期管理的运营商。

有关使用Rook部署Ceph集群的文档,请访问https://rook.io/docs/rook/v1.1/ceph-storage.html

有关基本介绍,您可以使用Rook Storage Quickstart指南

核心Ceph团队高度参与Rook以及Rook社区的工作,并且Rook广泛部署在Kubernetes社区中,用于分布式存储应用程序,并且Ceph Days事件现在已明确添加Rook]成为{{3 }}

答案 1 :(得分:-1)

  

来自服务器的错误(禁止):禁止使用pods:用户“ system:serviceaccount:ceph:default”无法在名称空间“ ceph”的API组“”中列出资源“ pods”。

此错误表示您的默认用户无权访问默认名称空间中的资源,请查阅文档以了解如何处理rbac以及如何授予用户访问权限。 github上存在相同的错误。

安装Ceph

要安装ceph,我建议您使用helm

安装头盔

安装头盔的方法很少,您可以there找到它们。

我个人是使用helm github releases下载最新版本。回答此问题时,最新版本为2.15.0。这样便可以安装它。

1。下载helm(如果要安装最新版本的helm,请检查上面的helm github版本链接,可能是它的新版本。然后要做的就是在wget中更改v2.15.0和tar命令添加到新版本,例如v2.16.0

wget https://get.helm.sh/helm-v2.15.0-linux-amd64.tar.gz

2。打开包装

tar -zxvf helm-v2.15.0-linux-amd64.tar.gz

3。在解压后的目录中找到helm二进制文件,并将其移至所需的目的地

mv linux-amd64/helm /usr/local/bin/helm

4。安装分till

  

将分er安装到群集中的最简单方法是运行 helm init 。这将验证头盔的本地环境是否正确设置(并在必要时进行设置)。然后它将连接到默认情况下kubectl连接到的任何集群(kubectl配置视图)。一旦连接,它将分till安装到kube-system命名空间中。

然后按照官方documentation安装 Ceph