分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

使用Ceph集群作为Kubernetes的动态分配持久化存储(转)

发布时间:2023-09-06 02:14责任编辑:苏小强关键词:暂无标签

   使用Docker快速部署Ceph集群 , 然后使用这个Ceph集群作为Kubernetes的动态分配持久化存储。

    Kubernetes集群要使用Ceph集群需要在每个Kubernetes节点上安装ceph-common

    

    1. 为kubernetes创建一个存储池

     

# ceph osd pool create k8s 128pool ‘k8s‘ created

    2. 创建用户

# ceph auth add client.k8s mon ‘allow rx‘ osd ‘allow rwx pool=k8s‘

    k8s用户只能对k8s这个存储池有读写权限,注意一定要有执行权限才能执行ceph命令

   

    通过ceph auth list 查看

client.k8skey: AQC3Hm5Zan9LDhAAXZHCdAF39bXcEwdpV6y/cA==caps: [mon] allow rcaps: [osd] allow rw pool=k8s

     

     在存储池k8s下创建一个镜像测试下k8s这个用户是否可以操作

     

# rbd create k8s/foo --size 1G --id k8s# rbd map k8s/foo --id k8s/dev/rbd0

      k8s这个ceph用户可以对k8s这个存储池进行操作了

   3.为ceph添加一个kubernetes secret

    

    

# echo "$(ceph auth get-key client.k8s)"|base64QVFDM0htNVphbjlMRGhBQVhaSENkQUYzOWJYY0V3ZHBWNnkvY0E9PQo=

    

  ceph-secret.yaml

  

apiVersion: v1kind: Secretmetadata:  name: ceph-secret  namespace: kube-systemtype: "kubernetes.io/rbd"data:  key: "QVFDM0htNVphbjlMRGhBQVhaSENkQUYzOWJYY0V3ZHBWNnkvY0E9PQo="

   type这一行一定要有

   

# kubectl create -f ceph-secret.yaml
# kubectl get secret -n=kube-system|grep cephceph-secret                     kubernetes.io/rbd                     1         1m

   4.创建一个StorageClass

   ceph-rbd-storageclass.yaml

   

apiVersion: storage.k8s.io/v1beta1kind: StorageClassmetadata:   name: fastprovisioner: kubernetes.io/rbdparameters:  monitors: 172.30.30.215:6789,172.30.30.217:6789,172.30.30.219:6789  adminId: k8s  adminSecretName: ceph-secret  adminSecretNamespace: kube-system  pool: k8s  userId: k8s  userSecretName: ceph-secret

   Kubernetes 1.6 以上使用 storage.k8s.io/v1

   

# kubectl create -f ceph-rbd-storageclass.yaml
# kubectl get storageclassNAME      TYPEfast      kubernetes.io/rbd

   

   5.测试

    ceph-pvc.json

    

{  "kind": "PersistentVolumeClaim",  "apiVersion": "v1",  "metadata": {    "name": "claim1",    "annotations": {        "volume.beta.kubernetes.io/storage-class": "fast"    }  },  "spec": {    "accessModes": [      "ReadWriteOnce"    ],    "resources": {      "requests": {        "storage": "3Gi"      }    }  }}

   

   

# kubectl create -f ceph-pvc.json# kubectl get pvcNAME      STATUS    VOLUME                                     CAPACITY   ACCESSMODES   AGEclaim1    Bound     pvc-28b66dcb-6c82-11e7-94da-02672b869d7f   3Gi        RWO           11m

   现在就可以使用Ceph RBD作为Kubernetes的动态分配持久化存储了。

转自:https://www.itency.com/topic/show.do?id=479247

使用Ceph集群作为Kubernetes的动态分配持久化存储(转)

原文地址:https://www.cnblogs.com/hixiaowei/p/9613175.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved