Skip to main content
Astra Automation
Hay disponible una nueva versión de este producto.
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Crear un nuevo clúster para una nube

POST /accounts/{account_id}/topology/v1/clouds/{cloud_id}/clusters

Indica los valores deseados para el recurso Cluster API que se va a crear.

Parámetros

Nombre Tipo En Obligatorio Descripción

account_id

cadena

ruta

Verdadero

ID del recurso de cuenta que lo contiene

  • ejemplo: {{.Account}}

cloud_id

cadena

ruta

Verdadero

ID del recurso de nube que contiene

Cuerpo de la solicitud

Indica los valores deseados para el recurso Cluster API que se va a crear.

Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

Tipo de medio del recurso. Los valores definidos son:

  • "application/astra-cluster"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "1,0"

  • "1,1"

  • "1,2"

  • "1,3"

  • "1,4"

  • "1,5"

nombre

cadena

Falso

Cadena JSON que contiene un nombre para el clúster. Si no se especifica, se usará el nombre de Kubernetes del clúster. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Esta cadena se valida internamente para evitar ataques XSS, Unicode, de traspaso de directorios y de inyección SQL

accHost

cadena

Falso

Cadena JSON que indica que este cluster aloja la instancia de Astra Control Center a la que se está accediendo actualmente. Los valores definidos son:

  • "true" - Este clúster aloja la instancia de Astra Control Center a la que se está accediendo actualmente.

credentialID

cadena

Falso

Cadena JSON que contiene un valor que indica el ID de la credencial que contiene el archivo kubeconfig para el clúster. Los valores definidos son:

  • Conforme al Astra Identifier Schema Si se proporcionan privateRouteID y connectorCapabilities con al menos la opción de relay, credentialID es opcional. Si no se proporcionan, credentialID es obligatorio, de lo contrario, se genera un error. Si se proporciona credentialID y un conector con capacidad de relay, se genera un error.

privateRouteID

cadena

Falso

Cadena JSON que contiene el ID de ubicación para los clústeres privados.

  • Longitud mínima: 1

  • Longitud máxima: 255

connectorCapabilities

array[string]

Falso

Capacidades del conector que está asociado con este clúster. Opcional para compatibilidad con versiones anteriores. Si no está presente, proxy es la capacidad asumida.

metadatos

"type_astra_metadatos_update"

Falso

Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:

  • Se ajusta al esquema de metadatos de Astra Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas. Si no se especifica al actualizar, las etiquetas del objeto de metadatos, creationTimestamp y createdBy, se conservarán sin modificaciones.

Ejemplo de solicitud
{
  "type": "application/astra-cluster",
  "version": "1.5",
  "name": "GKE-22",
  "credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31"
}

Respuesta

Status: 201, Returns the newly created cluster resource in the JSON response body.
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

Tipo de medio del recurso. Los valores definidos son:

  • "application/astra-cluster"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "1,0"

  • "1,1"

  • "1,2"

  • "1,3"

  • "1,4"

  • "1,5"

id

cadena

Verdadero

Identificador único global del recurso. Los valores definidos son:

  • Cumple con el esquema UUIDv4

nombre

cadena

Verdadero

Cadena JSON que contiene un nombre para el clúster. Si no se especifica, se usará el nombre de Kubernetes del clúster. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Esta cadena se valida internamente para evitar ataques XSS, Unicode, de traspaso de directorios y de inyección SQL

estado

cadena

Verdadero

Cadena JSON que contiene un valor que indica el estado operativo del clúster. Los valores definidos son:

  • "pendiente" - El clúster está programado para ser descubierto

  • "descubriendo" - El clúster está en proceso de ser descubierto

  • "provisioning" - El clúster está en proceso de aprovisionamiento

  • "running" - El clúster funciona con normalidad

  • "failed" - El clúster se encuentra en estado de fallo permanente

  • "eliminado" - El clúster no es accesible actualmente

  • "desconocido" - No se puede determinar el estado del clúster

stateUnready

array[string]

Verdadero

Matriz JSON de cadenas JSON, cada una de las cuales indica un motivo por el que el clúster no puede pasar al estado "en ejecución", cuando hay problemas mientras está en estado "en ejecución" o por el que ha pasado al estado "fallido" o "eliminado". Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 127

