美文网首页
KubeOperator-rook ceph修改副本数量

KubeOperator-rook ceph修改副本数量

作者: do_young | 来源:发表于2020-08-07 14:13 被阅读0次

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

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

    • 定义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
    
    • 创建pod
    kubectl create -f toolbox.yaml
    
    • 进入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 osd存储池
    ceph osd lspools
    #获取对应某个存储池的副本数量
    ceph osd pool get ${POOL-NAME} size
    #设计对应某个存储池的副本数量为1
    ceph osd pool set ${POOL-NAME} size 1 
    

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


    image.png
    • 注:
      自定义configmap rook-config-override中的config,会自动挂载到ceph pod中为/etc/ceph/ceph.conf,达到自定义配置目的。
    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
    

    相关文章

      网友评论

          本文标题:KubeOperator-rook ceph修改副本数量

          本文链接:https://www.haomeiwen.com/subject/iskfdktx.html