Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-13 GMT+08:00

Obtención de un certificado de clúster

Función

Esta API se utiliza para obtener un certificado de un clúster especificado.

Restricciones

Esta API es aplicable a clústeres de v1.13 y posteriores.

URI

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

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API.

cluster_id

String

ID de clúster. Para obtener más información sobre cómo obtener el valor, consulta Cómo obtener parámetros en el URI de API.

Parámetros de solicitud

Tabla 2 Parámetros de cabecera de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Content-Type

String

Tipo de cuerpo del mensaje (formato).

X-Auth-Token

String

Las solicitudes para invocar a una API pueden autenticarse usando un token o AK/SK. Si se utiliza la autenticación basada en token, este parámetro es obligatorio y se debe establecer en un token de usuario. Para obtener más información, consulte Obtención de un token de usuario.

Tabla 3 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

duration

Integer

Período de validez del certificado de clúster, en días, que oscila entre 1 y el número de días en los cinco años a partir de la fecha actual (este período puede ser representado por el valor -1). El valor puede ser 1826 o 1827, dependiendo del número de años bisiestos en estos 5 años.

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros de encabezado de respuesta

Parámetro

Tipo

Descripción

Port-ID

String

ID de puerto del nodo principal del clúster

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

kind

String

Tipo de la API. El valor se fija en Config y no se puede cambiar.

apiVersion

String

Versión de la API. El valor se fija en v1.

preferences

Object

Este campo no se utiliza actualmente y se deja sin especificar de forma predeterminada.

clusters

Array de objetos de Clusters

Lista de los clústeres

users

Matriz de objetos de Users

Información de certificado e información de clave de cliente de un usuario especificado

contexts

Matriz de objetos de Contexts

Lista de contexto

current-context

String

Contexto actual. Si existe publicIp (la EIP de VM), el valor es external. Si publicIp no existe, el valor es internal.

Tabla 6 Clusters

Parámetro

Tipo

Descripción

name

String

Nombre del clúster.

  • Si publicIp no existe (es decir, no existe ninguna EIP de VM), solo hay un clúster en la lista de los clústeres y el valor de este parámetro es internalCluster.

  • Si publicIp existe (es decir, la EIP existe), hay al menos dos clústeres en la lista de los clústeres, y el valor de este parámetro es externalCluster.

cluster

Objeto de ClusterCert

Información del clúster

Tabla 7 ClusterCert

Parámetro

Tipo

Descripción

server

String

Dirección IP del servidor

certificate-authority-data

String

Datos de autorización de certificado

insecure-skip-tls-verify

Boolean

Si se omite la verificación del certificado del servidor. Si el tipo de clúster es externalCluster, el valor es true.

Tabla 8 Users

Parámetro

Tipo

Descripción

name

String

El valor se fija en user.

user

Objeto de User

Información de certificado e información de clave de cliente de un usuario especificado

Tabla 9 User

Parámetro

Tipo

Descripción

client-certificate-data

String

Certificado de cliente

client-key-data

String

Datos de codificación de PEM del archivo de clave de cliente de TLS

Tabla 10 Contexts

Parámetro

Tipo

Descripción

name

String

Nombre de contexto.

  • Si publicIp no existe (es decir, no existe ninguna EIP de VM), solo hay un clúster en la lista de los clústeres y el valor de este parámetro es internal.

  • Si publicIp existe (es decir, la EIP existe), hay al menos dos clústeres en la lista de clústeres, y el valor de este campo para todos los contextos de extensión es de external.

context

Objeto de Context

Información de contexto

Tabla 11 Context

Parámetro

Tipo

Descripción

cluster

String

Contexto de clúster

user

String

Contexto de usuario

Ejemplo de las solicitudes

Solicitud de un certificado de acceso a clústeres válido durante 30 días

{
  "duration" : 30
}

Ejemplo de las respuestas

Código de estado: 200

El certificado del clúster especificado se obtiene correctamente. Para obtener más información sobre el formato de archivo de certificado, consulte la estructura de 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 estado

Código de estado

Descripción

200

El certificado del clúster especificado se obtiene correctamente. Para obtener más información sobre el formato de archivo de certificado, consulte la estructura de Kubernetes v1.Config.

Códigos de error

Consulte Códigos de error.