<p>kubeadm initは、リンクローカルユニキャストIPを--apiserver-advertise-addressとして使用することを拒否します</p>

作成日 2018年11月23日  ·  3コメント  ·  ソース: kubernetes/kubeadm

これはバグレポートですか、それとも機能リクエストですか?

/種類のバグ

バージョン

kubeadmバージョンkubeadm version ):

v1.12.2

何が起こった?

kubeadmを使用して小さなk8sクラスターをセットアップするVMベースのテストハーネスをセットアップしています。 VMは、IPv4リンクローカルアドレスを設定し、マルチキャストDNSを使用して相互に検索するように構成されています。 VMの設定方法が原因で、-apiserver-advertise-addressをオーバーライドして、k8sがノード通信にLANインターフェースを使用するようにする必要があります。これは、デフォルトのインターフェースではないためです。

残念ながら、kubeadmは渡されたアドレスで.IsGlobalUnicast()をチェックするため、小さなクラスターをセットアップする有効な方法であっても、リンクローカルIPv4アドレスは拒否されます。

あなたは何が起こると思っていましたか?

kubeadm initは、コマンドラインで明示的に指定されている場合、リンクローカルIPv4またはIPv6アドレスを受け入れる必要があります。

それを(可能な限り最小限かつ正確に)再現する方法は?

kubeadm init --apiserver-advertise-address=169.254.152.255

help wanted kinfeature prioritbacklog sinode

最も参考になるコメント

したがって、リンクローカルアドレスを有効にすると、ほとんどのユースケースで問題が発生する可能性があります。 他のいくつかの障害状態のために意図的に無効にしました。このユースケースは非標準のIMOです。

全てのコメント3件

/ remove-種類のバグ
/種類の機能
/ sigノード
/ priorityバックログ
/ assign @kad
cc @rosti

@danderson
これは仕様によるものです。 kubeletは、グローバルユニキャストではないホストインターフェイスのアドレスも無視するため、検証は健全性チェックにすぎません。
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L305 -L308

ループバックもオーバーライドされます。
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L408

したがって、リンクローカルアドレスを有効にすると、ほとんどのユースケースで問題が発生する可能性があります。 他のいくつかの障害状態のために意図的に無効にしました。このユースケースは非標準のIMOです。

正当化の欠如と、これが閉鎖するほとんどのユーザーにとってより問題になる可能性があるという全体的な合意を考えると。

ユースケースを単純化、一般化、または簡単にパッチを適用できる場合は、自由に再開してください。

このページは役に立ちましたか?
0 / 5 - 0 評価