2016-08-26 20 views
8

私はKubernetesマスターがマスターが1つしかないクラスターで失敗したときに何が起こるかを調べようとしています。この場合、Web要求はポッドにルーティングされますか、システム全体がシャットダウンするだけですか?Kubernetesマスターに障害が発生した場合はどうなりますか?

Kubernetes(https://docs.openshift.com/enterprise/3.2/architecture/infrastructure_components/kubernetes_infrastructure.html)の上に構築されたOpenShift 3のドキュメントによれば、ノードに障害が発生するとノードは正常に機能し続けますが、システムはポッドを管理できなくなります。これはvanilla Kubernetesでも同じですか?

答えて

14

マスターはAPIを実行していますが、今は(1.3以降)クラウド基盤のインフラストラクチャを管理しています。オフラインの場合、APIはオフラインになるため、クラスタはクラスタでなくなり、代わりにこの期間のアドホックノードの束になります。クラスタは、ノードの障害に応答したり、新しいリソースを作成したり、新しいノードにポッドを移動したりすることはできません。マスターがオンラインに戻るまで。

ただし、TCP/UDPサービス、ロードバランサ、DNS、ダッシュボードなどは、この時間中に何らかの劇的な障害が発生した場合や、ノードが再起動されない限り、すべて機能し続ける必要があります。

少し読んだ後、この時間にノードを再起動すると、DNSクエリが正しく解決されないことがあります。あなたのサービスが残っているか心配しているなら、この期間にノードをリブートしないことをお勧めします。

これを自分でテストしたい場合は、minikubeという便利なユーティリティがあります。購入する前に試してみることができます。 Kubernetesがまだ急速に変化していることを覚えておいてください(あなたが未来の場合)。この回答は、あなたの出身の時にはもう真実ではないかもしれません。

+0

実行中のアプリを停止せずに何度もマスターをダウンさせました。 – manojlds

+2

情報ありがとうございます!好奇心のために、Kubernetesはどのようにクラスタ内のノード間でリクエストをルーティングしますか? DNSエントリを指すセントラルマシンがない場合、要求はクラスタにどのように入力されますか? –

+0

ネットワークは、リソースの配置場所によって異なりますが、通常、クラスタ内のサービスにトラフィックをルーティングするのは、クラウドプロバイダがサービスとして提供するロードバランサです。したがって、パケットは、任意のkubernetesコンポーネントの動作とは無関係にクラスタにルーティングされます。 NodePortの場合、任意のノードのパブリックIPがトラフィックのエントリポイントを提供します。そこからルーティングが少し複雑になります。 http://kubernetes.io/docs/admin/networking/ – pnovotnak

関連する問題