
Tengo un VCS ejecutándose en Debian como servidor de producción y, debido a algunos problemas con el hipervisor, tuve que reiniciarlo, migrarlo o actualizarlo varias veces durante la semana pasada.
Debido a que estoy ejecutando mi aplicación usando contenedores acoplables, no puedo simplemente pasarla localhost
para que se conecte a mi postgres local, así que estoy usando la ens2
ip en su lugar.
ens2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.12.174.3 netmask 255.255.255.254 broadcast 10.12.174.3
inet6 fe80::dc1c:14ff:fe51:5002 prefixlen 64 scopeid 0x20<link>
inet6 2001:bc8:4740:205::1 prefixlen 127 scopeid 0x0<global>
ether de:1c:14:51:50:02 txqueuelen 1000 (Ethernet)
RX packets 37139 bytes 4801851 (4.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39791 bytes 35291408 (33.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Pero con cada reinicio esa IP cambia, y tengo que cambiarla manualmente en env vars para que mi aplicación pueda llegar a la base de datos nuevamente, lo cual estoy seguro que estarás de acuerdo en que no es muy práctico.
Entonces aquí está mi pregunta: ¿hay alguna manera de asignar automáticamente un alias, más o menos como localhost
, a esta interfaz específica?
Supongo que aún podría intentar analizar el ifconfig
resultado, pero prefiero preguntar primero por una solución real.
Respuesta1
DNS.
Mantenga un registro para que la aplicación lo utilice, tal vez appdb.prod.example.org
. Como se trata de un nombre de servicio, considere crear un CNAME para el host que lo ejecuta actualmente.
Actualice un nombre en DNS cada vez que un host obtenga una IP. Por ejemplo, un registro AAAA llamado container1.example.org
que contiene 2001:bc8:4740:205::1
. Cómo hacer esto exactamente depende de su esquema de numeración y configuración de DNS. Se pueden ingresar IP estáticas tan pronto como se asignan. Se pueden utilizar enlaces DHCP para actualizar DNS. Y existe software para observar cada interfaz en busca de cambios de IP y realizar una actualización, como autoddns.
No utilice ifconfig en Linux, no para scripts nuevos.Ha estado obsoleto durante al menos 11 años.
Respuesta2
Siempre podría usar:
alias ip="hostname -I"