Creating a ConfigMap

Scenario

A ConfigMap is a type of resource that stores configuration information required by a workload. Its content is user-defined. After creating ConfigMaps, you can use them as files or environment variables in a containerized workload.

ConfigMaps allow you to decouple configuration files from container images to enhance the portability of workloads.

Benefits of ConfigMaps:

  • Manage configurations of different environments and services.

  • Deploy workloads in different environments. Multiple versions are supported for configuration files so that you can update and roll back workloads easily.

  • Quickly import configurations in the form of files to containers.

Constraints

  • The size of a ConfigMap resource file cannot exceed 1 MB.

  • ConfigMaps cannot be used in static pods.

Procedure

  1. Log in to the CCE console and click the cluster name to access the cluster console.

  2. Choose ConfigMaps and Secrets in the navigation pane and click Create ConfigMap in the upper right corner.

  3. Configure parameters.

    Table 1 Parameters for creating a ConfigMap

    Parameter

    Description

    Name

    Name of the ConfigMap you create, which must be unique in a namespace.

    Namespace

    Namespace to which the ConfigMap belongs. If you do not specify this parameter, the value default is used by default.

    Description

    Description of the ConfigMap.

    Data

    Data of a ConfigMap, in the key-value pair format.

    Click image1 to add data. The value can be in string, JSON, or YAML format.

    Label

    Label of the ConfigMap. Enter a key-value pair and click Add.

  4. Click OK.

    The new ConfigMap is displayed in the ConfigMap list.

Creating a ConfigMap Using kubectl

  1. Use kubectl to connect to the cluster. For details, see Connecting to a Cluster Using kubectl.

  2. Create a file named cce-configmap.yaml and edit it.

    vi cce-configmap.yaml

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: cce-configmap
    data:
      SPECIAL_LEVEL: Hello
      SPECIAL_TYPE: CCE
    
    Table 2 Key parameters

    Parameter

    Description

    apiVersion

    The value is fixed at v1.

    kind

    The value is fixed at ConfigMap.

    metadata.name

    ConfigMap name, which can be customized.

    data

    ConfigMap data. The value must be key-value pairs.

  3. Run the following commands to create a ConfigMap.

    kubectl create -f cce-configmap.yaml

    Run the following commands to view the created ConfigMap:

    kubectl get cm

    NAME               DATA            AGE
    cce-configmap      3               7m