KubeOperator-rook ceph修改副本数量

2020-08-07  本文已影响0人  do_young

基于kubeoperator安装k8s集群,如果存储选择rook ceph。安装完成以后存储的默认副本数量为3。
对于存储空间有限的测试环境需要将副本数量处理调整,可以换成host-volume或其副本数量设置为1。

下面给出修改rook ceph副本数量的方法。
参考Rook Docs文档,创建一个pod。

apiVersion: v1
kind: Pod
metadata:
  name: rook-ceph-tools
  namespace: rook-ceph
spec:
  dnsPolicy: ClusterFirstWithHostNet
  containers:
  - name: rook-ceph-tools
    image: rook/ceph-toolbox:v0.8.3
    imagePullPolicy: IfNotPresent
    env:
      - name: ROOK_ADMIN_SECRET
        valueFrom:
          secretKeyRef:
            name: rook-ceph-mon
            key: admin-secret
    securityContext:
      privileged: true
    volumeMounts:
      - mountPath: /dev
        name: dev
      - mountPath: /sys/bus
        name: sysbus
      - mountPath: /lib/modules
        name: libmodules
      - name: mon-endpoint-volume
        mountPath: /etc/rook
  hostNetwork: false
  volumes:
    - name: dev
      hostPath:
        path: /dev
    - name: sysbus
      hostPath:
        path: /sys/bus
    - name: libmodules
      hostPath:
        path: /lib/modules
    - name: mon-endpoint-volume
      configMap:
        name: rook-ceph-mon-endpoints
        items:
        - key: data
          path: mon-endpoints
kubectl create -f toolbox.yaml
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 osd存储池
ceph osd lspools
#获取对应某个存储池的副本数量
ceph osd pool get ${POOL-NAME} size
#设计对应某个存储池的副本数量为1
ceph osd pool set ${POOL-NAME} size 1 

修改完成以后,通过ceph manager确认一下副本数量修改是否生效。


image.png
kubectl -n rook-ceph edit configmap rook-config-override -o yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: rook-config-override
  namespace: rook-ceph
data:
  config: |
    [global]
    osd pool ${POOL-NAME} size = 1
上一篇 下一篇

猜你喜欢

热点阅读