CSI: How to use a Private Repository for PowerFlex Storage Data Client container running on Red Hat Core operating system nodes
Summary: How to use a Private Repository for PowerFlex Storage Data Client (SDC) container running on Red Hat Core operating system (RHCOS) nodes that OpenShift manages.
Instructions
More steps to enable private repository usage when using the SDC documentation: https://hub.docker.com/r/dellemc/sdc
To enable the use a private repository rather than the default (ftp.emc.com), you must do the following:
-
Create a secret, sdc-repo-secret.yaml to contain the credentials for the private repo.
To generate the base64 encoding of a credential, replace <credential> the username and then the password:
echo -n <credential>| base64 -i
Secret "yaml" sample to use:
apiVersion: v1 kind: Secret metadata: name: sdc-repo-creds namespace: vxflexos type: Opaque data: # set username to the base64 encoded username, sdc default is username: <username in base64> # set password to the base64 encoded password, sdc default is password: <password in base64>
After the helm/sdc-repo-secret.yaml is updated, create the secret:
kubectl create -f sdc-repo-secret.yaml
-
Edit helm/csi-vxflexos/templates/node.yaml to use your secret created in step 1.
Under the initContainers.env and sdc-monitor.env sections, add:
- name: REPO_ADDRESS value: <url to private repo> - name: REPO_USER valueFrom: secretKeyRef: name: sdc-repo-creds key: username - name: REPO_PASSWORD valueFrom: secretKeyRef: name: sdc-repo-creds key: password
Under initContainers.volumeMounts, add the following:
- name: sdc-config mountPath: /config
Under containers.volumes add:
- name: sdc-config hostPath: Path: /var/sio-config type: DirectoryOrCreate
-
On the worker nodes, create the directory: "/var/sio-config" and inside, place all config files that the SDC service requires to access your private repo using sftp. For example, place the user_private_rsa_key file inside. See the SDC Container Document link.
-
Continue the driver installation.