2016-10-29 9 views
0

AWSのKubernetes 1.3.6を使用しています 現在、システム名前空間にクラスタアドオンの単一のDNSポッドがあります。 何らかの理由で、ポッドが動作しているノードに障害が発生した場合、クラスタのDNSサービスはシャットダウンされ、そのほとんどは正しく動作しません。高可用性のためのKubernetes DNSクラスタアドオンの設定

質問:私はより堅牢なDNSサービスをどのようにセットアップできますか?より多くのポッド用にレプリケーションコントローラを拡張することはできますか?それは働くだろうか?

+0

https://github.com/kubernetes/kubernetes/pull/33239すぐに(-ish)になります。そうすることができます。 –

+0

@AnirudhRamanathan PRは、DNSを自動スケーリングするためのものです。 複数のポッド用に複製コントローラをスケールすると、今日はどうなりますか? –

答えて

1

手動でDNSアドオンをスケールアップするだけで(展開方法に応じてReplicationControllerのspec.replicasを変更することもできます)

DNSアドオンは、展開する可能性のあるアプリケーションのように、基本的なKubernetesオブジェクトを可用性のために使用します。 --cluster-dnsフラグを使用して認識されているのと同じIPアドレスに割り当てられたspec.clusterIPのサービス(デフォルトではkube-dnsと呼ばれます)の後ろにあります。このサービスは、クラスタDNSの一貫したアクセスポイントであり、多数のkube-dnsポッドに負荷分散を行います。

+1

なぜ私は最初にデフォルトで1つのポッドに設定されたのだろうかと思います。このような重大な単一障害点は... –

+0

私の経験から、ノード障害の場合には常に別のノードにスケジュールされています。これはわずか数秒で発生します。 – Camil

+1

Kubernetesを展開する主な方法には、クラスタ作成時にkube-dnsレプリカの数を増やす方法があります。たとえば、 'kube-up.sh'は、通常、env var' DNS_REPLICAS'を使用してデフォルトの1を上書きします([一例](https://github.com/kubernetes/kubernetes/blob/41b5fe86b61323779fd73738eab321697ca47105/cluster/aws /config-default.sh#L123))。私はこれらのインストーラのデフォルトの1つのレプリカは最小限のリソースで 'キック・タイヤ'・クラスタの作業を行うという決定であると考えていますが、ユーザーがより深刻なユースケースに移行すると設定がカスタマイズされることになります。 – rwehner