У меня VCS работает на debian в качестве prod-сервера, и из-за некоторых проблем с гипервизором его пришлось перезагружать / переносить / обновлять несколько раз за последнюю неделю.
Поскольку я запускаю свое приложение с использованием контейнеров докеров, я не могу просто передать localhost
для подключения к моим локальным postgres, поэтому я использую ens2
ip вместо этого.
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
Но при каждой перезагрузке этот ip изменяется, и мне приходится вручную менять его в env vars, чтобы мое приложение могло снова получить доступ к db, что, я уверен, вы согласитесь, не очень практично.
Итак, вот мой вопрос: есть ли способ автоматически назначить псевдоним, примерно как localhost
, к этому конкретному интерфейсу?
Думаю, я все еще могу попытаться разобрать ifconfig
вывод, но я бы предпочел сначала попросить реальное решение 👼
Спасибо за уделенное время, ребята 👌
Всегда можно использовать:
alias ip="hostname -I"
DNS.
Вести запись для использования приложением, возможно appdb.prod.example.org
. Поскольку это имя службы, рассмотрите возможность создания CNAME для хоста, на котором она запущена.
Обновляйте имя в DNS каждый раз, когда хост получает IP. Например, запись AAAA называется container1.example.org
содержащий 2001:bc8:4740:205::1
. Как именно это сделать, зависит от вашей схемы нумерации и конфигурации DNS. Статические IP-адреса можно вводить сразу после их выделения. Перехватчики DHCP могут использоваться для обновления DNS. И существует программное обеспечение для отслеживания каждого интерфейса на предмет изменений IP и выполнения nsupdate, например autoddns.
Не используйте ifconfig в Linux, а не для новых скриптов. Он устарел как минимум 11 лет.