Updated on 2024-07-04 GMT+08:00

ConfigMaps

ConfigMaps are Kubernetes objects that you can use to store the configurations required by applications. After you create a ConfigMap, you can use it as a file in a containerized application.

Creating ConfigMaps

  1. Log in to the CCI console. In the navigation pane on the left, choose Configuration Center > ConfigMaps. On the page displayed, select a namespace and click Create ConfigMap.

    You can also use the YAML file to create a ConfigMap. Click Create from YAML in the upper right corner of the CCI console, enter the YAML definition for the ConfigMap, and click OK. For details about the YAML definition, see YAML format.

  2. Select a creation mode. CCI allows you to create a ConfigMap by manually specifying parameters or uploading a file.

    • Method 1: manually specifying parameters. Configure parameters based on the description in Table 1. Parameters marked with an asterisk (*) are mandatory.
      Table 1 Parameter description

      Parameter

      Description

      Basic information

      * Name

      Name of the ConfigMap.

      Enter 1 to 253 characters starting and ending with a letter or digit. Only lowercase letters, digits, hyphens (-), and periods (.) are allowed. Do not enter two consecutive periods or a period adjacent to a hyphen.

      Description

      Description of the ConfigMap.

      Data

      Configuration data to be stored in the ConfigMap. Key indicates the file name and Value indicates the file content.

      1. Click Add Data.
      2. Enter a key and a value.

      Label

      Labels are attached to various objects (such as workloads and services) in the form of key-value pairs.

      Labels define the identifiable properties of these objects and are used to manage and select them.

      1. Click Add Label.
      2. Enter a key and a value.
    • Method 2: uploading a file.

      Ensure that the file is in JSON or YAML format and the file size is less than 1 MB. For details, see ConfigMap File Format.

      Click Add File, select an existing ConfigMap resource file, and click Open.

  3. Click Create.

Using ConfigMaps

After you create a ConfigMap, mount it to the specified directory of a container during workload creation. For example, mount ConfigMap cci-configmap01 to the /tmp/configmap1 directory.

Figure 1 Using a ConfigMap

After you create the workload, a ConfigMap file will be created under /tmp/configmap1. The key of the ConfigMap indicates the file name, and the value indicates the file content.

ConfigMap File Format

A ConfigMap resource file must be in JSON or YAML format, and the file size cannot exceed 1 MB.

  • JSON format

    An example of the configmap.json file is as follows:

    {
      "kind": "ConfigMap",
      "apiVersion": "v1",
      "metadata": {
        "name": "nginxconf",
        "namespace": "cci-namespace-demo"
      },
      "data": {
        "nginx.conf": "server {\n    listen       80;\n    server_name  localhost;\n\n    location / {\n        root   html;\n        index  index.html index.htm;\n    }\n}"
      }
    }
  • YAML format
    An example of the configmap.yaml file is as follows:
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: nginxconf
      namespace: cci-namespace-demo
    data:
      nginx.conf: |-
        server {
            listen       80;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
        }

Creating a ConfigMap Using kubectl

For details, see ConfigMap.