使用kubectl-sae工具管理配置项ConfigMap

SAE的配置项对应于Kubernetes的ConfigMap资源类型。本文介绍如何使用kubectl-sae工具管理ConfigMap,并提供相关的K8s YAML配置文件示例。

前提条件

已安装kubectl-sae工具,并配置AccessKey ID、AccessKey Secret、应用部署地域,详见安装与配置kubectl-sae工具

管理ConfigMap

kubectl-sae工具支持创建、查看、更新、删除ConfigMap。

创建ConfigMap

  1. 编写配置文件cm.yaml。配置文件的示例如下,各配置项的详细信息请参考K8s YAML配置项说明

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: test-cm
      namespace: default
    data: 
      product: "sae"
  2. cm.yaml文件所在路径执行以下命令,实现为应用创建ConfigMap。

    kubectl-sae apply -f cm.yaml

查看ConfigMap列表

kubectl-sae get cm ${configmap-name} -n ${namespace}
# ${configmap-name}为ConfigMap的名称,如果不指定ConfigMap的名称,则获取范围内所有ConfigMap。
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间。

输出结果的字段说明如下:

字段

说明

NAMESPACE

ConfigMap所在的命名空间。

NAME

ConfigMap的名称。

DATA

ConfigMap中数据条目数。

AGE

ConfigMap的存在时长。

查看ConfigMap详情

kubectl-sae工具支持使用getdescribe命令查看ConfigMap详情。返回结果中包含ConfigMap的配置项,详情请参考K8s YAML配置项说明

通过get命令查看ConfigMap配置信息

kubectl-sae get cm ${configmap-name} -o {yaml | json} -n ${namespace}
# ${configmap-name}为ConfigMap名称
# -o参数指定返回结果的格式
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间

通过describe命令查看ConfigMap详情

kubectl-sae describe cm ${configmap-name} -n ${namespace}
# ${configmap-name}为ConfigMap名称
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间

更新ConfigMap

kubectl-sae工具支持使用editapply命令更新ConfigMap。

通过edit命令在线编辑ConfigMap配置信息

  1. 执行以下命令,将会以YAML文件的形式打开指定ConfigMap的配置信息。

    kubectl-sae edit cm ${configmap-name} -n ${namespace}
    # ${configmap-name}为ConfigMap名称
    # ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间
  2. 在打开的YAML文件中按需修改配置信息,保存并关闭文件,等待配置信息变更完成。

通过apply命令实现按照YAML配置文件更新ConfigMap

修改已有的ConfigMap的配置文件cm.yaml。在配置文件所在路径执行以下命令,实现ConfigMap配置信息的变更。

kubectl-sae apply -f cm.yaml

删除ConfigMap

kubectl-sae delete cm ${configmap-name} -n ${namespace}
# ${configmap-name}为ConfigMap名称
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间

K8s YAML配置项说明

SAE的配置项对应于Kubernetes的ConfigMap资源类型。相关K8s YAML配置项说明详见下表。

配置项

说明

metadata.name

ConfigMap名称。

更新时不支持此配置项。

metadata.creationTimestamp

ConfigMap创建时间。

更新时不支持此配置项。

metadata.namespace

ConfigMap所在的命名空间。

更新时不支持此配置项。

metadata.uid

ConfigMap ID。

更新时不支持此配置项。

data

ConfigMap键值对。