managedState

cadena

Verdadero

Cadena JSON que contiene un valor que indica el estado de gestión del clúster. Los valores definidos son:

  • "pendiente" - El clúster está programado para ser descubierto o añadido

  • "ineligible" - El cluster está en estado "running", no está bajo gestión y no es elegible para la gestión. Las razones de esta inelegibilidad se proporcionan en el valor clave unready

  • "unmanaged" - El cluster está en estado "running" o "failed", no está bajo gestión y es elegible para gestión

  • "gestionando" - El clúster se encuentra en estado "en ejecución" y está en proceso de ser gestionado

  • "managed" - El cluster está en estado "running", "failed" o "removed", y está bajo gestión

protectionState

cadena

Verdadero

Cadena JSON que contiene un valor que indica el estado de protección del clúster. Los valores definidos son:

  • "full" - La clase de almacenamiento por defecto del clúster soporta snapshots

  • "parcial" - El clúster solo tiene storageClasses que no admiten instantáneas

  • "atRisk" - La clase de almacenamiento predeterminada del clúster no admite instantáneas

protectionStateDetails

array["type_astra_stateDetail"]

Verdadero

Matriz JSON de objetos JSON que enumera detalles adicionales sobre el estado de protección actual, incluyendo por qué se alcanzó el estado actual. Si no hay detalles disponibles, esta matriz estará vacía. Los valores definidos son:

  • Artículos mínimos: 0

restoreTargetSupported

cadena

Falso

Cadena JSON que contiene un valor que indica la capacidad del clúster para ser objetivo de operaciones de gestión de datos de aplicaciones. Los valores definidos son:

  • "true" - El clúster es un objetivo elegible para las operaciones de gestión de datos de la app.

  • "false" - El clúster no es un objetivo elegible para las operaciones de gestión de datos de la app.

snapshotSupported

cadena

Falso

Cadena JSON que contiene un valor que indica la capacidad del clúster para realizar operaciones de tipo copia de seguridad de gestión de datos de aplicaciones. Los valores definidos son:

  • "true" - El clúster es elegible para realizar operaciones de gestión de datos de la app.

  • "false" - El clúster no es apto para realizar operaciones de gestión de datos de la app.

managedStateUnready

array[string]

Verdadero

Matriz JSON de cadenas JSON, cada una de las cuales indica una razón por la que el clúster no es elegible para ser gestionado, o que el clúster está gestionado pero se han encontrado errores no fatales mientras se gestionaba el clúster. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 127

managedTimestamp

cadena

Falso

Cadena JSON que contiene la marca de tiempo que indica cuándo se gestionó el clúster. Los valores definidos son:

  • Conforme al esquema de fecha y hora ISO-8601. Esta clave solo se devuelve cuando un clúster tiene un managedState de "managed".

tridentVersion

cadena

Falso

Cadena JSON que contiene la versión de Trident instalada en el clúster. Los valores definidos son:

  • Conforme al esquema de versiones de software

tridentManagedState

cadena

Falso

Cadena JSON que contiene uno de un conjunto de valores enumerados que indican el estado de gestión de Trident en este clúster. Los valores definidos son:

  • "managed" - La instancia de Trident en el clúster es gestionada por Astra

  • "unmanaged" - La instancia de Trident en el clúster no está gestionada por Astra

tridentManagedStateDesired

cadena

Falso

Cadena JSON que contiene un valor que indica el estado de gestión deseado para Trident. Los valores definidos son:

  • "managed" - Gestiona Trident en este clúster

  • "unmanaged" - No gestionar Trident en este clúster

tridentManagedStateDetails

array["type_astra_stateDetail"]

Falso

Matriz JSON de objetos JSON que enumera detalles adicionales sobre por qué el estado pasó a "gestionado" o "no gestionado". + Si no hay detalles disponibles, esta matriz estará vacía.

  • Elementos mínimos: 0

tridentManagedStateAllowed

array[string]

Falso

Estados que pueden solicitarse en un determinado tridentManagedState. Los siguientes estados pueden solicitarse en cada estado definido:

  • "managed": "gestionado"

  • "unmanaged": "no gestionado"

