Criação de um segredo
Cenário
Um segredo é um tipo de recurso que contém dados confidenciais, como autenticação e informações da chave. Seu conteúdo é definido pelo usuário. Depois de criar segredos, você pode usá-los como arquivos ou variáveis de ambiente em uma carga de trabalho em contêiner.
Restrições
Segredos não podem ser usados em pods estáticos.
Procedimento
- Efetue logon no console do CCE e clique no nome do cluster para acessar o console do cluster.
- Escolha ConfigMaps and Secrets no painel de navegação, clique na guia Secrets e clique em Create Secret no canto superior direito.
- Defina parâmetros.
Tabela 1 Parâmetros para criar um segredo Parâmetro
Descrição
Name
Nome do segredo que você cria, que deve ser único.
Namespace
Namespace ao qual o segredo pertence. Se você não especificar esse parâmetro, o valor default será usado por padrão.
Description
Descrição de um segredo.
Type
Tipo do segredo que você cria.
- Opaque: segredo comum.
- kubernetes.io/dockerconfigjson: um segredo que armazena as informações de autenticação necessárias para extrair imagens de um repositório privado.
- kubernetes.io/tls: segredo TLS do Kubernetes, que é usado para armazenar o certificado exigido pelos serviços de balanceamento de carga da camada 7. Para obter detalhes sobre exemplos do segredo kubernetes.io/tls e sua descrição, consulte Segredos TLS.
- IngressTLS: segredo TLS fornecido pelo CCE para armazenar o certificado exigido pelos Serviços de balanceamento de carga da camada-7.
- Outros: outro tipo de segredo, que é especificado manualmente.
Secret Data
Os dados secretos da carga de trabalho podem ser usados em contêineres.
- Se Secret Type for Opaque, clique em
. Na caixa de diálogo exibida, insira um par chave-valor e selecione Auto Base64 Encoding.
- Se Secret Type for kubernetes.io/dockerconfigjson, digite a conta e a senha do repositório de imagens privadas.
- Se Secret Type for kubernetes.io/tls ou IngressTLS, carregue o arquivo de certificado e o arquivo de chave privada.
NOTA:
- Um certificado é uma credencial autoassinada ou assinada pela AC usada para autenticação de identidade.
- Uma solicitação de certificado é uma solicitação de assinatura com uma chave privada.
Secret Label
Rótulo do segredo. Insira um par chave-valor e clique em Add.
- Após a conclusão da configuração, clique em OK.
O novo segredo é exibido na lista de chaves.
Exemplo de configuração do arquivo de recursos de segredos
Esta seção descreve exemplos de configuração de arquivos de descrição de recursos de segredos.
- Tipo Opaque
O arquivo secret.yaml é definido como mostrado abaixo. O campo data é preenchido como um par chave-valor e o campo value deve ser codificado usando Base64. Para obter detalhes sobre o método de codificação Base64, consulte Codificação Base64.
apiVersion: v1 kind: Secret metadata: name: mysecret #Secret name namespace: default #Namespace. The default value is default. data: <your_key>: <your_value> # Enter a key-value pair. The value must be encoded using Base64. type: Opaque
- Tipo kubernetes.io/dockerconfigjson
O arquivo secret.yaml é definido como mostrado abaixo. O valor de .dockerconfigjson deve ser codificado usando Base64. Para mais detalhes, consulte Codificação Base64.
apiVersion: v1 kind: Secret metadata: name: mysecret #Secret name namespace: default #Namespace. The default value is default. data: .dockerconfigjson: eyJh***** # Content encoded using Base64. type: kubernetes.io/dockerconfigjson
Para obter o conteúdo de .dockerconfigjson, execute as seguintes etapas:
- Obtenha as seguintes informações de logon do repositório de imagens.
- Endereço do repositório de imagens: a seção usa address como exemplo. Substitua-o pelo endereço real.
- Nome de usuário: a seção usa username como um exemplo. Substitua-o pelo nome de usuário real.
- Senha: a seção usa password como exemplo. Substitua-a pela senha atual.
- Use Base64 para codificar o par chave-valor username:password e preencher o conteúdo codificado em 3.
echo -n "username:password" | base64
Saída do comando:
dXNlcm5hbWU6cGFzc3dvcmQ=
- Use Base64 para codificar o seguinte conteúdo JSON:
echo -n '{"auths":{"address":{"username":"username","password":"password","auth":"dXNlcm5hbWU6cGFzc3dvcmQ="}}}' | base64
Saída do comando:
eyJhdXRocyI6eyJhZGRyZXNzIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0=
O conteúdo codificado é o conteúdo de .dockerconfigjson.
- Obtenha as seguintes informações de logon do repositório de imagens.
- Tipo kubernetes.io/tls
O valor de tls.crt e tls.key deve ser codificado usando Base64. Para mais detalhes, consulte Codificação Base64.
kind: Secret apiVersion: v1 metadata: name: mysecret #Secret name namespace: default #Namespace. The default value is default. data: tls.crt: LS0tLS1CRU*****FURS0tLS0t # Certificate content, which must be encoded using Base64. tls.key: LS0tLS1CRU*****VZLS0tLS0= # Private key content, which must be encoded using Base64. type: kubernetes.io/tls
- Tipo IngressTLS
O valor de tls.crt e tls.key deve ser codificado usando Base64. Para mais detalhes, consulte Codificação Base64.
kind: Secret apiVersion: v1 metadata: name: mysecret #Secret name namespace: default #Namespace. The default value is default. data: tls.crt: LS0tLS1CRU*****FURS0tLS0t # Certificate content, which must be encoded using Base64. tls.key: LS0tLS1CRU*****VZLS0tLS0= # Private key content, which must be encoded using Base64. type: IngressTLS
Criar um segredo usando o kubectl
- De acordo com Conexão a um cluster usando o kubectl, configure o comando kubectl para conectar um ECS ao cluster.
- Crie e edite o arquivo cce-secret.yaml codificado em Base64.
# echo -n "content to be encoded" | base64 ******
vi cce-secret.yaml
O arquivo YAML a seguir usa o tipo Opaque como exemplo. Para obter detalhes sobre os tipos, consulte Exemplo de configuração do arquivo de recursos de segredos.
apiVersion: v1 kind: Secret metadata: name: mysecret type: Opaque data: <your_key>: <your_value> # Enter a key-value pair. The value must be encoded using Base64.
- Crie um segredo.
kubectl create -f cce-secret.yaml
Você pode consultar o segredo após a criação.
kubectl get secret -n default
Operações relacionadas

A lista de segredos contém recursos de segredos do sistema que só podem ser consultados. Os recursos de segredos do sistema não podem ser atualizados ou excluídos.
Operação |
Descrição |
---|---|
Editar um arquivo YAML |
Clique em Edit YAML na linha em que o segredo de destino reside para editar seu arquivo YAML. |
Atualizar um segredo |
|
Excluir um segredo |
Selecione o segredo que deseja excluir e clique em Delete. Siga as instruções para excluir o segredo. |
Excluir segredos em lotes |
|