云服务器内容精选

  • 使用密钥设置工作负载的环境变量 使用控制台方式 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏选择“工作负载”,单击右上角“创建工作负载”。 在创建工作负载时,在“容器配置”中找到“环境变量”,单击“新增变量”。 密钥导入:选择一个密钥,将密钥中所有键值都导入为环境变量。 密钥项键值导入:将密钥中某个键的值导入作为某个环境变量的值。 变量名称:工作负载中的环境变量名称,可自定义,默认为密钥中选择的键名。 变量/变量引用:选择一个密钥及需要导入的键名,将其对应的值导入为工作负载环境变量。 例如将mysecret这个密钥中“username”的值导入,作为工作负载环境变量“username”的值,导入后容器中将会有一个名为“username”的环境变量。 配置其他工作负载参数后,单击“创建工作负载”。 等待工作负载正常运行后,您可登录容器执行以下语句,查看该密钥是否已被设置为工作负载的环境变量。 printenv username 如输出与Secret中的内容一致,则说明该密钥已被设置为工作负载的环境变量。 使用kubectl方式 请参见通过kubectl连接集群配置kubectl命令。 创建并编辑nginx-secret.yaml文件。 vi nginx-secret.yaml YAML文件内容如下: 密钥导入:如果要将一个密钥中所有数据都添加到环境变量中,可以使用envFrom参数,密钥中的Key会成为工作负载中的环境变量名称。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-secret spec: replicas: 1 selector: matchLabels: app: nginx-secret template: metadata: labels: app: nginx-secret spec: containers: - name: container-1 image: nginx:latest envFrom: # 使用envFrom来指定环境变量引用的密钥 - secretRef: name: mysecret # 引用的密钥名称 imagePullSecrets: - name: default-secret 密钥键值导入:您可以在创建工作负载时将密钥设置为环境变量,使用valueFrom参数单独引用Secret中的Key/Value。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-secret spec: replicas: 1 selector: matchLabels: app: nginx-secret template: metadata: labels: app: nginx-secret spec: containers: - name: container-1 image: nginx:latest env: # 设置工作负载中的环境变量 - name: SECRET_USERNAME # 工作负载中的环境变量名称 valueFrom: # 使用valueFrom来指定环境变量引用的密钥 secretKeyRef: name: mysecret # 引用的密钥名称 key: username # 引用的密钥中的key - name: SECRET_PASSWORD # 添加多个环境变量参数,可同时导入多个环境变量 valueFrom: secretKeyRef: name: mysecret key: password imagePullSecrets: - name: default-secret 创建工作负载。 kubectl apply -f nginx-secret.yaml 创建完成后,查看Pod中的环境变量。 执行以下命令,查看已创建的Pod。 kubectl get pod | grep nginx-secret 预期输出如下: nginx-secret-*** 1/1 Running 0 2m18s 执行以下命令,查看该Pod中的环境变量。 kubectl exec nginx-secret-*** -- printenv SPECIAL_USERNAME SPECIAL_PASSWORD 如输出与Secret中的内容一致,则说明该密钥已被设置为工作负载的环境变量。
  • 创建配置项 登录集群控制台,单击左侧导航栏的“配置与密钥”,选择“配置项”页签。您还可以直接创建配置项或基于YAML来创建,若希望通过YAML创建,请跳转至4。 选择需要创建配置项的命名空间。 直接创建配置项。单击“创建配置项”。 参照表1设置新增配置参数。 表1 新建配置参数说明 参数 参数说明 名称 新建的配置项名称,同一个命名空间里命名必须唯一。 命名空间 新建配置项所在的命名空间,默认为当前查看的命名空间。 描述 配置项的描述信息。 配置项数据 工作负载配置的数据可以在容器中使用,或被用来存储配置数据。 单击 ,输入键、值。其中,“键”代表配置名;“值”代表配置内容。 配置标签 标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 输入标签键、值。 单击“确认添加” 。 基于YAML创建配置项。在创建配置项页面右侧单击“YAML创建”。 若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。支持json或yaml格式,详细请参见ConfigMap资源文件配置说明。 您可以导入或直接编写文件内容,格式为YAML或JSON。 方式一:导入编排文件。 单击“导入”,导入格式为YAML或JSON的文件。编排内容中可直接展示YAML或JSON文件的内容。 方式二:直接编排内容。 在编排内容区域框中,输入YAML或JSON文件内容。 配置完成后,单击“确定”。 配置项列表中会出现新创建的配置项。
  • ConfigMap资源文件配置说明 ConfigMap资源文件支持json和yaml两种文件格式,且文件大小不得超过2MB。 json文件格式 文件名称为configmap.json,配置示例如下: { "kind": "ConfigMap", "apiVersion": "v1", "metadata": { "name": "paas-broker-app-017", "namespace": "test" }, "data": { "context": "{\"applicationComponent\":{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker-app\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"},\"softwareComponents\":[{\"properties\":{\"custom_spec\":{}},\"node_name\":\"paas-broker\",\"stack_id\":\"0177eae1-89d3-cb8a-1f94-c0feb7e91d7b\"}]}" } } yaml文件格式 文件名称为configmap.yaml,配置示例如下: apiVersion: v1 kind: ConfigMap metadata: name: test-configmap namespace: default data: data-1: "value-1" data-2: "value-2"
  • 相关操作 通过集群控制台,您还可以执行表2中的操作。 表2 相关操作 操作 说明 查看详情 单击配置项名称即可查看配置项数据详情。 编辑YAML 单击配置项名称后的“编辑YAML”,可查看并编辑当前配置项的YAML文件。 更新 单击配置项名称后的“更新”。 根据表1更改信息。 单击“确定”提交已修改的信息。 删除 单击配置项名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的配置项。 单击左上角的“批量删除”。 单击“是”进行确认。
  • 通过配置项设置工作负载环境变量 使用控制台方式 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏选择“工作负载”,单击右上角“创建工作负载”。 在创建工作负载时,在“容器配置”中找到“环境变量”,单击“新增变量”。 配置项导入:选择一个配置项,将配置项中所有键值都导入为环境变量。 配置项键值导入:将配置项中某个键的值导入作为某个环境变量的值。 变量名称:工作负载中的环境变量名称,可自定义,默认为配置项中选择的键名。 变量/变量引用:选择一个配置项及需要导入的键名,将其对应的值导入为工作负载环境变量。 例如将cce-configmap这个配置项中“SPECIAL_LEVEL”的值“Hello”导入,作为工作负载环境变量“SPECIAL_LEVEL”的值,导入后容器中有一个名为“SPECIAL_LEVEL”的环境变量,其值为“Hello”。 配置其他工作负载参数后,单击“创建工作负载”。 等待工作负载正常运行后,您可登录容器执行以下语句,查看该配置项是否已被设置为工作负载的环境变量。 printenv SPECIAL_LEVEL 示例输出如下: Hello 使用kubectl方式 请参见通过kubectl连接集群配置kubectl命令。 创建并编辑nginx-configmap.yaml文件。 vi nginx-configmap.yaml YAML文件内容如下: 配置项导入:如果要将一个配置项中所有数据都添加到环境变量中,可以使用envFrom参数,配置项中的Key会成为工作负载中的环境变量名称。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-configmap spec: replicas: 1 selector: matchLabels: app: nginx-configmap template: metadata: labels: app: nginx-configmap spec: containers: - name: container-1 image: nginx:latest envFrom: # 使用envFrom来指定环境变量引用的配置项 - configMapRef: name: cce-configmap # 引用的配置项名称 imagePullSecrets: - name: default-secret 配置项键值导入:您可以在创建工作负载时将配置项设置为环境变量,使用valueFrom参数单独引用ConfigMap中的Key/Value。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-configmap spec: replicas: 1 selector: matchLabels: app: nginx-configmap template: metadata: labels: app: nginx-configmap spec: containers: - name: container-1 image: nginx:latest env: # 设置工作负载中的环境变量 - name: SPECIAL_LEVEL # 工作负载中的环境变量名称 valueFrom: # 使用valueFrom来指定环境变量引用配置项 configMapKeyRef: name: cce-configmap # 引用的配置项名称 key: SPECIAL_LEVEL # 引用的配置项中的key - name: SPECIAL_TYPE # 添加多个环境变量参数,可同时导入多个环境变量 valueFrom: configMapKeyRef: name: cce-configmap key: SPECIAL_TYPE imagePullSecrets: - name: default-secret 创建工作负载。 kubectl apply -f nginx-configmap.yaml 创建完成后,查看Pod中的环境变量。 执行以下命令,查看已创建的Pod。 kubectl get pod | grep nginx-configmap 预期输出如下: nginx-configmap-*** 1/1 Running 0 2m18s 执行以下命令,查看该Pod中的环境变量。 kubectl exec nginx-configmap-*** -- printenv SPECIAL_LEVEL SPECIAL_TYPE 预期输出如下: Hello CCE 说明该配置项已被设置为工作负载的环境变量。
  • 使用密钥设置工作负载的环境变量 使用控制台方式 登录CCE控制台,单击集群名称进入集群。 在左侧导航栏选择“工作负载”,单击右上角“创建工作负载”。 在创建工作负载时,在“容器配置”中找到“环境变量”,单击“新增变量”。 密钥导入:选择一个密钥,将密钥中所有键值都导入为环境变量。 密钥项键值导入:将密钥中某个键的值导入作为某个环境变量的值。 变量名称:工作负载中的环境变量名称,可自定义,默认为密钥中选择的键名。 变量/变量引用:选择一个密钥及需要导入的键名,将其对应的值导入为工作负载环境变量。 例如将mysecret这个密钥中“username”的值导入,作为工作负载环境变量“username”的值,导入后容器中将会有一个名为“username”的环境变量。 配置其他工作负载参数后,单击“创建工作负载”。 等待工作负载正常运行后,您可登录容器执行以下语句,查看该密钥是否已被设置为工作负载的环境变量。 printenv username 如输出与Secret中的内容一致,则说明该密钥已被设置为工作负载的环境变量。 使用kubectl方式 请参见通过kubectl连接集群配置kubectl命令。 创建并编辑nginx-secret.yaml文件。 vi nginx-secret.yaml YAML文件内容如下: 密钥导入:如果要将一个密钥中所有数据都添加到环境变量中,可以使用envFrom参数,密钥中的Key会成为工作负载中的环境变量名称。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-secret spec: replicas: 1 selector: matchLabels: app: nginx-secret template: metadata: labels: app: nginx-secret spec: containers: - name: container-1 image: nginx:latest envFrom: # 使用envFrom来指定环境变量引用的密钥 - secretRef: name: mysecret # 引用的密钥名称 imagePullSecrets: - name: default-secret 密钥键值导入:您可以在创建工作负载时将密钥设置为环境变量,使用valueFrom参数单独引用Secret中的Key/Value。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx-secret spec: replicas: 1 selector: matchLabels: app: nginx-secret template: metadata: labels: app: nginx-secret spec: containers: - name: container-1 image: nginx:latest env: # 设置工作负载中的环境变量 - name: SECRET_USERNAME # 工作负载中的环境变量名称 valueFrom: # 使用valueFrom来指定环境变量引用的密钥 secretKeyRef: name: mysecret # 引用的密钥名称 key: username # 引用的密钥中的key - name: SECRET_PASSWORD # 添加多个环境变量参数,可同时导入多个环境变量 valueFrom: secretKeyRef: name: mysecret key: password imagePullSecrets: - name: default-secret 创建工作负载。 kubectl apply -f nginx-secret.yaml 创建完成后,查看Pod中的环境变量。 执行以下命令,查看已创建的Pod。 kubectl get pod | grep nginx-secret 预期输出如下: nginx-secret-*** 1/1 Running 0 2m18s 执行以下命令,查看该Pod中的环境变量。 kubectl exec nginx-secret-*** -- printenv SPECIAL_USERNAME SPECIAL_PASSWORD 如输出与Secret中的内容一致,则说明该密钥已被设置为工作负载的环境变量。
  • 创建密钥 登录MCP控制台,单击MCP实例名称,在左侧导航栏中选择“配置项与密钥”,切换至“密钥”页签。 选择需要创建密钥的命名空间,并单击右上角“创建密钥”。 参照表1设置基本信息。 表1 基本信息说明 参数 参数说明 名称 新建的密钥的名称,同一个命名空间内命名必须唯一。 命名空间 新建密钥所在的命名空间,默认为当前查看的命名空间。 描述 新建密钥的描述。 密钥类型 新建的密钥类型。 Opaque:一般密钥类型。在高敏感场景下,建议先通过 数据加密 服务加密敏感数据后,再存入Secret中。 kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。如选择此类型的密钥,需要额外输入镜像仓库地址。 IngressTLS:存放7层负载均衡服务所需的证书。如选择此类型的密钥,需要上传证书文件及私钥文件。 其他:若需要创建其他类型的密钥,请手动输入密钥类型。 密钥数据 工作负载密钥的数据可以在容器中使用。 当密钥为Opaque类型时:输入键、值。其中“值”必须使用Base64编码,勾选“自动Base64编码”即可自动将输入的值转换为Base64编码。手动进行Base64编码的方法请参见如何进行Base64编码。 当密钥为dockerconfigjson类型时:输入私有镜像仓库的用户名和密码。 标签 标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 单击“添加” 。 输入键、值。 配置完成后,单击“确认”。 密钥列表中会出现新创建的密钥。
  • 相关操作 通过MCP控制台,您还可以执行表2中的操作。 表2 相关操作 操作 说明 YAML创建 单击右上角“YAML创建”,可使用已有的YAML创建密钥。 查看详情 单击配置项名称即可查看密钥数据详情。 编辑YAML 单击密钥名称后的“YAML”,可查看到当前密钥的YAML文件。 更新 单击密钥名称后的“更新”。 根据表1更改信息。 单击“确认”提交已修改的信息。 删除 单击密钥名称后的“删除”,并单击“是”进行确认。 批量删除 勾选需要删除的密钥。 单击左上角的“批量删除”。 单击“是”进行确认。