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

Introdução

Esta seção descreve como usar as API GaussDB(DWS) para gerenciar clusters. O procedimento dos clusters de gerenciamento é o seguinte:

  1. Chame a API em Autenticação para obter o token do usuário, que será colocado no cabeçalho da solicitação para autenticação em uma solicitação subsequente.
  2. Chame a API em Autenticação para obter os tipos de nó suportados.
  3. Chame a API em Criação de um cluster para criar um cluster.
  4. Chame a API em Consulta da lista de clusters para obter as informações do cluster.
  5. Chame a API em Consulta de detalhes do cluster para ver os detalhes do cluster.
  6. Chame a API em Criação de um snapshot para criar um snapshot.
  7. Chame a API em Consulta da lista de snapshot para verificar se o snapshot foi criado com êxito.
  8. Chame a API em Restauração de um cluster para restaurar um cluster usando seu snapshot.
  9. Chame a API em Exclusão de um snapshot manual para excluir um snapshot indesejado.
  10. Chame a API em Exclusão de um cluster para excluir um cluster concluído ou indesejado.

Pré-requisitos

Gerenciamento de um cluster

Os valores a seguir são exemplos (substitua-os com base na situação real).

  • Endpoint do IAM: iam_endpoint
  • Ponto final do GaussDB(DWS): dws_endpoint
  • ID da VPC: 219ab8a0-1272-4049-a383-8ad0b770fa11
  • ID da sub-rede: d23ef2e9-8b90-49b3-bc4a-fd7d6bea6bec
  • ID do grupo de segurança: 12e3c23a-8710-4b75-95e4-5c8d7f68ef3c
  • ID do projeto: 9bc552e6-19af-4326-800d-281a92984636

Execute as seguintes operações para gerenciar o cluster.

  1. Antes de chamar outras API, chame a API em Autenticação para obter o token e defina-o como uma variável de ambiente.

    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. Obtenha o valor de X-Subject-Token do cabeçalho da resposta da seguinte forma. X-Subject-Token indica o token.
      X-Subject-Token:MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
    2. Execute o seguinte comando para definir o token como uma variável de ambiente:

      export Token={X-Subject-Token}

      X-Subject-Token é o token obtido na etapa anterior.
      export Token=MIidkgYJKoZIhvcNAQcCoIidgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...

  2. Chame a API em Consulta dos tipos de nó suportados para obter os tipos de nó suportados.

    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

    A resposta da solicitação é a seguinte:

    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. Chame a API em Criação de um cluster para criar um cluster.

    Os exemplos para configurar o cluster são os seguintes:

    • Nome do cluster: dws-demo
    • Nome de usuário do administrador: dbadmin
    • Senha do administrador: Dws2017demo!
    • Porto: 8000
    • Tipo de nó: dws.d1.xlarge
    • Número de nós: 3
    • IP elástico (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

    Se o código de status 200 for retornado, a solicitação para criar um cluster será enviada com êxito.

  4. Chame a API em Consulta da lista de clusters para obter as informações do cluster.

    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

    A resposta da solicitação é a seguinte:

    {
            "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.ap-southeast-1.myhuaweicloud.com",
                    "jdbc_url": "jdbc:postgresql://dws-demo.ap-southeast-1.myhuaweicloud.com/<YOUR_DATABASE_name>"
                }
             ],
            "endpoints": [
                {
                    "connect_info": "dws-demo.ap-southeast-1.myhuaweicloud.com",
                    "jdbc_url": "jdbc:postgresql://dws-demo.ap-southeast-1.myhuaweicloud.com/<YOUR_DATABASE_name>"
                },
             ] , 
            "updated": "2018-01-15T12:50:06",
            "created": "2018-01-15T12:50:06", 
            "recent_event": 1
            }
        ]
    }
    • Se status for CREATING, o cluster está sendo criado. Se status for AVAILABLE, o cluster é criado com êxito.
    • O UUID do cluster dws-demo é 7ba031f6-81f4-4670-ad20-c490b91877e5. Registre o UUID para uso posterior.

  5. Chame a API em Consulta de detalhes do cluster para ver os detalhes do cluster.

    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

    A resposta da solicitação é a seguinte:

    {
        "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.ap-southeast-1.myhuaweicloud.com",
                    "jdbc_url": "jdbc:postgresql://dws-demo.ap-southeast-1.myhuaweicloud.com/<YOUR_DATABASE_name>"
             }
             ],
            "endpoints": [
            {
                    "connect_info": "dws-demo.ap-southeast-1.myhuaweicloud.com",
                    "jdbc_url": "jdbc:postgresql://dws-demo.ap-southeast-1.myhuaweicloud.com/<YOUR_DATABASE_name>"
            },
            {
                    "connect_info": "192.168.0.12:8000",
                    "jdbc_url": "jdbc:postgresql://192.168.0.12:8000/<YOUR_DATABASE_name>"
            }
             ],
            "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 e endpoints podem ser consultados a partir da resposta. Depois que o cluster for criado com êxito, você poderá usar public_endpoints ou endpoints para acessar o cluster de uma origem externa.

  6. Chame a API em Criação de um snapshot para criar um snapshot.

    Criar snapshot snapshot snapshotForDemoCluster para cluster 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

    A resposta da solicitação é a seguinte:

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

    Se o código de status 200 for retornado, a solicitação para criar um instantâneo será enviada com êxito. id de registro para que o ID possa ser usado quando você consulta os detalhes do snapshot mais tarde.

  7. Chame a API em Consulta da lista de snapshot para verificar se o snapshot foi criado com êxito.

    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

    Se o status do snapshot na resposta for AVAILABLE, o snapshot será criado com êxito. Se o status do snapshot for CREATING, o snapshot está sendo criado.

    { 
        "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. Chame a API em Restauração de um cluster para restaurar um cluster usando seu snapshot.

    Restaure snapshot snapshotForDemoCluster para o novo cluster 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

    Se o código de status 200 for retornado, o cluster será restaurado com êxito. Você pode verificar o status de restauração do cluster executando operações em Consulta de detalhes do snapshot.

  9. Chame a API em Exclusão de um snapshot manual para excluir um snapshot indesejado.

    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

    Se o código de status 202 for retornado, o instantâneo será excluído com êxito.

  10. Chame a API em Exclusão de um cluster para excluir um cluster indesejado.

    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

    Se o código de status 202 for retornado, o cluster será excluído com êxito.