zoukankan      html  css  js  c++  java
  • kubernetes下rook-ceph部署

    利用helm部署

    https://rook.io/docs/rook/v1.1/helm-operator.html

    git clone https://github.com/rook/rook.git
    # 查看版本。然后切换分支。切换分支之后按照官方文档的方式进行部署
    git checkout release-1.1
    
    

    k8s三个节点:
    每个节点都加载一块无格式化的硬盘,因为使用官方的部署方式,不自己进行修改cluster.yaml的参数的话,会自动扫描磁盘。上生产环境的时候,需要自己指定磁盘类型

    # 案例介绍
    # 其中bluestore是直接使用裸磁盘的意思,会加打磁盘的效率
    # filestore
    nodes:
    - name: "master001"
      devices:
      - name: "sdb"
      - name: "sdc"
      config:
        storeType: bluestore
    - name: "master002"
      devices:
      - name: "sdb"
      - name: "sdc"
      config:
        storeType: bluestore
    - name: "master003"
      devices:
      - name: "sdb"
      - name: "sdc"
      config:
        storeType: bluestore
    

    以下直接摘抄官网的

    Ceph Storage快速入门

    本指南将引导您完成Ceph集群的基本设置,并使您能够使用集群中运行的其他Pod的块,对象和文件存储。

    最低版本

    Rook支持Kubernetes v1.10或更高版本。

    先决条件

    如果您要dataDirHostPath在kubernetes主机上持久保留rook数据,请确保您的主机在指定路径上至少有5GB的可用空间。

    如果您感到幸运,可以使用以下kubectl命令和示例yaml文件创建一个简单的Rook集群。有关更详细的安装,请跳至下一部分以部署Rook运算符。

    cd cluster/examples/kubernetes/ceph
    kubectl create -f common.yaml
    kubectl create -f operator.yaml
    # cluster测试就使用下面的yaml
    kubectl create -f cluster-test.yaml
    # 正式环境使用
    kubectl create -f cluster.yaml
    

    集群运行后,您可以创建块,对象或文件存储,以供集群中的其他应用程序使用。

    分割线
    到达此步骤已经可以见到基本情况,并且使用toolbox进行查看

    分割线,以下摘抄官网
    官方文档

    Rook工具箱是一个容器,其中包含用于rook调试和测试的常用工具。该工具箱基于CentOS,因此可以使用轻松安装更多选择的工具yum

    Kubernetes中运行工具箱

    Rook工具箱可以作为Kubernetes集群中的部署运行。确保已部署rookKubernetes集群正在运行时(请参阅Kubernetes说明),启动rook-ceph-tools pod

    将工具规范另存为toolbox.yaml

    略,请点击链接查看
    

    启动rook-ceph-tools pod

    kubectl create -f toolbox.yaml
    

    等待工具箱窗格下载其容器并进入 running 状态:

    kubectl -n rook-ceph get pod -l "app=rook-ceph-tools"
    

    rook-ceph-tools pod运行后,您可以使用以下命令连接到它:

    kubectl -n rook-ceph exec -it $(kubectl -n rook-ceph get pod -l "app=rook-ceph-tools" -o jsonpath='{.items[0].metadata.name}') bash
    

    工具箱中的所有可用工具均已准备就绪,可满足您的故障排除需求。例:

    ceph status
    ceph osd status
    ceph df
    rados df
    

    使用完工具箱后,可以删除部署:

    kubectl -n rook-ceph delete deployment rook-ceph-tools
    

    网页请求

    进入到cluster

    cd cluster/examples/kubernetes/ceph
    kubectl apply -f dashboard-external-https.yaml
    # 查看端口号。也可以自定义好端口号
    kubectl get svc -n rook-ceph | grep rook-ceph-mgr-dashboard-external-https
    

    然后使用火狐浏览器进行打开。使用其他浏览器还需要自行配置
    https://10.10.10.5:32231

    # 获取密码
    kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o yaml | grep "password:" | awk '{print $2}' | base64 --decode
    

    默认存储地方

    cat cluster.yaml
    

    可以看到 dataDirHostPath: /var/lib/rook 字段还有spec.storage.directories.path也需要修改成一样的
    可以根据自己的需求进行修改

    测试

    搭建一个wordpress

    cd cluster/examples/kubernetes
    # 创建storageclass
    ceph/csi/rbd/storageclass.yaml
    kubectl apply -f mysql.yaml
    # 请记住修改service为nodeport。
    kubectl apply -f wordpress.yaml
    

    参考文档: https://kubernetes.hankbook.cn/practice/rook/ceph/deployment.html

  • 相关阅读:
    _ 下划线 Underscores __init__
    Page not found (404) 不被Django的exception中间件捕捉 中间件
    从装修儿童房时的门锁说起
    欧拉定理 费马小定理的推广
    线性运算 非线性运算
    Optimistic concurrency control 死锁 悲观锁 乐观锁 自旋锁
    Avoiding Full Table Scans
    批量的单向的ssh 认证
    批量的单向的ssh 认证
    Corrupted MAC on input at /usr/local/perl/lib/site_perl/5.22.1/x86_64-linux/Net/SSH/Perl/Packet.pm l
  • 原文地址:https://www.cnblogs.com/can-H/p/12595215.html
Copyright © 2011-2022 走看看