web-dev-qa-db-ja.com

Kubernetesを動的IPアドレスで動作させる方法

マスターノードと2つのワーカーノードがあるkubernetesクラスターを作成しました。以下のコマンドを使用してマスターノードを初期化しました

Sudo kubeadm init --token-ttl=0 --apiserver-advertise-address=192.168.0.27

192.168.0.27はマスターノードのIPアドレスです。次に、生成されたトークンを使用してワーカーノードを起動しました。今問題は私のネットワークがDHCPにあり、それが以下のエラーを表示し始めるためにIPアドレスがいつか変更されることです:

Unable to connect to the server: dial tcp 192.168.0.27:6443: getsockopt: no route to Host

マスターノードの初期化時にIPアドレスを使用していて、IPアドレスを変更した後、IPアドレスにアクセスできないため、上記のエラーが表示されます。

IPアドレスの変更に関係なく動作できるように、マスターおよびその他のノードを何らかの方法で構成することは可能ですか?.

ありがとう

12
S Andrew

@Suresh Vishnoiが述べたように、 implementation のため、Kubernetesの現在の安定したバージョンでDNS名を設定することはできません。

ただし、その機能を使用したマージリクエスト-IPアドレスではなくDNS名の新しいキーはすでにKubernetesマスターに merged であり、バージョンv1.10.0-beta.4から利用できます。

あなたの場合、発見にDNS名を使用することはできませんが、DHCPプールからマスターのMACアドレスに関連付けるIPアドレス用にDHCPサーバーを設定できます。これにより、DHCPのすべての機能を使用できますが、マスターのアドレスは常に同じです。

そのように構成できる標準Linux dhcpd DHCPサーバー(必要なMACアドレスとIPに置き換えます):

Host KubeMaster { hardware ethernet 00:1F:6A:21:71:3F; fixed-address 10.0.0.101; }

DHCPサーバーにルーターまたは別のOSを使用している場合は、それらのドキュメントを確認してください。

3
Anton Kostenko