
Я хочу создать локальную настройку Kubernetes (minikube) и GlusterFS на моем ноутбуке, которая продолжит работать при переезде.
Проблема в том, что некоторые аспекты настройки требуют использования IP-адреса/разрешимого доменного имени. Настройка minikube игнорирует мой /etc/hosts, и каждое местоположение будет предоставлять другой IP-адрес для моей машины, поэтому жесткое кодирование IP-адреса раздражает и отнимает много времени, поскольку мне приходится сносить, редактировать и затем заново создавать настройку.
Первой моей мыслью было создать локальный DNS-сервер, например BIND, который вернет IP-адрес машины, но я не могу найти ничего о том, как вернуть текущий IP-адрес машины.
У кого-нибудь есть идеи, как это сделать или есть альтернативная настройка, которая обеспечивала бы ту же функциональность?
Заранее спасибо.
решение1
Благодаря подсказке Фрэнка Томаса я в конце концов нашел грубый способ сделать это.
Я ненавижу скрипты 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 для вашей настройки.