码迷,mamicode.com
首页 > 其他好文 > 详细

k8s 使用ceph存储

时间:2020-08-05 21:02:24      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:客户端   format   调用   parameter   image   强制   metadata   步骤   visio   

总结:

1、ceph创建提供给k8s使用的pool池
2、k8s安装ceph客户端ceph-common,拷贝ceph存储的 ceph-conf和 ceph.client.admin.keyring 到/etc/ceph
3、生成加密key,提供给k8s的secret 使用
4、k8s 创建secret 提供给storageclass授权使用ceph
5、k8s 创建storageclass 提供给pvc 调用
6、k8s 创建pvc 提供给deployment 资源调用

以下为详细步骤:
1、在ceph存储创建给k8s使用的pool池
1.1、查看现有的 pool池
ceph osd lspools
1.2、创建pool池
ceph osd pool create k8s 128
ceph osd create pool ${poolname} ${pg_num} ${pgp_num}
这里强制选择pg_num和pgp_num,因为ceph集群不能自动计算pg数量。下面有一些官方建议的pg使用数量:
小于5个osd设置pg_num为128
5到10个osd设置pg_num为512
10到50个osd设置pg_num为1024
如果超过50个osd你需要自己明白权衡点,并且能自行计算pg_num的数量
1.3、检查rbd这个pool里已存在的PG和PGP数量
ceph osd pool get k8s pg_num(pgp_num)

2、k8s 安装客户端 ceph-common(客户端版本和ceph版本最好保持一致)
2.1 拷贝服务端的ceph-conf和 ceph.client.admin.keyring 到/etc/ceph

3、生成加密key
`grep key /etc/ceph/ceph.client.admin.keyring |awk ‘{printf "%s", $NF}‘|base64`

4、创建secret
`apiVersion: v1

data:
key: QVFCSlQ2RmRESGQrSmhBQUdGMnNBcVVjbXB2MzNNVDQ5TVZqcnc9PQ==
kind: Secret
metadata:
name: ceph-admin-secret
namespace: kube-system
type: kubernetes.io/rbd`

5、创建storageclass

allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: rbd
parameters:
  adminId: admin
  adminSecretName: ceph-admin-secret
  adminSecretNamespace: kube-system
  fsType: ext4
  imageFeatures: layering
  imageFormat: "2"
  monitors: 10.83.75.6:6789,10.83.75.7:6789,10.83.75.8:6789
  pool: k8s
  userId: admin
  userSecretName: ceph-admin-secret
  userSecretNamespace: kube-system
provisioner: kubernetes.io/rbd
reclaimPolicy: Retain
volumeBindingMode: Immediate

k8s 使用ceph存储

标签:客户端   format   调用   parameter   image   强制   metadata   步骤   visio   

原文地址:https://blog.51cto.com/gravel/2517124

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!