文档首页 > > 用户指南> 配置中心> 创建密钥

创建密钥

分享
更新时间: 2020/01/22 GMT+08:00

密钥Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。资源创建完成后,可在容器工作负载中作为文件或者环境变量使用。

准备工作

已创建集群和节点资源,具体操作请参见购买混合集群。若已有集群和节点资源,无需重复操作。

创建密钥

  1. 登录CCE控制台,在左侧导航栏中选择配置中心 > 密钥(Secret),单击“添加密钥”
  2. 您可以直接创建密钥或基于YAML来创建。若希望通过YAML创建,请跳转至4
  3. 方式一:直接创建密钥。

    参照 表1设置基本信息。
    表1 基本信息说明

    参数

    参数说明

    密钥名称

    新建的密钥的名称,同一个命名空间内命名必须唯一。

    所属集群

    使用新建密钥的集群

    集群命名空间

    新建密钥所在的命名空间,默认为default。

    描述

    密钥的描述信息。

    密钥类型

    新建的密钥类型。

    • Opaque:一般密钥类型。
    • kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。
    • IngressTLS:存放7层负载均衡服务所需的证书。
    • 其他:若需要创建其他类型的密钥,请手动输入密钥类型。

    密钥数据

    工作负载密钥的数据可以在容器中使用。

    • 当密钥为Opaque类型时。
      1. 单击“添加更多密钥数据” 。
      2. 输入键、值。其中“值”必须使用Base64编码,Base64编码方法请参见如何进行Base64编码
    • 当密钥为kubernetes.io/dockerconfigjson类型时,输入私有镜像仓库的帐号和密码。
    • 当密钥为IngressTLS类型时,上传证书文件和私钥文件。
      说明:
      • 证书是自签名或CA签名过的凭据,用来进行身份认证。
      • 证书请求是对签名的请求,需要使用私钥进行签名。

      如何获取证书请参见购买证书自建证书

    密钥标签

    标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。

    标签定义了这些对象的可识别属性,用来对它们进行管理和选择。

    1. 单击“添加标签” 。
    2. 输入键、值。

  4. 方式二:基于YAML文件创建密钥。

    若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。CCE支持json或yaml格式,详细请参见Secret资源文件配置说明

    您可以导入或直接编写文件内容,格式为YAML或JSON。
    • 方式一:导入编排文件。

      单击“添加文件”,导入格式为YAML或JSON的文件。编排内容中可直接展示编排内容。

    • 方式二:直接编排内容。

      在编排内容区域框中,输入YAML或JSON文件内容。

  5. 配置完成后,单击“创建”。

    密钥列表中会出现新创建的密钥。

Secret资源文件配置说明

本章节主要介绍Secret类型的资源描述文件的配置示例。

例如现在有一个工作负载需要获取帐号密码,可以通过Secret来实现:

  • yaml文件格式

    定义的Secret文件secret.yaml内容如下。其中Value需要用Base64,Base64编码方法请参见如何进行Base64编码

    apiVersion: v1
    kind: Secret
    metadata:
      name: mysecret           # secret的名称
      namespace: default       #命名空间,默认为default
    data:
      username: my-username  #用户名
      password: ******  #需要用Base64编码
    type: Opaque     # type建议不要做修改
  • json文件格式

    定义的Secret文件secret.json内容如下。

    {
      "apiVersion": "v1",
      "kind": "Secret",
      "metadata": {
        "name": "mysecret",
        "namespace": "default"
      },
      "data": {
        "username": "my-username",
        "password": "******"
      },
      "type": "Opaque"
    }

使用kubectl创建密钥

  1. 请参见通过kubectl或web-terminal插件连接CCE集群配置kubectl命令。
  2. 通过Base64编码,创建并编辑cce-secrets.yaml文件。

    # echo -n "待编码内容" | base64
    ******

    vi cce-secret.yaml

    apiVersion: v1
    kind: Secret
    metadata:
      name: mysecret
    type: Opaque
    data:
      username: admin
      password: ******

  3. 创建密钥。

    kubectl create -f cce-secret.yaml

    创建完成后可以查询到密钥。

    kubectl get secret

相关操作

密钥创建完成后,您还可以执行 表2中的操作。

密钥列表中包含系统密钥资源,系统密钥资源不可更新,也不能删除,只能查看。

表2 其他操作

操作

说明

查看YAML

单击密钥名称后的“查看YAML”,可查看到当前密钥的YAML文件。

更新密钥

  1. 选择需要更新的密钥名称,单击“更新”。
  2. 根据表1更改信息。
  3. 单击“更新”。

删除密钥

选择要删除的密钥,单击“删除”。

根据系统提示删除密钥。

批量删除密钥

  1. 勾选需要删除的密钥名称。
  2. 单击页面左上角的“删除”,删除选中的密钥。
  3. 根据系统提示删除密钥。

如何进行Base64编码

对字符串进行Base64加密,可以直接使用“echo -n 要编码的内容 | base64”命令即可,示例如下:

root@ubuntu:~# echo -n "待编码内容" | base64
******
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区