Локальные доменные имена для движущейся машины разработки

264
Bill Sasquatch

Я хочу создать локальную настройку kubernetes (minikube) и glusterfs на моем ноутбуке, которая будет продолжать работать, когда я перемещаю местоположение.

Проблема заключается в том, что для некоторых аспектов настройки требуется использовать IP-адрес / разрешаемое имя домена. Настройка minikube игнорирует мой / etc / hosts, и каждое местоположение будет предоставлять свой IP-адрес для моей машины, поэтому жесткое кодирование IP-адреса раздражает и отнимает много времени, так как мне приходится разбирать, редактировать и затем заново создавать настройки.

Моей первой мыслью было локально настроить DNS-сервер, такой как BIND, который бы возвращал IP-адрес машины, но я не могу найти ничего о том, как вернуть IP-адрес текущей машины.

У кого-нибудь есть идеи, как это сделать или какая-то альтернативная установка, которая бы обеспечивала такую ​​же функциональность?

Заранее спасибо.

0
Адреса используются вашим локальным хостом или клиентами в любой вашей локальной сети? Frank Thomas 6 лет назад 0
Спасибо за ответ. Они будут использоваться только моим ноутбуком, это только для местного развития. Bill Sasquatch 6 лет назад 0
Я хотел бы добавить статический IP-адрес на сетевой карте (в дополнение к назначенному DHCP) и запустить на нем DNS-сервер и вашу инфраструктуру разработки. таким образом, IP к Интернету из любой данной локальной сети работает автоматически, а статически назначенные элементы, такие как ваша база данных и веб-сервер или что-то еще, всегда находятся на статической. Frank Thomas 6 лет назад 0
Спасибо за ответ. Похоже, это должно работать. Я могу сделать это, но если вам нужен кредит за ответ на вопрос, вы можете создать полностью заполненный ответ о том, как это сделать. Если вас это не волнует, я могу создать ответ на основе того, что вы сказали, когда я узнал подробности, и как можно лучше оценить ваш комментарий. Еще раз спасибо. Bill Sasquatch 6 лет назад 0

1 ответ на вопрос

0
Bill Sasquatch

Благодаря подсказке Фрэнка Томаса я в конце концов нашел грубый способ сделать это.

Я ненавижу скрипты BASH, и с этим вполне могут быть другие проблемы, поэтому, если у кого-то есть лучший способ сделать это, обязательно добавьте комментарий, предлагающий способы сделать его лучше, и я обновлю его.

Для Ubuntu 16.04 я создал файл с именем addip в /etc/network/if-up.d со следующим содержимым:

#!/bin/sh  set -e  ADDITIONAL_IPADDR="10.0.0.111/24" PREFERRED_INTERFACE="wlp4s0"  # Description: Add ip address to allow for local services on a machine that's # assigned an ip address by dhcp over a wifi nic if [ $IFACE != $PREFERRED_INTERFACE ] || [ $ADDRFAM != inet ]; then exit 0 fi  if [ -x /bin/ip ] ; then # ip already present? ip addr show | grep -q "$ADDITIONAL_IPADDR[[:space:]]" && exit 0 /sbin/ip addr add $ADDITIONAL_IPADDR dev $PREFERRED_INTERFACE fi 

Возможно, вы захотите изменить значения ADDITIONAL_IPADDR и PREFERRED_INTERFACE.

Затем вы можете настроить предпочитаемый DNS-сервер так, чтобы он возвращал этот IP-адрес, который вы указали в ADDITIONAL_IPADDR для вашей настройки.