Los metadatos de una elastic container instance (ECI) proporcionan detalles sobre la instancia y sus contenedores, como nombres, identificadores, direcciones IP e información de interfaces de red. Estos datos permiten gestionar y operar los contenedores. Este tema describe cómo obtener dichos metadatos desde el interior de un contenedor en ejecución.
Método 1: Acceso a metadatos mediante MetaServer
Conéctese al contenedor. Para más información, consulte Connect to an ECI instance by using Workbench.
-
Acceda a los metadatos.
NotaSi curl no está instalado en el entorno del contenedor, instálelo primero.
curl http://100.100.100.200/latest/meta-data/<metadata>Reemplace
<metadata>con el elemento específico de metadatos que desea consultar. Por ejemplo, para obtener el identificador de la instancia, ejecute el siguiente comando:curl http://100.100.100.200/latest/meta-data/instance-idLa siguiente tabla enumera los elementos básicos de metadatos disponibles para una instancia ECI.
Parámetro
Descripción
/dns-conf/nameservers
Configuración de DNS de la instancia.
/eipv4
Dirección Elastic IP Address (IPv4) de la instancia.
/hostname
Nombre de host de la instancia. Corresponde al ContainerGroupName.
/instance-id
Identificador de la instancia.
/mac
Dirección MAC de la instancia.
/network/interfaces/
Lista de direcciones MAC de las interfaces de red.
/network/interfaces/macs/[mac]/network-interface-id
Identificador de la interfaz de red. Reemplace [mac] por la dirección MAC de la instancia.
/network/interfaces/macs/[mac]/netmask
Máscara de subred de la interfaz de red.
/network/interfaces/macs/[mac]/vswitch-cidr-block
Bloque CIDR IPv4 del vSwitch al que pertenece la interfaz de red.
/network/interfaces/macs/[mac]/vpc-cidr-block
Bloque CIDR IPv4 de la VPC a la que pertenece la interfaz de red.
/network/interfaces/macs/[mac]/private-ipv4s
Lista de direcciones IPv4 privadas asignadas a la interfaz de red.
/network/interfaces/macs/[mac]/vpc-ipv6-cidr-blocks
Bloque CIDR IPv6 de la VPC a la que pertenece la interfaz de red. Este elemento solo está disponible para instancias en una VPC con IPv6 habilitado.
/network/interfaces/macs/[mac]/vswitch-id
Identificador del vSwitch al que pertenece la interfaz de red.
/network/interfaces/macs/[mac]/vpc-id
Identificador de la VPC a la que pertenece la interfaz de red.
/network/interfaces/macs/[mac]/primary-ip-address
Dirección IP privada principal de la interfaz de red.
/network/interfaces/macs/[mac]/gateway
Dirección de puerta de enlace IPv4 de la interfaz de red.
/instance/max-netbw-egress
Ancho de banda interno de salida máximo del tipo de instancia. Unidad: Kbit/s.
/instance/max-netbw-ingress
Ancho de banda interno de entrada máximo del tipo de instancia. Unidad: Kbit/s.
/network/interfaces/macs/[mac]/ipv6s
Lista de direcciones IPv6 asignadas a la interfaz de red. Este elemento solo está disponible para instancias en una VPC con IPv6 habilitado.
/network/interfaces/macs/[mac]/ipv6-gateway
Dirección de puerta de enlace IPv6 de la VPC a la que pertenece la interfaz de red.
/network/interfaces/macs/[mac]/vswitch-ipv6-cidr-block
Bloque CIDR IPv6 del vSwitch al que pertenece la interfaz de red. Este elemento solo está disponible para instancias en una VPC con IPv6 habilitado.
/private-ipv4
Dirección IPv4 privada de la instancia.
/ntp-conf/ntp-servers
Dirección del servidor NTP.
/owner-account-id
Identificador de la cuenta de Alibaba Cloud propietaria de la instancia.
/region-id
Región de la instancia.
/serial-number
Número de serie de la instancia.
/vpc-id
Identificador de la VPC donde se encuentra la instancia.
/vpc-cidr-block
Bloque CIDR de la VPC donde se encuentra la instancia.
/vswitch-cidr-block
Bloque CIDR del vSwitch donde se encuentra la instancia.
/vswitch-id
Identificador del vSwitch donde se encuentra la instancia.
/zone-id
Zona de la instancia.
/ram/security-credentials/[role-name]
Credenciales temporales STS para el rol RAM de la instancia. Solo están disponibles si hay un rol RAM vinculado. Reemplace [role-name] por el nombre del rol RAM. Si omite [role-name], el sistema devuelve el nombre del rol RAM vinculado.
Método 2: Configuración de variables de entorno del contenedor
También es posible obtener información de la instancia mediante la configuración de variables de entorno en los contenedores de una instancia ECI. Este método permite acceder a metadatos como el identificador de la instancia, su nombre, la región, la zona y el nombre del contenedor.
|
Clave |
Valor |
Descripción |
|
eci_id |
__ECI_ID__ |
Identificador de la instancia. |
|
eci_name |
__ECI_NAME__ |
Nombre de la instancia. |
|
region_id |
__REGION_ID__ |
Región donde se encuentra la instancia. |
|
zone_id |
__ZONE_ID__ |
Zona donde se encuentra la instancia. |
|
container_name |
__CONTAINER_NAME__ |
Nombre del contenedor. |
Ejemplo de configuración:
OpenAPI
Al invocar la operación API CreateContainerGroup para crear una instancia ECI, puede establecer variables de entorno mediante los parámetros Container.N.EnvironmentVar.N.Key y Container.N.EnvironmentVar.N.Value. El siguiente ejemplo muestra cómo configurar estos parámetros:
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
Al crear una instancia ECI en la consola de Elastic Container Instance, dentro de la sección Container Configurations, seleccione un contenedor, expanda sus Advanced Settings y habilite el interruptor Environment Variable para agregar variables de entorno. Por ejemplo, puede añadir las siguientes variables:
eci_id:__ECI_ID__(identificador de la instancia)eci_name:__ECI_NAME__(nombre de la instancia)region_id:__REGION_ID__(identificador de la región)zone_id:__ZONE_ID__(identificador de la zona)container_name:__CONTAINER_NAME__(nombre del contenedor)
Una vez creada la instancia ECI, conéctese al contenedor para comprobar la configuración. Para más información, consulte Connect to an ECI instance by using Workbench.
El siguiente ejemplo muestra la salida del comando env dentro del contenedor:
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
#