You can use Storage Operator to deploy and upgrade the storage components provided by Container Service for Kubernetes (ACK). You can use ConfigMaps to modify the configurations of storage components. This topic describes how to configure and deploy Storage Operator in ACK clusters.
Introduction
- Default configurations: Storage Operator provides the default configurations of storage components. The default configurations vary based on the version of Storage Operator.
- Custom configurations: ConfigMaps can be used to define custom configurations of storage components, such as version information, and whether to install the component.

- Each image of Storage Operator contains the default configuration file.
- When Storage Operator runs as a Deployment, the Deployment reads configurations from a ConfigMap file that is mounted on the Deployment and contains configurations of storage components.
- Storage Operator determines whether to deploy and upgrade a storage component by combining the default and custom configurations.
Step 1: Configure the components
Method 1: Use the default configurations provided by the image
ACK supports the following storage components: storage-snapshot-manager, storage-analyzer, storage-auto-expander, and storage-monitor.
Storage Operator provides the default configurations of storage components. The default configurations vary based on the version of Storage Operator. In this example, V1.18.8.0 is used.
{
"storage-snapshot-manager": {
"install": "true",
"imageTag": "v1.18.8.0-81508da-aliyun",
"imageRep": "acs/storage-snapshot-manager",
"template": "/acs/templates/storage-snapshot-manager/install.yaml"
},
"storage-analzyer": {
"install": "false",
"imageTag": "v1.18.8.0-06c5560-aliyun",
"imageRep": "acs/storage-analyzer",
"template": "/acs/templates/storage-analyzer/install.yaml"
},
"storage-auto-expander": {
"install": "false",
"imageTag": "v1.18.8.0-4852fd4-aliyun",
"imageRep": "acs/storage-auto-expander",
"crdTmpl": "/acs/templates/storage-auto-expander/crd.yaml",
"template": "/acs/templates/storage-auto-expander/install.yaml"
},
"storage-monitor": {
"install": "true",
"imageTag": "v1.18.8.0-c4744b6-aliyun",
"imageRep": "acs/storage-monitor",
"template": "/acs/templates/storage-monitor/install.yaml",
"svcTmpl": "/acs/templates/storage-monitor/service.yaml"
}
}
The following table describes the parameters in the default configurations.
Parameter | Description |
---|---|
install | Specifies whether to deploy the component. Default value: false .
|
imageTag | Specifies the default image version if the component is to be deployed. |
imageRep | Specifies the default image name if the component is to be deployed. |
crdTmpl | Specifies the template path of the Custom Resource Definition (CRD) that you want to deploy. If this parameter is empty, it indicates that no CRD is to be deployed. |
svcTmpl | Specifies the template path of the Service that you want to deploy. |
template | Specifies the template path of the component that you want to deploy. |
Method 2: Use a ConfigMap to customize the configurations
In this example, the following ConfigMap template is provided:
kind: ConfigMap
apiVersion: v1
metadata:
name: storage-operator
namespace: kube-system
data:
storage-snapshot-manager: |
# deploy config
install: false
imageTag: v1.16.aaaa
imageRep: acs/storage-snapshot-manager
template: /acs/templates/storage-snapshot-manager/install.yaml
# env config
SNAPSHOT_INTERVAL: 30
storage-analyzer: |
# deploy config
install: false
imageTag: v1.16.bbbb
imageRep: acs/storage-analyzer
template: /acs/templates/storage-analyzer/install.yaml
# env config
LOOP_INTERVAL: 30
storage-auto-expander: |
# deploy config
install: false
imageTag: v1.16.3adsadfs
imageRep: acs/storage-auto-expander
crdTmpl: /acs/templates/storage-auto-expander/crd.yaml
template: /acs/templates/storage-auto-expander/install.yaml
# env config
POLLING_INTERVAL_SECONDS: 60
Take note of the following items when you use custom configurations:
- The configurations of each component consist of two parts:
- Deployment configurations, which are defined by the parameters in the deploy config section in the preceding example. The parameters specify whether to install the component and the component version that is deployed. Storage Operator deploys and upgrades components based on these configurations.
- Environment configurations, which are defined by the parameters in the env config
section in the preceding example. The parameters are used by the storage component.
For example,
SNAPSHOT_INTERVAL
is configured as an environment variable for the storage-snapshot-manager component.
- The parameter values that are specified in the custom configurations overwrite the parameter values in the default configurations.
- The parameters used in deployment configurations are reserved parameters and cannot be used as environment variables.
- You can customize specific parameters based on the features of the component.