inUse

cadena

Verdadero

Cadena JSON que contiene un valor que indica si el clúster tiene alguna aplicación gestionada y, por lo tanto, no se puede eliminar. Los valores definidos son:

  • "false" - El clúster no está gestionado o está gestionado pero no tiene aplicaciones gestionadas asociadas

  • "true" - El clúster está gestionado y tiene aplicaciones gestionadas asociadas con él

accHost

cadena

Falso

Cadena JSON que indica que este cluster aloja la instancia de Astra Control Center a la que se está accediendo actualmente. Los valores definidos son:

  • "true" - Este clúster aloja la instancia de Astra Control Center a la que se está accediendo actualmente.

clusterType

cadena

Verdadero

Cadena JSON que contiene un valor que indica el tipo de clúster. Los valores definidos son:

  • "gke" - Kubernetes alojado en Google Kubernetes Engine

  • "aks" - Kubernetes alojado en Microsoft Azure Kubernetes Service

  • "eks" - Kubernetes alojado en Amazon Elastic Kubernetes Service

  • "rke" - El clúster es de tipo Rancher

  • "tanzu" -El clúster es de tipo Tanzu Kubernetes Grid

  • "openshift" - El clúster es de tipo OpenShift

  • "kubernetes" - El clúster es Kubernetes genérico

clusterVersion

cadena

Falso

Cadena JSON que contiene un valor que indica la representación semántica de versiones del entorno de clúster. Para clústeres Kubernetes, esta es la versión de Kubernetes. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 31

clusterVersionString

cadena

Falso

Cadena JSON que contiene un valor que indica la información de versionado ampliada para el entorno de clúster. Para los clústeres Kubernetes, esta es la versión completa de Kubernetes. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 31

clusterCreationTimestamp

cadena

Falso

Cadena JSON que contiene la marca de tiempo que indica cuándo se creó originalmente el clúster. Los valores definidos son:

  • Cumple con el esquema de fecha y hora ISO-8601

espacios de nombres

array[string]

Falso

Matriz JSON de cadenas JSON, cada una de las cuales indica un espacio de nombres dentro del clúster. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

defaultStorageClass

cadena

Falso

Cadena JSON que contiene un ID de clase de almacenamiento que corresponde a la clase de almacenamiento predeterminada establecida en Kubernetes. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

cloudID

cadena

Verdadero

Cadena JSON que contiene un valor que indica el ID de la nube en la que se ejecuta el clúster. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

credentialID

cadena

Falso

Cadena JSON que contiene un valor que indica el ID de la credencial que contiene el archivo kubeconfig para el clúster. Los valores definidos son:

  • Conforme al Astra Identifier Schema Si se proporcionan privateRouteID y connectorCapabilities con al menos la opción de relay, credentialID es opcional. Si no se proporcionan, credentialID es obligatorio, de lo contrario, se genera un error. Si se proporciona credentialID y un conector con capacidad de relay, se genera un error.

ubicación

cadena

Falso

Cadena JSON que contiene un valor proporcionado por la nube en la que se ejecuta el clúster, indicando la ubicación específica de la nube del clúster. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

isMultizonal

cadena

Falso

Cadena JSON que contiene un valor proporcionado por la nube en la que se ejecuta el clúster, indicando si el clúster abarca dos o más zonas de disponibilidad. Los valores definidos son:

  • "true" - El cluster abarca dos o más zonas de disponibilidad

  • "false" - El clúster se encuentra íntegramente dentro de una única zona de disponibilidad

privateRouteID

cadena

Falso

Cadena JSON que contiene el ID de ubicación para los clústeres privados.

  • Longitud mínima: 1

  • Longitud máxima: 255

connectorCapabilities

array[string]

Falso

Capacidades del conector que está asociado con este clúster. Opcional para compatibilidad con versiones anteriores. Si no está presente, proxy es la capacidad asumida.

apiServiceID

cadena

Falso

Cadena JSON que contiene el UUID del objeto de servicio API de Kubernetes (k8s). Se utiliza para identificar un clúster de forma exclusiva.

metadatos

"type_astra_metadatos_update"

