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 2022-11-07 GMT+08:00

Tareas iniciales

Esta sección describe cómo usar las API de GaussDB(DWS) para gestionar clústeres. El procedimiento de los clústeres de gestión es el siguiente:

  1. Llame a la API en Autenticación para obtener el token de usuario, que se colocará en el encabezado de solicitud para la autenticación en una solicitud posterior.
  2. Llame a la API en Consulta de los tipos de nodos admitidos para obtener los tipos de nodo admitidos.
  3. Llame a la API en Creación de un clúster para crear un clúster.
  4. Llame a la API en Consulta de la lista de clústeres para obtener la información del clúster.
  5. Llame a la API en Consulta de los detalles del clúster para ver los detalles del clúster.
  6. Llame a la API en Creación de una instantánea para crear una instantánea.
  7. Llame a la API en Consulta de la lista de instantáneas para comprobar si la instantánea se ha creado correctamente.
  8. Llame a la API en Restauración de un clúster para restaurar un clúster con su instantánea.
  9. Llame a la API en Eliminación de una instantánea manual para eliminar una instantánea no deseada.
  10. Llame a la API en Eliminación de un clúster para eliminar un clúster terminado o no deseado.

Prerrequisitos

Gestión de un clúster

Los siguientes valores son ejemplos (reemplazarlos en función de la situación real).

  • Punto final de IAM: iam_endpoint
  • Punto final de GaussDB(DWS): dws_endpoint
  • ID de VPC: 219ab8a0-1272-4049-a383-8ad0b770fa11
  • ID de subred: d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec
  • ID del grupo de seguridad: 12e3c23a-8710-4b75-95e4-5c8d7f68ef3c
  • ID de proyecto: 9bc552e6-19af-4326-800d-281a92984636

