Observability
Starting with Container Storage Module 1.12, all deployments will use images from quay.io by default. New release images will be available on Docker Hub until CSM 1.14 (May 2025), and existing releases will remain on Docker Hub.
The Container Storage Modules (CSM) for Observability Helm chart bootstraps an Observability deployment on a Kubernetes cluster using the Helm package manager.
Prerequisites
- Helm 3.x
- The deployment of one or more supported Dell CSI drivers
Install the CSM for Observability Helm Chart
Steps
-
Create a namespace where you want to install the module
kubectl create namespace karavi
-
Install cert-manager CRDs
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.10.0/cert-manager.crds.yaml
-
Add the Dell Helm Charts repo
helm repo add dell https://dell.github.io/helm-charts
-
Copy only the deployed CSI driver entities to the Observability namespace
PowerScale
-
Copy the config Secret from the CSI PowerScale namespace into the Container Storage Module Observability namespace:
kubectl get secret isilon-creds -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver secret name is not the default
isilon-creds
, please use the following command to copy secret:kubectl get secret [ISILON-CREDS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [ISILON-CREDS]/name: isilon-creds/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If Container Storage Module for Authorization is enabled for CSI PowerScale, perform these steps:
-
Copy the driver configuration parameters ConfigMap from the CSI PowerScale namespace into the Container Storage Module Observability namespace:
kubectl get configmap isilon-config-params -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver configmap name is not the default
isilon-config-params
, please use the following command to copy configmap:kubectl get configmap [ISILON-CONFIG-PARAMS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [ISILON-CONFIG-PARAMS]/name: isilon-config-params/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
-
Copy the
karavi-authorization-config
,proxy-server-root-certificate
,proxy-authz-tokens
Secret from the CSI PowerScale namespace into the CSM for Observability namespace:kubectl get secret karavi-authorization-config proxy-server-root-certificate proxy-authz-tokens -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | sed 's/name: karavi-authorization-config/name: isilon-karavi-authorization-config/' | sed 's/name: proxy-server-root-certificate/name: isilon-proxy-server-root-certificate/' | sed 's/name: proxy-authz-tokens/name: isilon-proxy-authz-tokens/' | kubectl create -f -
-
-
Configure the parameters and install the CSM for Observability Helm Chart
A default values.yaml file is located here that can be used for installation. This can be copied into a file named
myvalues.yaml
and either used as is or modified accordingly.Note:
- The default
values.yaml
deploys the CSM for Observability Topology service.
- For CSI PowerFlex with Authorization, configure
karaviMetricsPowerflex.authorization
inmyvalues.yaml
.
- For CSI PowerScale with Authorization, configure
karaviMetricsPowerscale.authorization
inmyvalues.yaml
.
- For CSI PowerMax with Authorization, configure
karaviMetricsPowerMax.authorization
inmyvalues.yaml
helm install karavi-observability dell/karavi-observability -n [CSM_NAMESPACE] -f myvalues.yaml
Alternatively, you can specify each parameter using the ‘–set key=value[,key=value]’ and/or ‘–set-file key=value[,key=value] arguments to ‘helm install’. For example:
helm install karavi-observability dell/karavi-observability -n [CSM_NAMESPACE] \ --set-file karaviTopology.certificateFile=<location-of-karavi-topology-certificate-file> \ --set-file karaviTopology.privateKeyFile=<location-of-karavi-topology-private-key-file> \ --set-file otelCollector.certificateFile=<location-of-otel-collector-certificate-file> \ --set-file otelCollector.privateKeyFile=<location-of-otel-collector-private-key-file>
- The default
Configuration
The following table lists the configurable parameters of the Container Storage Module for Observability Helm chart and their default values.
Topology:
Parameter | Description | Default |
---|---|---|
karaviTopology.image |
Location of the csm-topology Container image | quay.io/dell/container-storage-modules/csm-topology:v1.10.0 |
karaviTopology.enabled |
Enable the CSM for Observability Topology service | true |
karaviTopology.provisionerNames |
Provisioner Names used to filter the Persistent Volumes created on the Kubernetes cluster (must be a comma-separated list) | csi-vxflexos.dellemc.com |
karaviTopology.service.type |
Kubernetes service type | ClusterIP |
karaviTopology.certificateFile |
Optional valid CA public certificate file that will be used to deploy the Topology service. Must use domain name ‘karavi-topology’. | |
karaviTopology.privateKeyFile |
Optional public certificate’s associated private key file that will be used to deploy the Topology service. Must use domain name ‘karavi-topology’. | |
karaviTopology.logLevel |
Output logs that are at or above the given log level severity (Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC) | INFO |
karaviTopology.logFormat |
Output logs in the specified format (Valid values: text, json) | text |
Otel:
Parameter | Description | Default |
---|---|---|
otelCollector.certificateFile |
Optional valid CA public certificate file that will be used to deploy the OpenTelemetry Collector. Must use domain name ‘otel-collector’. | |
otelCollector.privateKeyFile |
Optional public certificate’s associated private key file that will be used to deploy the OpenTelemetry Collector. Must use domain name ‘otel-collector’. | |
otelCollector.service.type |
Kubernetes service type | ClusterIP |
Metrics:
Parameter | Description | Default |
---|---|---|
karaviMetricsPowerflex.image |
CSM Metrics for PowerFlex Service image | quay.io/dell/container-storage-modules/csm-metrics-powerflex:v1.10.0 |
karaviMetricsPowerflex.enabled |
Enable CSM Metrics for PowerFlex service | true |
karaviMetricsPowerflex.collectorAddr |
Metrics Collector accessible from the Kubernetes cluster | otel-collector:55680 |
karaviMetricsPowerflex.provisionerNames |
Provisioner Names used to filter for determining PowerFlex SDC nodes( Must be a Comma-separated list) | csi-vxflexos.dellemc.com |
karaviMetricsPowerflex.sdcPollFrequencySeconds |
The polling frequency (in seconds) to gather SDC metrics | 10 |
karaviMetricsPowerflex.volumePollFrequencySeconds |
The polling frequency (in seconds) to gather volume metrics | 10 |
karaviMetricsPowerflex.storageClassPoolPollFrequencySeconds |
The polling frequency (in seconds) to gather storage class/pool metrics | 10 |
karaviMetricsPowerflex.concurrentPowerflexQueries |
The number of simultaneous metrics queries to make to Powerflex(MUST be less than 10; otherwise, several request errors from Powerflex will ensue. | 10 |
karaviMetricsPowerflex.authorization.enabled |
Authorization is an optional feature to apply credential shielding of the backend PowerFlex. | false |
karaviMetricsPowerflex.authorization.proxyHost |
Hostname of the csm-authorization server. | |
karaviMetricsPowerflex.authorization.skipCertificateValidation |
A boolean that enables/disables certificate validation of the csm-authorization server. | |
karaviMetricsPowerflex.sdcMetricsEnabled |
Enable PowerFlex SDC Metrics Collection | true |
karaviMetricsPowerflex.volumeMetricsEnabled |
Enable PowerFlex Volume Metrics Collection | true |
karaviMetricsPowerflex.storageClassPoolMetricsEnabled |
Enable PowerFlex Storage Class/Pool Metrics Collection | true |
karaviMetricsPowerflex.endpoint |
Endpoint for pod leader election | karavi-metrics-powerflex |
karaviMetricsPowerflex.service.type |
Kubernetes service type | ClusterIP |
karaviMetricsPowerflex.logLevel |
Output logs that are at or above the given log level severity (Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC) | INFO |
karaviMetricsPowerflex.logFormat |
Output logs in the specified format (Valid values: text, json) | text |
Metrics:
Parameter | Description | Default |
---|---|---|
karaviMetricsPowerstore.image |
CSM Metrics for PowerStore Service image | quay.io/dell/container-storage-modules/csm-metrics-powerstore:v1.10.0 |
karaviMetricsPowerstore.enabled |
Enable CSM Metrics for PowerStore service | true |
karaviMetricsPowerstore.collectorAddr |
Metrics Collector accessible from the Kubernetes cluster | otel-collector:55680 |
karaviMetricsPowerstore.provisionerNames |
Provisioner Names used to filter for determining PowerStore volumes (must be a Comma-separated list) | csi-powerstore.dellemc.com |
karaviMetricsPowerstore.volumePollFrequencySeconds |
The polling frequency (in seconds) to gather volume metrics | 10 |
karaviMetricsPowerstore.concurrentPowerstoreQueries |
The number of simultaneous metrics queries to make to PowerStore (must be less than 10; otherwise, several request errors from PowerStore will ensue.) | 10 |
karaviMetricsPowerstore.volumeMetricsEnabled |
Enable PowerStore Volume Metrics Collection | true |
karaviMetricsPowerstore.endpoint |
Endpoint for pod leader election | karavi-metrics-powerstore |
karaviMetricsPowerstore.service.type |
Kubernetes service type | ClusterIP |
karaviMetricsPowerstore.logLevel |
Output logs that are at or above the given log level severity (Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC) | INFO |
karaviMetricsPowerstore.logFormat |
Output logs in the specified format (Valid values: text, json) | text |
karaviMetricsPowerstore.zipkin.uri |
URI of a Zipkin instance where tracing data can be forwarded | |
karaviMetricsPowerstore.zipkin.serviceName |
Service name used for Zipkin tracing data | metrics-powerstore |
karaviMetricsPowerstore.zipkin.probability |
Percentage of trace information to send to Zipkin (Valid range: 0.0 to 1.0) | 0 |
Metrics:
Parameter | Description | Default |
---|---|---|
karaviMetricsPowerscale.image |
CSM Metrics for PowerScale Service image | quay.io/dell/container-storage-modules/csm-metrics-powerscale:v1.7.0 |
karaviMetricsPowerscale.enabled |
Enable CSM Metrics for PowerScale service | true |
karaviMetricsPowerscale.collectorAddr |
Metrics Collector accessible from the Kubernetes cluster | otel-collector:55680 |
karaviMetricsPowerscale.provisionerNames |
Provisioner Names used to filter for determining PowerScale volumes (must be a Comma-separated list) | csi-isilon.dellemc.com |
karaviMetricsPowerscale.capacityMetricsEnabled |
Enable PowerScale capacity metric Collection | true |
karaviMetricsPowerscale.performanceMetricsEnabled |
Enable PowerScale performance metric Collection | true |
karaviMetricsPowerscale.clusterCapacityPollFrequencySeconds |
The polling frequency (in seconds) to gather cluster capacity metrics | 30 |
karaviMetricsPowerscale.clusterPerformancePollFrequencySeconds |
The polling frequency (in seconds) to gather cluster performance metrics | 20 |
karaviMetricsPowerscale.quotaCapacityPollFrequencySeconds |
The polling frequency (in seconds) to gather volume capacity metrics | 30 |
karaviMetricsPowerscale.concurrentPowerscaleQueries |
The number of simultaneous metrics queries to make to PowerScale(MUST be less than 10; otherwise, several request errors from PowerScale will ensue.) | 10 |
karaviMetricsPowerscale.endpoint |
Endpoint for pod leader election | karavi-metrics-powerscale |
karaviMetricsPowerscale.service.type |
Kubernetes service type | ClusterIP |
karaviMetricsPowerscale.logLevel |
Output logs that are at or above the given log level severity (Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC) | INFO |
karaviMetricsPowerscale.logFormat |
Output logs in the specified format (Valid values: text, json) | text |
karaviMetricsPowerscale.isiClientOptions.isiSkipCertificateValidation |
Skip OneFS API server’s certificates | true |
karaviMetricsPowerscale.isiClientOptions.isiAuthType |
0 to enable session-based Authentication; 1 to enables basic Authentication | 1 |
karaviMetricsPowerscale.isiClientOptions.isiLogVerbose |
Decide High/Medium/Low content of the OneFS REST API message | 0 |
karaviMetricsPowerscale.authorization.enabled |
Authorization is an optional feature to apply credential shielding of the backend PowerScale. | false |
karaviMetricsPowerscale.authorization.proxyHost |
Hostname of the csm-authorization server. | |
karaviMetricsPowerscale.authorization.skipCertificateValidation |
A boolean that enables/disables certificate validation of the csm-authorization server. |
Metrics:
Parameter | Description | Default |
---|---|---|
karaviMetricsPowerMax.capacityMetricsEnabled |
Enable PowerMax capacity metric Collection | true |
karaviMetricsPowerMax.performanceMetricsEnabled |
Enable PowerMax performance metric Collection | true |
karaviMetricsPowerMax.capacityPollFrequencySeconds |
The polling frequency (in seconds) to gather capacity metrics | 20 |
karaviMetricsPowerMax.performancePollFrequencySeconds |
The polling frequency (in seconds) to gather performance metrics | 20 |
karaviMetricsPowerMax.concurrentPowerMaxQueries |
The number of simultaneous metrics queries to make to PowerMax (MUST be less than 10; otherwise, several request errors from PowerMax will ensue.) | 10 |
karaviMetricsPowerMax.authorization.enabled |
Authorization is an optional feature to apply credential shielding of the backend PowerMax. | false |
karaviMetricsPowerMax.authorization.proxyHost |
Hostname of the csm-authorization server. | |
karaviMetricsPowerMax.authorization.skipCertificateValidation |
A boolean that enables/disables certificate validation of the csm-authorization server. |
Starting with Container Storage Module 1.12, all deployments will use images from quay.io by default. New release images will be available on Docker Hub until CSM 1.14 (May 2025), and existing releases will remain on Docker Hub.
CSM for Observability Installer
The installer bootstraps Helm for a simplified and robust deployment by:
- Checking if Container Storage Modules for Observability is installed
- Verifying Kubernetes/OpenShift and Helm versions
- Adding and refreshing the Dell Helm chart repository
- Creating the CSM namespace and copying secrets
- Installing CertManager CRDs and the Container Storage Modules Helm chart
- Waiting for CSM pods to be ready
If Authorization is enabled for CSI drivers in the same Kubernetes cluster:
- Verifies the
karavictl
binary is available. - Verifies the appropriate Secrets and ConfigMap exist in the CSI driver namespace.
- Updates the CSM Observability deployment to use the existing Authorization instance if not already enabled.
Prerequisites
- Helm 3.x
- The deployment of one or more supported Dell CSI drivers
Online Installer
Follow the instructions below to install Container Storage Module Observability in an environment that has an Internet connection and is capable of downloading the required Helm chart and Docker images. The installer expects CSI drivers are using the default secret and configmap names.
Dependencies
A Linux-based system, with Internet access, will be used to execute the script to install Container Storage Modules Observability into a Kubernetes/Openshift environment that also has Internet access.
Dependency | Usage |
---|---|
kubectl |
kubectl will be used to verify the Kubernetes/OpenShift environment |
helm |
helm will be used to install the Container Storage Module Observability helm chart |
jq |
jq will be used to parse the CContainer Storage Module Authorization configuration file during installation |
Installer Usage
./karavi-observability-install.sh --help
Note: Container Storage Module for Authorization currently does not support the Observability module for PowerStore. Therefore setting enable-authorization
is not supported in this case.
Executing the Installer
To perform an online installation of Container Storage Module Observability, the following steps should be performed:
-
Clone the GitHub repository:
git clone https://github.com/dell/karavi-observability.git
-
Change to the installer directory:
cd karavi-observability/installer
-
Execute the installation script. The following example will install Container Storage Module Observability into the CSM namespace.
A sample values.yaml file is located here. This can be copied into a file named
myvalues.yaml
and modified accordingly for the installer command below. Configuration options are outlined in the Helm chart deployment section.Note:
values.yaml
deploys the CSM for Observability Topology service.
karaviMetricsPowerflex.authorization
in myvalues.yaml
.
karaviMetricsPowerscale.authorization
in myvalues.yaml
.
karaviMetricsPowerMax.authorization
in myvalues.yaml
```bash
./karavi-observability-install.sh install --namespace [CSM_NAMESPACE] --values myvalues.yaml
```
```
---------------------------------------------------------------------------------
> Installing Karavi Observability in namespace karavi on 1.27
---------------------------------------------------------------------------------
|
|- Karavi Observability is not installed Success
|
|- Karavi Authorization will be enabled during installation
|
|- Verifying Kubernetes versions
|
|--> Verifying minimum Kubernetes version Success
|
|--> Verifying maximum Kubernetes version Success
|
|- Verifying helm version Success
|
|- Configure helm chart repository
|
|--> Adding helm repository https://dell.github.io/helm-charts Success
|
|--> Updating helm repositories Success
|
|- Creating namespace karavi Success
|
|- CSI Driver for PowerFlex is installed Success
|
|- Copying Secret from vxflexos to karavi Success
|
|- CSI Driver for PowerStore is installed Success
|
|- Copying Secret from powerstore to karavi Success
|
|- CSI Driver for PowerScale is installed Success
|
|- Copying Secret from isilon to karavi Success
|
|- CSI Driver for PowerMax is installed Success
|
|- Copying ConfigMap from powermax to karavi Success
|
|- Copying Secret from powermax to karavi Success
|
|- Installing CertManager CRDs Success
|
|- Enabling Karavi Authorization for Karavi Observability
|
|--> Copying ConfigMap from vxflexos to karavi Success
|
|--> Copying Karavi Authorization Secrets from vxflexos to karavi Success
|
|--> Copying ConfigMap from isilon to karavi Success
|
|--> Copying Karavi Authorization Secrets from isilon to karavi Success
|
|--> Copying ConfigMap from powermax to karavi Success
|
|--> Copying Karavi Authorization Secrets from powermax to karavi Success
|
|- Installing Karavi Observability helm chart Success
|
|- Waiting for pods in namespace karavi to be ready Success
```
Starting with Container Storage Module 1.12, all deployments will use images from quay.io by default. New release images will be available on Docker Hub until CSM 1.14 (May 2025), and existing releases will remain on Docker Hub.
The following instructions can be followed when a Helm chart will be installed in an environment that does not have an Internet connection and will be unable to download the Helm chart and related Docker images.
Prerequisites
- Helm 3.x
- The deployment of one or more Dell CSI drivers
Dependencies
Multiple Linux-based systems may be required to create and process an offline bundle for use.
- One Linux-based system, with Internet access, will be used to create the bundle. This involves the user invoking a script that utilizes
docker
to pull and save container images to file. - One Linux-based system, with access to an image registry, to invoke a script that uses
docker
to restore container images from file and push them to a registry
If one Linux system has both Internet access and access to an internal registry, that system can be used for both steps.
Preparing an offline bundle requires the following utilities:
Dependency | Usage |
---|---|
docker |
docker will be used to pull images from public image registries, tag them, and push them to a private registry.Required on both the system building the offline bundle as well as the system preparing for installation. Tested version is docker 18.09+ |
Executing the Installer
To perform an offline installation of a Helm chart, the following steps should be performed:
- Build an offline bundle.
- Unpack the offline bundle and prepare for installation.
- Perform a Helm installation.
Build the Offline Bundle
-
Copy the
offline-installer.sh
script to a local Linux system usingcurl
orwget
:curl https://raw.githubusercontent.com/dell/karavi-observability/main/installer/offline-installer.sh --output offline-installer.sh
or
wget -O offline-installer.sh https://raw.githubusercontent.com/dell/karavi-observability/main/installer/offline-installer.sh
-
Set the file as executable.
chmod +x offline-installer.sh
-
Build the bundle by providing the Helm chart name as the argument. Below is a sample output that may be different on your machine.
./offline-installer.sh -c dell/karavi-observability
* * Adding Helm repository https://dell.github.io/helm-charts
-
Downloading Helm chart dell/karavi-observability to directory /home/user/offline-karavi-observability-bundle/helm-original
-
Downloading and saving Docker images
quay.io/dell/container-storage-modules/csm-topology:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerflex:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerstore:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerscale:v1.8.0 quay.io/dell/container-storage-modules/csm-metrics-powermax:v1.6.0 otel/opentelemetry-collector:0.42.0 nginxinc/nginx-unprivileged:1.27
-
Compressing offline-karavi-observability-bundle.tar.gz
-
Unpack the Offline Bundle
-
Copy the bundle file to another Linux system that has access to the internal Docker registry and that can install the Helm chart. From that Linux system, unpack the bundle.
tar -xzf offline-karavi-observability-bundle.tar.gz
-
Change directory into the new directory created from unpacking the bundle:
cd offline-karavi-observability-bundle
-
Prepare the bundle by providing the internal Docker registry URL. Below is a sample output that may be different on your machine.
./offline-installer.sh -p <my-registry>:5000
* * Loading, tagging, and pushing Docker images to registry <my-registry>:5000/ quay.io/dell/container-storage-modules/csm-topology:v1.11.0 -> <my-registry>:5000/csm-topology:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerflex:v1.11.0 -> <my-registry>:5000/csm-metrics-powerflex:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerstore:v1.11.0 -> <my-registry>:5000/csm-metrics-powerstore:v1.11.0 quay.io/dell/container-storage-modules/csm-metrics-powerscale:v1.8.0 -> <my-registry>:5000/csm-metrics-powerscale:v1.8.0 quay.io/dell/container-storage-modules/csm-metrics-powermax:v1.6.0 -> <my-registry>:5000/csm-metrics-powermax:v1.6.0 otel/opentelemetry-collector:0.42.0 -> <my-registry>:5000/opentelemetry-collector:0.42.0 nginxinc/nginx-unprivileged:1.27 -> <my-registry>:5000/nginx-unprivileged:1.27
Perform Helm installation
-
Change directory to
helm
which contains the updated Helm chart directory:cd helm
-
Install necessary cert-manager CustomResourceDefinitions provided:
kubectl apply --validate=false -f cert-manager.crds.yaml
-
Copy the CSI Driver Secret(s)
Copy the CSI Driver Secret from the namespace where CSI Driver is installed to the namespace where CSM for Observability is to be installed.
CSI Driver for PowerFlex:
kubectl get secret vxflexos-config -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver secret name is not the default vxflexos-config
, please use the following command to copy secret:
kubectl get secret [VXFLEXOS-CONFIG] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [VXFLEXOS-CONFIG]/name: vxflexos-config/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If CSM for Authorization is enabled for CSI PowerFlex, perform these steps:
kubectl get configmap vxflexos-config-params -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver configmap name is not the default vxflexos-config-params
, please use the following command to copy configmap:
kubectl get configmap [VXFLEXOS-CONFIG-PARAMS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [VXFLEXOS-CONFIG-PARAMS]/name: vxflexos-config-params/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
kubectl get secret karavi-authorization-config proxy-server-root-certificate proxy-authz-tokens -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
CSI Driver for PowerStore:
kubectl get secret powerstore-config -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver secret name is not the default powerstore-config
, please use the following command to copy secret:
kubectl get secret [POWERSTORE-CONFIG] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [POWERSTORE-CONFIG]/name: powerstore-config/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
CSI Driver for PowerScale:
kubectl get secret isilon-creds -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver secret name is not the default isilon-creds
, please use the following command to copy secret:
kubectl get secret [ISILON-CREDS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [ISILON-CREDS]/name: isilon-creds/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If CSM for Authorization is enabled for CSI PowerScale, perform these steps:
kubectl get configmap isilon-config-params -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver configmap name is not the default isilon-config-params
, please use the following command to copy configmap:
kubectl get configmap [ISILON-CONFIG-PARAMS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [ISILON-CONFIG-PARAMS]/name: isilon-config-params/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
kubectl get secret karavi-authorization-config proxy-server-root-certificate proxy-authz-tokens -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | sed 's/name: karavi-authorization-config/name: isilon-karavi-authorization-config/' | sed 's/name: proxy-server-root-certificate/name: isilon-proxy-server-root-certificate/' | sed 's/name: proxy-authz-tokens/name: isilon-proxy-authz-tokens/' | kubectl create -f -
CSI Driver for PowerMax:
Copy the configmap from the CSI Driver for Dell PowerMax namespace to the CSM namespace.
kubectl get configmap powermax-reverseproxy-config -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver configmap name is not the default powermax-reverseproxy-config
, please use the following command to copy configmap:
kubectl get configmap [POWERMAX-REVERSEPROXY-CONFIG] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [POWERMAX-REVERSEPROXY-CONFIG]/name: powermax-reverseproxy-config/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
Copy the secrets from the CSI Driver for Dell PowerMax namespace to the CSM namespace.
for secret in $(kubectl get configmap powermax-reverseproxy-config -n [CSI_DRIVER_NAMESPACE] -o jsonpath="{.data.config\.yaml}" | grep arrayCredentialSecret | awk 'BEGIN{FS=":"}{print $2}' | uniq)
do
kubectl get secret $secret -n [CSI_DRIVER_NAMESPACE] -o yaml | sed "s/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/" | kubectl create -f -
done
If the CSI driver configmap name is not the default powermax-reverseproxy-config
, please use the following command to copy secrets:
for secret in $(kubectl get configmap [POWERMAX-REVERSEPROXY-CONFIG] -n [CSI_DRIVER_NAMESPACE] -o jsonpath="{.data.config\.yaml}" | grep arrayCredentialSecret | awk 'BEGIN{FS=":"}{print $2}' | uniq)
do
kubectl get secret $secret -n [CSI_DRIVER_NAMESPACE] -o yaml | sed "s/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/" | kubectl create -f -
done
If CSM for Authorization is enabled for CSI PowerMax, perform these steps:
kubectl get configmap powermax-config-params -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
If the CSI driver configmap name is not the default powermax-config-params
, use the following command to copy the configmap:
kubectl get configmap [POWERMAX-CONFIG-PARAMS] -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/name: [POWERMAX-CONFIG-PARAMS]/name: powermax-config-params/' | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | kubectl create -f -
kubectl get secret karavi-authorization-config proxy-server-root-certificate proxy-authz-tokens -n [CSI_DRIVER_NAMESPACE] -o yaml | sed 's/namespace: [CSI_DRIVER_NAMESPACE]/namespace: [CSM_NAMESPACE]/' | sed 's/name: karavi-authorization-config/name: powermax-karavi-authorization-config/' | sed 's/name: proxy-server-root-certificate/name: powermax-proxy-server-root-certificate/' | sed 's/name: proxy-authz-tokens/name: powermax-proxy-authz-tokens/' | kubectl create -f -
-
After the images have been made available and the Helm chart configuration is updated, follow the instructions within the Helm chart’s repository to complete the installation.
Note:
- Optionally, you could provide your own configurations. A sample values.yaml file is located here.
- The default
values.yaml
is configured to deploy the CSM for Observability Topology service on install.
- If CSM for Authorization is enabled for CSI PowerFlex, the
karaviMetricsPowerflex.authorization
parameters must be properly configured.
- If CSM for Authorization is enabled for CSI PowerScale, the
karaviMetricsPowerscale.authorization
parameters must be properly configured.
- If CSM for Authorization is enabled for CSI PowerMax, the
karaviMetricsPowerMax.authorization
parameters must be properly configured.
- The default
helm install -n install-namespace app-name karavi-observability NAME: app-name LAST DEPLOYED: Fri Nov 6 08:48:13 2020 NAMESPACE: install-namespace STATUS: deployed REVISION: 1 TEST SUITE: None
- Optionally, you could provide your own configurations. A sample values.yaml file is located here.