SAE的保密字典对应于Kubernetes的Secret资源类型。本文介绍如何使用kubectl-sae工具管理Secret,并提供相关的K8s YAML配置文件示例。
前提条件
已安装kubectl-sae工具,并配置AccessKey ID、AccessKey Secret、应用部署地域,详见安装与配置kubectl-sae工具。
管理Secret
kubectl-sae工具支持创建、查看、更新、删除Secret。
创建Secret
编写配置文件
secret.yaml
。配置文件的示例如下,各配置项的详细信息请参考K8s YAML配置项说明。apiVersion: v1 data: .dockerconfigjson: xxxxxxxx kind: Secret metadata: name: test namespace: default type: kubernetes.io/dockerconfigjson
在
secret.yaml
文件所在路径执行以下命令,实现为应用创建Secret。kubectl-sae apply -f secret.yaml
查看Secret列表
kubectl-sae get secret ${secret-name} -n ${namespace}
# ${secret-name}为Secret的名称,如果不指定Secret的名称,则获取范围内所有Secret。
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间。
输出结果的字段说明如下:
字段 | 说明 |
NAMESPACE | Secret所在的命名空间。 |
NAME | Secret名称。 |
TYPE | Secret类型。 |
AGE | Secret的存在时长。 |
查看Secret详情
kubectl-sae工具支持使用get
或describe
命令查看Secret详情。返回结果中包含Secret的配置项,详情请参考K8s YAML配置项说明。
通过get命令查看Secret配置信息
kubectl-sae get secret ${secret-name} -o {yaml | json} -n ${namespace}
# ${secret-name}为Secret名称
# -o参数指定返回结果的格式
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间
通过describe命令查看Secret详情
kubectl-sae describe secret ${secret-name} -n ${namespace}
# ${secret-name}为Secret名称
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间
更新Secret
kubectl-sae工具支持使用edit
或apply
命令更新Secret。
通过edit命令在线编辑Secret配置信息
执行以下命令,将会以YAML文件的形式打开指定Secret的配置信息。
kubectl-sae edit secret ${secret-name} -n ${namespace} # ${secret-name}为Secret名称 # ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间
在打开的YAML文件中按需修改配置信息,保存并关闭文件,等待配置信息变更完成。
通过apply命令实现按照YAML配置文件更新Secret
修改已有的Secret的配置文件secret.yaml
。在配置文件所在路径执行以下命令,实现Secret配置信息的变更。
kubectl-sae apply -f secret.yaml
删除Secret
kubectl-sae delete secret ${secret-name} -n ${namespace}
# ${secret-name}为Secret名称
# ${namespace}为命名空间ID,如果不通过-n参数指定命名空间,则默认使用default命名空间
K8s YAML配置项说明
SAE的保密字典对应于Kubernetes的Secret资源类型。相关K8s YAML配置项说明详见下表。
配置项 | 说明 |
metadata.name | Secret名称。 更新时不支持此配置项。 |
metadata.creationTimestamp | Secret创建时间。 更新时不支持此配置项。 |
metadata.namespace | Secret所在的命名空间。 更新时不支持此配置项。 |
metadata.uid | Secret ID。 |
type | Secret类型。 此配置项为固定值kubernetes.io/dockerconfigjson。 创建时必须指定此配置项。 更新时不支持此配置项。 |
data | Secret键值对。 使用固定格式如下:
创建时必须指定此配置项。 |