Anexação de uma NIC a um ECS
Cenários
Se um ECS exigir as várias NIC, você poderá chamar a API para criar as NIC e anexá-las ao ECS.
Uma NIC pode ser anexada definindo o parâmetro nics durante a criação do ECS ou após a criação do ECS. Esta seção descreve como anexar uma NIC a um ECS criado.
As API envolvidas
Anexar uma NIC envolve as seguintes API:
Procedimento
- Crie uma NIC.
- Crie uma rede.
- API
Formato URI: POST /v1/{id_do_projeto}/vpcs
Para obter detalhes, consulte Criação de uma VPC.
- Exemplo de solicitação
POST https://{Endpoint}/v1/{project_id}/vpcs
Obtenha {endpoint} do Regiões e Endpoints.
Corpo:
{ "vpc": { "name": "vpc", "description": "test", "cidr": "192.168.0.0/16" } }
- Exemplo de resposta
{ "vpc": { "id": "99d9d709-8478-4b46-9f3f-2206b1023fd3", "name": "vpc", "description": "test", "cidr": "192.168.0.0/16", "status": "CREATING", "routes": [] } }
- API
- Registre o ID do vpc na resposta.
- Criar uma sub-rede.
- API
Formato URI: POST /v2.0/sub-redes
Para obter detalhes, consulte Criação de uma sub-rede.
- Exemplo de solicitação
POST: https://{endpoint}/v2.0/subnets
Obtenha {endpoint} do Regiões e Endpoints.
Corpo:
{ "subnet": { "name": "testsubnet", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1", "cidr": "10.0.10.0/24" } }
- Exemplo de resposta
{ "subnet": { "name": "testsubnet", "cidr": "10.0.10.0/24", "id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "enable_dhcp": true, "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "dns_nameservers": [ "8.8.8.8", "8.8.8.7" ], "allocation_pools": [ { "start": "10.0.10.2", "end": "10.0.10.254" } ], "host_routes": [], "ip_version": 4, "gateway_ip": "10.0.10.1" } }
- API
- Registre o ID da subnet na resposta.
- Crie um port.
- API
Para obter detalhes, consulte Criação de um porta.
- Exemplo de solicitação
Postagem:https://{endpoint}/v2.0/ports
Obtenha {endpoint} do Regiões e Endpoints.
Corpo:
{ "port": { "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5" } ], "name": "test", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27" } }
- Exemplo de resposta
{ "port": { "id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "name": "test", "status": "DOWN", "admin_state_up": true, "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "mac_address": "fa:16:3e:db:91:f6", "network_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "tenant_id": "74610f3a5ad941998e91f076297ecf27", "device_id": "", "device_owner": "", "security_groups": [ "93031677-2895-4b83-855a-637e309aa9e6" ], "extra_dhcp_opts": [], "allowed_address_pairs": [], "binding:vnic_type": "normal", "binding:vif_details": {}, "binding:profile": {} } }
- API
- Registre o ID do port na resposta.
- Crie uma rede.
- Conecte a NIC ao ECS.
- API
Formato URI: POST /v2.1/{tenant_id}/servers/{server_id}/os-interface
Para mais detalhes, consulte Adição de uma NIC a um ECS.
- Exemplo de solicitação
POST: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-interface
Obtenha {endpoint} do Regiões e Endpoints.
Corpo:
{ "interfaceAttachment": { "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4" } }
- Exemplo de resposta
{ "interfaceAttachment": { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "net_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "mac_addr": "fa:16:3e:db:91:f6" } }
- API
- Verifique o anexo da NIC.
- API
Formato URI: GET /v2.1/{tenant_id}/servers/{server_id}/os-interface
Para mais detalhes, consulte Consulta das NIC.
- Exemplo de solicitação
GET: https://{endpoint}/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-interface
Obtenha {endpoint} do Regiões e Endpoints.
- Exemplo de resposta
{ "interfaceAttachments": [ { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "46712fe4-25bd-4eae-874b-a528abfb76be", "ip_address": "192.168.0.50" } ], "port_id": "dd706739-b696-40be-a9f4-477ce478cb18", "net_id": "17251a8f-a671-4d7c-85d9-af5415962994", "mac_addr": "fa:16:3e:a5:e0:3c" }, { "port_state": "ACTIVE", "fixed_ips": [ { "subnet_id": "877b5567-e8c6-4a0d-aabf-0f13da225fe5", "ip_address": "10.0.10.233" } ], "port_id": "7bf1c36f-e7f8-478a-be3d-674b486abbc4", "net_id": "c4a3019d-1ac0-4cfb-a838-2342eb992e6b", "mac_addr": "fa:16:3e:db:91:f6" } ] }
- API