Realice las siguientes operaciones para gestionar el clúster.

  1. Antes de Llamer a otras API, Llame a la API en Autenticación para obtener el token y establecerlo como una variable de entorno.

    curl -H "Content-type:application/json" https://{iam_endpoint}/v3/auth/tokens -X POST -d '{
        "auth": {
            "identity": {
                "methods": [
                    "password"
                ],
                "password": {
                    "user": {
                        "name": "testname",
                        "domain": {
                            "name": "testname"
                        },
                        "password": "Passw0rd"
                    }
                }
            },
            "scope": {
                "project": {
                    "name": "ap-southeast-1"
                }
            }
        }
    }' -v -k
    1. Obtenga el valor de X-Subject-Token del encabezado de respuesta de la siguiente manera. X-Subject-Token indica el token.
      X-Subject-Token:MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
    2. Ejecute el siguiente comando para establecer el token como una variable de entorno:

      export Token={X-Subject-Token}

      X-Subject-Token es el token obtenido en el paso anterior.
      export Token=MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...

  2. Llame a la API en Consulta de los tipos de nodos admitidos para obtener los tipos de nodo admitidos.

    curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/node_types -v -k

    La respuesta a la solicitud es la siguiente:

    status CODE 200
    {
        "node_types": [
            {
                "spec_name": "dws.d2.xlarge",
                "id": "ebe532d6-665f-40e6-a4d4-3c51545b6a67",
                "detail": [
                    {
                        "type": "vCPU", 
                        "value": "4"
                    },
                    {
                        "value": "1675",
                        "type": "LOCAL_DISK",
                        "unit": "GB"
                    },
                    {
                        "type": "mem",
                        "value": "32",
                        "unit": "GB"
                    }
                ]
            },
            {
                "spec_name": "dws.m1.xlarge.ultrahigh",
                "id": "ebe532d6-665f-40e6-a4d4-3c51545b4f71",
                "detail": [
                    {
                        "type": "vCPU",
                        "value": "4"
                    },
                    {
                        "value": "512",
                        "type": "SSD",
                        "unit": "GB"
                    },
                    {
                        "type": "mem",
                        "value": "32",
                        "unit": "GB"
                    }
                ]
            }
        ]
    }

  3. Llame a la API en Creación de un clúster para crear un clúster.

    Los ejemplos para configurar el clúster son los siguientes:

    • Nombre del clúster: dws-demo
    • Nombre de usuario del administrador: dbadmin
    • Contraseña del administrador: Dws2017demo!
    • Puerto: 8000
    • Tipo de nodo: dws.d1.xlarge
    • Número de nodos: 3
    • IP elástica (EIP): auto_assign
    curl -X POST -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
        "node_type": "dws.d1.xlarge",
            "number_of_node": 3,
            "subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec",
            "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c",
            "vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11",
            "port": 8000,
            "name": "dws-demo",
            "user_name": "dbadmin",
            "user_pwd": "Dws2017demo!",
            "public_ip": {
                "public_bind_type": "auto_assign"
            }
    }' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters -v -k

    Si se devuelve el código de estado 200, se envía con éxito la solicitud para crear un grupo.

  4. Llame a la API en Consulta de la lista de clústeres para obtener la información del clúster.

    curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters -k –v

    La respuesta a la solicitud es la siguiente:

    {
            "clusters": [
            {
            "id": "7ba031f6-81f4-4670-ad20-c490b91877e5",
            "status": "AVAILABLE",
            "sub_status": "NORMAL",            
            "task_status": null,
            "action_progress": null,
            "node_type":  "dws.d1.xlarge",
            "subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec",
            "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c",
            "number_of_node": 3,
            "availability_zone": "ap-southeast-1",
            "port": 8000,
            "name": "dws-demo",
            "version": "1.1.0",
            "vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11",
            "user_name": "dbadmin",
            "public_ip": {
                "public_bind_type": "auto_assign",
                "eip_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574"
             },
            "public_endpoints": [
                {
                    "public_connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
    
                }
             ],
            "endpoints": [
                {
                    "connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
    
                },
             ] , 
            "updated": "2018-01-15T12:50:06",
            "created": "2018-01-15T12:50:06", 
            "recent_event": 1
            }
        ]
    }
    • Si status es CREATING, se está creando el clúster. Si status es AVAILABLE, el clúster se crea correctamente.
    • El UUID del clúster dws-demo es 7ba031f6-81f4-4670-ad20-c490b91877e5. Registre el UUID para su uso posterior.

  5. Llame a la API en Consulta de los detalles del clúster para ver los detalles del clúster.

    curl -X GET -H "Content-type:application/json" -H "X-Auth-Token:$Token" 
     https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters/7ba031f6-81f4-4670-ad20-c490b91877e5 -k -v

    La respuesta a la solicitud es la siguiente:

    {
        "cluster": {
            "id": "7ba031f6-81f4-4670-ad20-c490b91877e5",
            "status": "AVAILABLE",
            "name": "dws-demo",
            "updated": "2018-01-15T12:50:06",
            "created": "2018-01-15T12:50:06",
            "user_name": "dbadmin",
            "sub_status": "NORMAL",
            "task_status": null,
            "action_progress": null,
            "node_type":  "dws.d1.xlarge",        
            "node_type_id": "5ddb1071-c5d7-40e0-a874-8a032e81a697",
            "subnet_id": "d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec",
            "security_group_id": "12e3c23a-8710-4b75-95e4-5c8d7f68ef3c",
            "number_of_node": 3,
            "availability_zone": "ap-southeast-1",
            "port": 8000,
            "vpc_id": "219ab8a0-1272-4049-a383-8ad0b770fa11",
            "public_ip": {
                "public_bind_type": "auto_assign",
                "eip_id": "85b20d7e-9eb7-4b2a-98f3-3c8843ea3574"
            },
            "public_endpoints": [
            {
                    "public_connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
    
             }
             ],
            "endpoints": [
            {
                    "connect_info": "dws-demo.cn-north-4.myhuaweicloud.com",
    
            }
             ],
            "version": "1.1.0",
            "maintain_window": {
                "day": "Wed",
                "start_time": "22:00",
                "end_time": "02:00"
            }, 
            "recent_event": 1,
            "tags": null, 
            "parameter_group": {
                  "id": "157e9cc4-64a8-11e8-adc0-fa7ae01bbebc",               "name": "Default-Parameter-Group-dws ",               "status": "In-Sync"
            } 
        }
    }

    public_endpoints y endpoints se pueden consultar desde la respuesta. Una vez creado correctamente el clúster, puede utilizar public_endpoints o endpoints para tener acceso al clúster desde un origen externo.

  6. Llame a la API en Creación de una instantánea para crear una instantánea.

    Crear instantánea snapshotForDemoCluster para clúster dws-demo.
    curl -X POST -H "Content-type:application/json" -H "X-Auth-Token:$Token" -d '{
        "snapshot": {
            "name": "snapshotForDemoCluster",
            "cluster_id": "7ba031f6-81f4-4670-ad20-c490b91877e5",
            "description": "Snapshot description" 
        }
    }' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots -k -v

    La respuesta a la solicitud es la siguiente:

    {
      "snapshot": { 
          "id": "2a4d0f86-67cd-408a-8b66-017454fb7793" 
      }
    }

    Si se devuelve el código de estado 200, se envía con éxito la solicitud para crear una instantánea. id de registro para que el ID pueda usarse cuando consulte los detalles de la instantánea más tarde.

  7. Llame a la API en Consulta de la lista de instantáneas para comprobar si la instantánea se ha creado correctamente.

    curl -X GET -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/2a4d0f86-67cd-408a-8b66-017454fb7793 -k -v

    Si el estado de la instantánea en la respuesta es AVAILABLE, la instantánea se crea correctamente. Si el estado de la instantánea es CREATING, se está creando la instantánea.

    { 
        "snapshot": { 
            "id": "2a4d0f86-67cd-408a-8b66-017454fb7793", 
            "name": "snapshotForDemoCluster", 
            "description": "Snapshot description", 
            "started": "2018-01-18T13:59:23Z", 
            "finished": "2018-01-18T13:01:40Z",
            "size": 500, 
            "status": "AVAILABLE", 
            "type": "MANUAL", 
            "cluster_id": "4f87d3c4-9e33-482f-b962-e23b30d1a18c" 
        } 
    }

  8. Llame a la API en Restauración de un clúster para restaurar un clúster con su instantánea.

    Restaure instantánea snapshotForDemoCluster en el nuevo clúster dws-restore.
    curl -X POST -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
        "restore": {
            "name": "dws-restore"
        }
    }' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/2a4d0f86-67cd-408a-8b66-017454fb7793/actions -v -k

    Si se devuelve el código de estado 200, el grupo se restaura con éxito. Puede comprobar el estado de restauración del clúster realizando operaciones en Consulta de detalles de instantáneas.

  9. Llame a la API en Eliminación de una instantánea manual para eliminar una instantánea no deseada.

    curl -X DELETE -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/snapshots/2a4d0f86-67cd-408a-8b66-017454fb7793 -v -k

    Si se devuelve el código de estado 202, la instantánea se elimina con éxito.

  10. Llame a la API en Eliminación de un clúster para eliminar un clúster no deseado.

    curl -X DELETE -H 'Content-type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '{
        "keep_last_manual_snapshot":0
    }' https://{dws_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/clusters/7ba031f6-81f4-4670-ad20-c490b91877e5 -v -k

    Si se devuelve el código de estado 202, el grupo se elimina con éxito.