Enable an external Ceph RBD storage

Enable an external Ceph RBD storage

You can connect your Kubernetes cluster to an existing external Ceph RADOS Block Device (RBD) storage by enabling the corresponding feature in your new or existing Kubernetes cluster.

To enable an external Ceph RBD storage on a Kubernetes cluster:

  1. While generating a deployment metadata model for your new MCP Kubernetes cluster as described in Create a deployment metadata model, select the Kubernetes rbd enabled option in the Infrastructure parameters section and define the Kubernetes RBD parameters in the Product parameters section of the Model Designer UI.

  2. If you have already generated a deployment metadata model without the Ceph RBD storage parameters or to enable this feature on an existing Kubernetes cluster:

    1. Open your Reclass model Git project repository on the cluster level.

    2. In /kubernetes/control.yml, add the Ceph RBD cluster parameters. For example:

      parameters:
        ...
        kubernetes:
        common:
          addons:
            storageclass:
              rbd:
                enabled: True
                default: True
                provisioner: rbd
                name: rbd
                user_id: kubernetes
                user_key: AQAOoo5bGqtPExAABGSPtThpt5s+iq97KAE+WQ==
                monitors: cmn01:6789,cmn02:6789,cmn03:6789
                pool: kubernetes
                fstype: ext4
      
  3. Select from the following options:

    • On a new Kubernetes cluster, proceed to further cluster configuration. The external Ceph RBD storage will be enabled during the Kubernetes cluster deployment. For the deployment details, see: Deploy a Kubernetes cluster.

    • On an existing Kubernetes cluster:

      1. Log in to the Salt Master node.

      2. Update your Salt formulas and the system level of your repository:

        1. Change the directory to /srv/salt/reclass.

        2. Run the following commands:

          git pull origin master
          salt-call state.sls salt.master
          salt-call state.sls reclass
          
      3. Apply the following state:

        salt -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons