Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-09-10 GMT+08:00

Obtenção de um certificado de cluster

Função

Essa API é usada para obter um certificado de um cluster especificado.

Restrições

Esta API é aplicável aos clusters v1.13 e posteriores.

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/clustercert

Tabela 1 Parâmetros de caminho

Parâmetro

Obrigatório

Tipo

Descrição

project_id

Sim

String

ID do projeto. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API.

cluster_id

Sim

String

ID do cluster. Para obter detalhes sobre como obter o valor, consulte Como obter parâmetros no URI da API.

Parâmetros de solicitação

Tabela 2 Parâmetros de cabeçalho de solicitação

Parâmetro

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Tipo de corpo da mensagem (formato).

X-Auth-Token

Sim

String

As solicitações para chamar uma API podem ser autenticadas usando um token ou AK/SK. Se a autenticação baseada em token for usada, esse parâmetro é obrigatório e deve ser definido como um token de usuário. Para obter detalhes, consulte Obtenção de um token de usuário.

Tabela 3 Parâmetros do corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

duration

Sim

Integer

Período de validade do certificado de cluster, em dias. O valor pode ser -1 ou varia de 1 a 1825. O valor máximo 1825 indica 5 anos, assumindo que há sempre 365 dias para um ano, ignorando anos bissextos. O valor -1 também indica o valor máximo 1825.

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros de cabeçalho de resposta

Parâmetro

Tipo

Descrição

Port-ID

String

ID da porta do nó mestre do cluster

Tabela 5 Parâmetros do corpo de resposta

Parâmetro

Tipo

Descrição

kind

String

Tipo de API. O valor é fixado em Config e não pode ser alterado.

apiVersion

String

Versão da API. O valor é fixado em v1.

preferences

Object

Este campo não é usado atualmente e é deixado sem especificação por padrão.

clusters

Array of Clusters objects

Lista de clusters

users

Array of Users objects

Informações de certificado e informações de chave do cliente de um usuário específico

contexts

Array of Contexts objects

Lista de contexto

current-context

String

Contexto atual. Se publicIp (EIPde VM) existir, o valor é external. Se publicIp não existir, o valor é internal.

Tabela 6 Clusters

Parâmetro

Tipo

Descrição

name

String

Nome do cluster.

  • Se publicIp não existir (ou seja, não existir EIP), existe apenas um cluster na lista de clusters e o valor deste parâmetro é internalCluster.

  • Se publicIp existir (ou seja, o EIP existir), há pelo menos dois clusters na lista de clusters e o valor desse parâmetro é externalCluster.

cluster

ClusterCert object

Informações do cluster

Tabela 7 ClusterCert

Parâmetro

Tipo

Descrição

server

String

Endereço IP do servidor

certificate-authority-data

String

Dados de autorização do certificado

insecure-skip-tls-verify

Boolean

Se deve ignorar a verificação do certificado do servidor. Se o tipo de cluster for externalCluster, o valor é true.

Tabela 8 Users

Parâmetro

Tipo

Descrição

name

String

O valor é fixo para user.

user

User object

Informações de certificado e informações de chave do cliente de um usuário específico

Tabela 9 User

Parâmetro

Tipo

Descrição

client-certificate-data

String

Certificado do cliente

client-key-data

String

Dados de codificação PEM do arquivo de chave do cliente do TLS.

Tabela 10 Contexts

Parâmetro

Tipo

Descrição

name

String

Nome do contexto.

  • Se publicIp não existir (ou seja, não existir EIP), há apenas um cluster na lista de clusters e o valor desse parâmetro é internal.

  • Se publicIp existir (ou seja, o EIP existir), há pelo menos dois clusters na lista de clusters e o valor desse campo para todos os contextos de extensão é external.

context

Context object

Informações de contexto

Tabela 11 Context

Parâmetro

Tipo

Descrição

cluster

String

Contexto do cluster

user

String

Contexto do usuário

Exemplo de solicitações

Solicitar um certificado de acesso a cluster válido por 30 dias

{
  "duration" : 30
}

Exemplo de respostas

Código de status: 200

O certificado do cluster especificado é obtido com êxito. Para obter detalhes sobre o formato do arquivo de certificado, consulte a estrutura Kubernetes v1.Config.

{
  "kind" : "Config",
  "apiVersion" : "v1",
  "preferences" : { },
  "clusters" : [ {
    "name" : "internalCluster",
    "cluster" : {
      "server" : "https://192.168.1.7:5443",
      "certificate-authority-data" : "Q2VydGlmaWNhdGU6******FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
    }
  } ],
  "users" : [ {
    "name" : "user",
    "user" : {
      "client-certificate-data" : "LS0tLS1CRUdJTiBDR******QVRFLS0tLS0K",
      "client-key-data" : "LS0tLS1CRUdJTi******BLRVktLS0tLQo="
    }
  } ],
  "contexts" : [ {
    "name" : "internal",
    "context" : {
      "cluster" : "internalCluster",
      "user" : "user"
    }
  } ],
  "current-context" : "internal"
}

Códigos de status

Código de status

Descrição

200

O certificado do cluster especificado é obtido com êxito. Para obter detalhes sobre o formato do arquivo de certificado, consulte a estrutura Kubernetes v1.Config.

Códigos de erro

Consulte Códigos de erro.