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
| 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
| 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. |
| 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
| Parâmetro | Tipo | Descrição |
|---|---|---|
| Port-ID | String | ID da porta do nó mestre do cluster |
| 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. |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| name | String | Nome do cluster.
|
| cluster | ClusterCert object | Informações do cluster |
| 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. |
| 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 |
| 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. |
| Parâmetro | Tipo | Descrição |
|---|---|---|
| name | String | Nome do contexto.
|
| context | Context object | Informações de contexto |
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.