Exemplo 1: criação de uma configuração de AS
Cenários
Esta seção descreve como criar uma configuração de AS chamando APIs. Para mais detalhes, consulte Chamada das API..
Uma configuração de AS define as especificações dos ECSs a serem adicionados a um grupo de AS. As especificações incluem o flavor do ECS, a imagem e o tamanho do disco. Você pode usar especificações de um ECS existente ou criar uma configuração de AS.
Restrições
- A configuração de AS é desacoplada do grupo de AS. Uma configuração de AS pode ser usada por vários grupos de AS.
- Até 100 configurações de AS por conta podem ser criadas por padrão.
APIs envolvidas
Para criar uma configuração de AS, você precisa executar várias operações, como consultar um token de usuário, flavors de ECS e imagens. As seguintes APIs são necessárias:
- Obtenção de um token de usuário: determine o token de usuário que pode ser usado para autenticar a chamada de outras APIs.
- Consulta de detalhes sobre flavors de ECS: determine o flavor de ECS a ser usado para criar a configuração de AS.
- Consulta de imagens: determine a imagem para a configuração de AS.
- Consulta de pares de chaves SSH: defina o modo de logon como par de chaves.
- Criação de uma configuração de AS: crie uma configuração de AS usando o flavor e a imagem que você especificar.
- Consulta de uma configuração de AS: verifique a criação da configuração de AS.
Procedimento
- Determine o token do usuário que pode ser usado para autenticar a chamada de outras APIs.
- Visualize o token do usuário. Para obter detalhes, consulte Obtenção de um token de usuário.
- Obtenha o valor de X-Subject-Token no cabeçalho de resposta.
- Determine o flavor de ECS.
- Visualize os flavors do ECS. Para obter detalhes, consulte Consulta de detalhes sobre flavors de ECS.
- Selecione um flavor com base nos requisitos do local e registre o ID do flavor.
- Determine a imagem.
- Visualize imagens. Para obter detalhes, consulte Consulta de imagens.
- Selecione uma imagem com base nos requisitos do site e registre o ID da imagem.
- Defina o modo de logon para Key pair.
- Visualize pares de chaves SSH. Para obter detalhes, consulte Consultar pares de chaves SSH.
- Selecione um par de chaves conforme necessário e registre o nome do par de chaves.
- Crie uma configuração de AS usando o flavor e a imagem que você especificar.
- API
Formato de URI: POST /autoscaling-api/v1/{project_id}/scaling_configuration
Para obter detalhes sobre os parâmetros de solicitação da API, consulte Criação de uma configuração de AS.
- Exemplo de solicitação
POST: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_configuration
Corpo:
{ "scaling_configuration_name": "as-config-tlzq", "instance_config": { "flavorRef": "s3.xlarge.4", "imageRef": "627a1223-2ca3-46a7-8d5f-7aef22c74ee6", "disk": [ { "size": 40, "volume_type": "SATA", "disk_type": "SYS" } ], "key_name": "100vm_key", "multi_flavor_priority_policy": "PICK_FIRST" } }
- Exemplo de resposta
{ "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2" }
- API
- Verifique a criação da configuração do AS.
- API
Formato de URI: GET /autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}
Para mais detalhes, consulte Consulta de uma configuração de AS.
- Exemplo de solicitação
GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_configuration/f8327883-6a07-4497-9a61-68c03e8e72a2
onde
f8327883-6a07-4497-9a61-68c03e8e72a2 é o UUID da configuração de AS criada.
- Exemplo de resposta
{ "scaling_configuration": { "tenant": "0605767c2e80d5762fd0c0146a10aaf2", "scaling_configuration_id": "f8327883-6a07-4497-9a61-68c03e8e72a2", "scaling_configuration_name": " config_name_1", "instance_config": { "disk": [ { "size": 40, "volume_type": "SATA", "disk_type": "SYS" }, { "size": 100, "volume_type": "SATA", "disk_type": "DATA" } ], "adminPass": "***", "personality": null, "instance_name": null, "instance_id": null, "flavorRef": "103", "imageRef": "627a1223-2ca3-46a7-8d5f-7aef22c74ee6", "key_name": "keypair01", "public_ip": null, "user_data": null, "metadata": {}, "security_groups": null, "multi_flavor_priority_policy": "PICK_FIRST" }, "create_time": "2015-07-23T01:04:07Z" } }
- API