Verdadero

Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:

  • Se ajusta al esquema de metadatos de Astra Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas. Si no se especifica al actualizar, las etiquetas del objeto de metadatos, creationTimestamp y createdBy, se conservarán sin modificaciones.

Ejemplo de respuesta
{
  "type": "application/astra-cluster",
  "version": "1.5",
  "id": "547e24b9-ddf4-558f-8397-e97e732868e4",
  "name": "GKE-22",
  "state": "running",
  "stateUnready": [],
  "managedState": "unmanaged",
  "managedStateUnready": [],
  "protectionState": "full",
  "protectionStateDetails": [],
  "tridentVersion": "21.07.2",
  "tridentManagedState": "managed",
  "tridentManagedStateDetails": [],
  "inUse": "false",
  "clusterType": "kubernetes",
  "clusterVersion": "1.91.1",
  "clusterVersionString": "1.19.1",
  "clusterCreationTimestamp": "2020-08-06T12:24:52.256624Z",
  "namespaces": [
    "kube-system",
    "kube-public",
    "my-app-1"
  ],
  "defaultStorageClass": "31c95aba-99d9-4987-b1bb-000dfce5952c",
  "cloudID": "548bdc1f-f00e-4a23-a062-83265d224d46",
  "credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31",
  "location": "europe-west4",
  "isMultizonal": "false",
  "apiServiceID": "6bf33af2-872a-4553-a891-26b510c3edbe",
  "metadata": {
    "labels": [],
    "creationTimestamp": "2022-10-06T20:58:16.305662Z",
    "modificationTimestamp": "2022-10-06T20:58:16.305662Z",
    "createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
  }
}

Respuesta

Status: 401, Unauthorized
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

Ejemplo de respuesta
{
  "type": "https://astra.netapp.io/problems/3",
  "title": "Missing bearer token",
  "detail": "The request is missing the required bearer token.",
  "status": "401"
}

Respuesta

Status: 400, Bad request
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

Ejemplo de respuesta
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

Respuesta

Status: 409, Conflict
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

invalidFields

array["invalidFields"]

Falso

Lista de campos no válidos en el cuerpo de la solicitud

Ejemplo de respuesta
{
  "type": "https://astra.netapp.io/problems/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

Respuesta

Status: 403, Forbidden
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

Ejemplo de respuesta
{
  "type": "https://astra.netapp.io/problems/11",
  "title": "Operation not permitted",
  "detail": "The requested operation isn't permitted.",
  "status": "403"
}

Respuesta

Status: 500, Internal server error
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

Ejemplo de respuesta
{
  "type": "https://astra.netapp.io/problems/64",
  "title": "Storage classes not found",
  "detail": "Storage classes from Trident weren't found.",
  "status": "500"
}

Error

Status: 404, Not found
Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

estado

cadena

Verdadero

correlationID

cadena

Falso

Ejemplo de respuesta de error
{
  "type": "https://astra.netapp.io/problems/2",
  "title": "Collection not found",
  "detail": "The collection specified in the request URI wasn't found.",
  "status": "404"
}

Definiciones

Ver definiciones

etiqueta_tipo_astra

Nombre Tipo Obligatorio Descripción

nombre

cadena

Verdadero

valor

cadena

Verdadero

type_astra_metadatos_update

Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:

  • Se ajusta al esquema de metadatos de Astra Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas. Si no se especifica al actualizar, las etiquetas del objeto de metadatos, creationTimestamp y createdBy, se conservarán sin modificaciones.

Nombre Tipo Obligatorio Descripción

etiquetas

array["etiqueta_tipo_astra"]

Falso

CreationTimestamp

cadena

Falso

Modificación.Marca de hora

cadena

Falso

CreatedBy

cadena

Falso

modifiedBy

cadena

Falso

type_astra_stateDetail

Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

invalidParams

Nombre Tipo Obligatorio Descripción

nombre

cadena

Verdadero

Nombre del parámetro de consulta no válido

motivo

cadena

Verdadero

Razón por la que el parámetro de consulta no es válido

invalidFields

Nombre Tipo Obligatorio Descripción

nombre

cadena

Verdadero

Nombre del campo no válido del cuerpo de la solicitud

motivo

cadena

Verdadero

Motivo por el que el campo del cuerpo de la solicitud no es válido