PersistentVolumeClaim (PVC) requirements

You can use Kubernetes to manage several types of storage that are used by containers. For BMC Helix, cluster nodes must have access to block storage that is made available to Kubernetes as a PersistentVolume (PV). Claims of reserved memory are then allocated to containers as a PersistentVolumeClaim (PVC).

You can configure PersistentVolume and PersistentVolumeClaim in several access modes. The access mode dictates how many nodes or pods can mount and interact with the volume. The following access modes are available:

  • ReadWriteOnce: The volume can be mounted as read-write only by a single node. Multiple pods can use this volume if they are running on the node.
  • ReadWriteOncePod: The volume can be mounted as read-write by more than one node. Only a single Pod can make use of the volume or claim.
  • ReadOnlyMany: The volume can be mounted as read-only by more than one node; for example, NFS.
  • ReadWriteMany: The volume can be mounted as read-write by more than one node; for example, NFS.

BMC Helix makes use of the ReadWriteOnce and ReadWriteMany access modes.


PVC requirements for BMC Helix Platform

ServiceStorage Read Write typeStorage (PVC)
Elastic - eventsReadWriteOnceBlock storage
Kafka/Zookeeper
Postgres
MinIO
Redis
VictoriaMetrics
VictoriaMetrics Aggregator
AIOps (ML Model)

Example: Installing VMWare Tanzu

If you are using VMWare Tanzu to manage your Kubernetes cluster, note the following points:

  • The VMWare NFS storage class provider does not support the ReadWriteMany mode. Refer to the following link to know about the NFS storage class provider you can use instead of the out-of-the-box provider:
    https://core.vmware.com/blog/using-readwritemany-volumes-tkg-clusters Open link
  • The default PVC has root only permissions. Ensure that you are mapping with a user who can read or write to the default PVC share, or enable no_root_squash option. For information about this, see  https://serverfault.com/questions/1089557/what-does-the-no-all-squash-option-do-in-nfs-exports Open link .

    [root@control1 nfs-tanzu-rwm-support]# more helm-add-nfs.sh 
    helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner
    helm repo update
    kubectl create namespace infra
    helm install nfs-subdir-external-provisioner --namespace infra nfs-subdir-external-provisioner/nfs-subdir-external-prov
    isioner -f /root/_ade/nfs-tanzu-rwm-support/values.yaml
    [root@control1 nfs-tanzu-rwm-support]#

    For more information, see  https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner Open link .

  • Set the cluster role permission. To do this, use the following command:

    #echo "Setting cluster role permissions"
    #kubectl create clusterrolebinding psp-clusterrolebinding --group=system:authenticated --clusterrole=psp:vmware-system-privileged

    For more information, see  https://docs.vmware.com/en/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-CD033D1D-BAD2-41C4-A46F-647A560BAEAB.html Open link .

  • Import the certificates for your Harbor repository server. To do this, use the following command:

    # Load Certs for harbor
    kubectl apply -f $datapath/tkg-certs-for-harbor.yaml
    # cat tkg-certs-for-harbor.yaml 
    apiVersion: run.tanzu.vmware.com/v1alpha1
    kind: TkgServiceConfiguration
    metadata:
      name: tkg-service-configuration
    spec:
      defaultCNI: antrea
      trust:
        additionalTrustedCAs:
          - name: my-harbor-server.example.com
            data: LS0tLS1CR…..tCg==
          - name: my-ca
            data: LS0tLS1CR…..tCg==
          - name: bmc-issuing-ca-phx
            data: LS0tLS1CR…..tCg==
          - name: myharborserver.example.com
            data: LS0tLS1CR…..tCg==
          - name: intermediate cert
            data: LS0tLS1CR…..tCg==
          - name: my ca 2
            data: LS0tLS1CR…..tCg==
    
    


    For more information, see  https://tanzu.vmware.com/content/blog/how-to-set-up-harbor-registry-self-signed-certificates-tanzu-kubernetes-clusters Open link .


PVC requirements for BMC Helix Operations Management

The following PVC requirements for BMC Helix Operations Management are in addition to the requirements stated for BMC Helix Platform.

ServiceStorage Read Write type
BMC SMART Graph ControllerReadWriteMany
BMC Knowledge Module Repository


PVC requirements for BMC Helix Continuous Optimization

The following PVC requirements for BMC Helix Continuous Optimization are in addition to the requirements stated for BMC Helix Platform.

ServiceStorage Read Write type
Optimize - RepositoryReadWriteMany
Optimize - ETL Repository
Optimize - Migrator Repository

Was this page helpful? Yes No Submitting... Thank you

Comments