Os metadados de uma instância de contêiner elástico (ECI) fornecem detalhes sobre a instância e seus contêineres, como nomes, IDs, endereços IP e informações da interface de rede. Utilize esses dados para gerenciar e operar os contêineres. Este tópico descreve como recuperar esses metadados diretamente de um contêiner em execução.
Método 1: Acessar metadados via MetaServer
Conecte-se ao contêiner. Para mais informações, consulte Connect to an ECI instance by using Workbench.
-
Acesse os metadados.
NotaCaso o curl não esteja instalado no ambiente do contêiner, instale-o antes de prosseguir.
curl http://100.100.100.200/latest/meta-data/<metadata>Substitua
<metadata>pelo item de metadado específico que deseja consultar. Por exemplo, para obter o ID da instância, execute o seguinte comando:curl http://100.100.100.200/latest/meta-data/instance-idA tabela a seguir lista os itens básicos de metadados disponíveis para consulta em uma instância ECI.
Parâmetro
Descrição
/dns-conf/nameservers
Configuração de DNS da instância.
/eipv4
Endereço IP Elástico (IPv4) da instância.
/hostname
Nome do host da instância. Corresponde ao ContainerGroupName.
/instance-id
ID da instância.
/mac
Endereço MAC da instância.
/network/interfaces/
Lista de endereços MAC das interfaces de rede.
/network/interfaces/macs/[mac]/network-interface-id
ID da interface de rede. Substitua [mac] pelo endereço MAC da instância.
/network/interfaces/macs/[mac]/netmask
Máscara de sub-rede da interface de rede.
/network/interfaces/macs/[mac]/vswitch-cidr-block
Bloco CIDR IPv4 do vSwitch ao qual a interface de rede pertence.
/network/interfaces/macs/[mac]/vpc-cidr-block
Bloco CIDR IPv4 da VPC à qual a interface de rede pertence.
/network/interfaces/macs/[mac]/private-ipv4s
Lista de endereços IPv4 privados atribuídos à interface de rede.
/network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks
Bloco CIDR IPv6 da VPC à qual a interface de rede pertence. Disponível apenas para instâncias em uma VPC com IPv6 ativado.
/network/interfaces/macs/[mac]/vswitch-id
ID do vSwitch ao qual a interface de rede pertence.
/network/interfaces/macs/[mac]/vpc-id
ID da VPC à qual a interface de rede pertence.
/network/interfaces/macs/[mac]/primary-ip-address
Endereço IP privado principal da interface de rede.
/network/interfaces/macs/[mac]/gateway
Endereço de gateway IPv4 da interface de rede.
/instance/max-netbw-egress
Largura de banda interna de saída máxima do tipo de instância. Unidade: Kbit/s.
/instance/max-netbw-ingress
Largura de banda interna de entrada máxima do tipo de instância. Unidade: Kbit/s.
/network/interfaces/macs/[mac]/ipv6s
Relação de endereços IPv6 atribuídos à interface de rede. Item disponível somente para instâncias em VPC com IPv6 habilitado.
/network/interfaces/macs/[mac]/ipv6-gateway
Endereço de gateway IPv6 da VPC associada à interface de rede.
/network/interfaces/macs/[mac]/vswitch-ipv6-cidr-block
Faixa CIDR IPv6 do vSwitch vinculado à interface de rede. Retornado apenas se a VPC tiver suporte a IPv6 ativado.
/private-ipv4
Endereço IPv4 privado da instância.
/ntp-conf/ntp-servers
Endereço do servidor NTP.
/owner-account-id
ID da conta Alibaba Cloud proprietária da instância.
/region-id
Região da instância.
/serial-number
Número de série da instância.
/vpc-id
ID da VPC onde a instância está localizada.
/vpc-cidr-block
Bloco CIDR da VPC onde a instância está localizada.
/vswitch-cidr-block
Bloco CIDR do vSwitch onde a instância está localizada.
/vswitch-id
ID do vSwitch onde a instância está localizada.
/zone-id
Zona da instância.
/ram/security-credentials/[role-name]
Credenciais temporárias STS para a função RAM da instância. Disponíveis apenas se uma função RAM estiver anexada. Substitua [role-name] pelo nome da função RAM. Se você omitir [role-name], o sistema retornará o nome da função RAM anexada.
Método 2: Definir variáveis de ambiente do contêiner
Também é possível obter informações da instância ao configurar variáveis de ambiente nos contêineres de uma instância ECI. Essa abordagem permite acessar metadados como ID da instância, nome da instância, região, zona e nome do contêiner.
|
Chave |
Valor |
Descrição |
|
eci_id |
__ECI_ID__ |
ID da instância. |
|
eci_name |
__ECI_NAME__ |
Nome da instância. |
|
region_id |
__REGION_ID__ |
Região onde a instância está localizada. |
|
zone_id |
__ZONE_ID__ |
Zona onde a instância está localizada. |
|
container_name |
__CONTAINER_NAME__ |
Nome do contêiner. |
Exemplo de configuração:
OpenAPI
Ao chamar a operação de API CreateContainerGroup para criar uma instância ECI, defina as variáveis de ambiente usando os parâmetros Container.N.EnvironmentVar.N.Key e Container.N.EnvironmentVar.N.Value. O exemplo abaixo demonstra essa configuração:
ContainerGroupName=test-env
Container.1.Image=registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.Name=container-1
# Set custom environment variables
Container.1.EnvironmentVar.1.Key=eci_id
Container.1.EnvironmentVar.2.Key=eci_name
Container.1.EnvironmentVar.3.Key=region_id
Container.1.EnvironmentVar.4.Key=zone_id
Container.1.EnvironmentVar.5.Key=container_name
Container.1.EnvironmentVar.1.Value=__ECI_ID__
Container.1.EnvironmentVar.2.Value=__ECI_NAME__
Container.1.EnvironmentVar.3.Value=__REGION_ID__
Container.1.EnvironmentVar.4.Value=__ZONE_ID__
Container.1.EnvironmentVar.5.Value=__CONTAINER_NAME__
Console
Durante a criação de uma instância ECI no console do Elastic Container Instance, na seção Container Configurations, selecione um contêiner, expanda suas Advanced Settings e ative a opção Environment Variable para adicionar variáveis de ambiente. Por exemplo, adicione as seguintes variáveis:
eci_id:__ECI_ID__(ID da instância)eci_name:__ECI_NAME__(Nome da instância)region_id:__REGION_ID__(ID da região)zone_id:__ZONE_ID__(ID da zona)container_name:__CONTAINER_NAME__(Nome do contêiner)
Após criar a instância ECI, conecte-se ao contêiner para verificar a configuração. Para mais informações, consulte Connect to an ECI instance by using Workbench.
O exemplo a seguir mostra a saída do comando env executado no contêiner:
Elastic Container Service!
# env
HOSTNAME=test-env
ECI CONTAINER TYPE=normal
zone_id=cn-shanghai-f
HOME=/root
eci_name=test-env
container_name=container-1
TERM=xterm
NGINX_VERSION=1.14.2-1~stretch
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
NJS_VERSION=1.14.2.0.2.6-1~stretch
PWD=/
eci_id=eci-uf63a8afxxx5bx
region_id=cn-shanghai
#