Configuring Replication Plug-in for Containers

Replication Plug-in for Containers Installation and User Guide

Version
3.18.x
Audience
anonymous
Part Number
MK-92ADPTR155-10
ft:lastEdition
2026-07-07

This procedure uses a dedicated management machine that can access both the primary and secondary Kubernetes clusters.

  1. Get the kubeconfig file from both the primary and secondary sites.
  2. Specify the paths to the files for the environment variables.
    1. Specify the kubeconfig file paths to the primary and secondary sites.
      # KUBECONFIG_P=/<directory-containing-the-file>/primary-kubeconfig
      # KUBECONFIG_S=/<directory-containing-the-file>/secondary-kubeconfig
    2. Specify the Secret file paths to the primary and secondary sites. These files are supposed to be created in later steps.
      # SECRET_KUBECONFIG_P=/<directory-containing-the-file>/primary-kubeconfig-secret.yaml
      # SECRET_KUBECONFIG_S=/<directory-containing-the-file>/secondary-kubeconfig-secret.yaml
  3. Clone https://github.com/hitachi-vantara/csi-operator-hitachi, and then obtain the YAML file from the target version of Replication Plug-in for Containers.

    The YAML file is stored in csi-operator-hitachi/hrpc/<HRPC-version>/yaml.

    # git clone https://github.com/hitachi-vantara/csi-operator-hitachi
    # cd csi-operator-hitachi/hrpc/<HRPC-version>/yaml
  4. Create a Secret manifest file with the secondary kubeconfig information to access the secondary Kubernetes cluster from Replication Plug-in for Containers running in the primary Kubernetes cluster. For reference, see the remote-kubeconfig-sample.yaml file.
    1. Obtain the kubeconfig file by encoding it in Base64.
      # cat ${KUBECONFIG_S} | base64 -w 0
    2. Edit the Secret manifest file.
      # vi ${SECRET_KUBECONFIG_S}
      apiVersion: v1
      kind: Secret
      metadata:
        name: hspc-replication-operator-remote-kubeconfig
        namespace: hspc-replication-operator-system
      type: Opaque
      data:
        remote-kubeconfig: <base64-encoded-secondary-kubeconfig>
  5. Create a Secret manifest file the with the primary kubeconfig information to access the primary Kubernetes cluster from Replication Plug-in for Containers running in the secondary Kubernetes cluster. For reference, see the remote-kubeconfig-sample.yaml file.
    1. Obtain the kubeconfig file by encoding it in Base64.
      # cat ${KUBECONFIG_P} | base64 -w 0
    2. Edit the Secret manifest file.
      # vi ${SECRET_KUBECONFIG_P}
      apiVersion: v1
      kind: Secret
      metadata:
        name: hspc-replication-operator-remote-kubeconfig
        namespace: hspc-replication-operator-system
      type: Opaque
      data:
        remote-kubeconfig: <base64-encoded-primary-kubeconfig>
  6. Modify the storage-secrets-sample.yaml file to specify the storage system information.
    # vi storage-secrets-sample.yaml
    apiVersion: v1
    kind: Secret
    metadata:
      name: hspc-replication-operator-storage-secrets
      namespace: hspc-replication-operator-system
    type: Opaque
    stringData:
      storage-secrets.yaml: |-
        storages:
        - serial: 54321                  # (1)
          url: https://172.16.1.1        # (2)
          user: UserPrimary              # (3)
          password: PasswordPrimary      # (4)
          journal: 1                     # (5)
        - serial: 400100                 # (6)
          url: https://172.16.1.2        # (7)
          user: UserSecondary            # (8)
          password: PasswordSecondary    # (9)
          journal: 2                     # (10)
    This file includes information on the storage system that is used by the primary and secondary sites.

    Legend:

    • (1) and (6) Storage system serial number for primary and secondary site.
    • (2) and (7) Storage URL.

      Use the IP address of the SVP for the VSP 5000 series storage systems.

      Use the IP address of the storage controller for the VSP E series, VSP F350, F370, F700, F900, and VSP G350, G370, G700, G900 storage systems.

      Use the service IP address for the VSP One B20 series storage systems.

    • (3) and (8) Username for the primary and secondary storage systems. The user must belong to the built-in storage administrator (View & Modify) user group (the same as Storage Plug-in for Containers).
    • (4) and (9) Password for the username.
    • (5) and (10) Journal ID for Universal Replicator.
  7. Create namespaces in the primary and secondary sites. Use the same manifest file in primary and secondary sites.
    # KUBECONFIG=${KUBECONFIG_P} kubectl create -f hspc-replication-operator-namespace.yaml
    # KUBECONFIG=${KUBECONFIG_S} kubectl create -f hspc-replication-operator-namespace.yaml
  8. Create Secrets containing kubeconfig information in primary and secondary sites. Use the different manifest files in primary and secondary sites.
    # KUBECONFIG=${KUBECONFIG_P} kubectl create -f ${SECRET_KUBECONFIG_S}
    # KUBECONFIG=${KUBECONFIG_S} kubectl create -f ${SECRET_KUBECONFIG_P}
  9. Create Secrets containing storage system information in primary and secondary sites. Use the same manifest file in primary and secondary sites.
    # KUBECONFIG=${KUBECONFIG_P} kubectl create -f storage-secrets-sample.yaml
    # KUBECONFIG=${KUBECONFIG_S} kubectl create -f storage-secrets-sample.yaml
  10. Create Replication Plug-in for Containers in primary and secondary sites. Use the same manifest file for both the primary and secondary sites.
    # KUBECONFIG=${KUBECONFIG_P} kubectl create -f hspc-replication-operator.yaml
    # KUBECONFIG=${KUBECONFIG_S} kubectl create -f hspc-replication-operator.yaml
    Note: If you find any misconfigurations in Secrets, delete the replication controller first, and then modify Secrets. The replication controller reads Secrets when it starts.
  11. Confirm that Replication Plug-in for Containers are running in both the primary and secondary sites.
    # KUBECONFIG=${KUBECONFIG_P} kubectl get pods -n hspc-replication-operator-system
    # KUBECONFIG=${KUBECONFIG_S} kubectl get pods -n hspc-replication-operator-system