
場所を移動しても引き続き機能するローカル Kubernetes (minikube) と Glusterfs のセットアップをラップトップに作成したいと考えています。
これの問題は、セットアップの一部で IP アドレス/解決可能なドメイン名の使用が必要になることです。minikube セットアップでは /etc/hosts が無視され、場所ごとにマシンに異なる IP アドレスが提供されることになります。そのため、IP アドレスをハードコーディングするのは面倒で、セットアップを解体して編集し、再作成する必要があるため時間がかかります。
最初に考えたのは、マシンの IP アドレスを返す BIND のような DNS サーバーをローカルに立ち上げることでしたが、現在のマシンの IP アドレスを返す方法については何も見つかりません。
これを実行する方法、または同じ機能を提供する代替設定について何かアイデアをお持ちの方はいらっしゃいますか?
前もって感謝します。
答え1
Frank Thomas のヒントのおかげで、私は最終的にこれを実行する大まかな方法を見つけました。
私は BASH スクリプトが嫌いで、これについては他にも問題がある可能性があります。そのため、誰かがこれを行うより良い方法を持っている場合は、ぜひコメントを追加して、改善方法を提案してください。更新します。
ubuntu 16.04 の場合、/etc/network/if-up.d に次の内容の addip という名前のファイルを作成しました。
#!/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 の値を変更することになるでしょう。
次に、セットアップの ADDITIONAL_IPADDR で設定したこの IP アドレスを返すように、優先 DNS サーバーを設定できます。