0

AWS で kubernetes マスターをセットアップし、ELB でバランスをとっています。terraform を使用して 5 ~ 6 個のインスタンスを作成し、それを kube スレーブとしてプロビジョニングし、kubelets を ELB にポイントします。kubectl get nodes を実行すると、3 つまたは 4 つのインスタンスしか表示されません。マスターへのスレーブ登録がいくつかのノードで失敗したように見えますが、すべてのノードは同一です。

そのランダムな動作は、すべてのスレーブが正常に表示される場合があります。

4

2 に答える 2

1

AWS と Terraform に関する私自身の経験から、これは競合状態である可能性があります。

通常、ELB は EC2 インスタンスよりも準備に時間がかかるため、何らかの理由でELB がサービスを提供できるようになるに kubelet が開始された場合、ノードは登録に失敗します (タイミングによっては「ホストが見つかりません」または「エラー 500」)。 )

これは、次の 2 つの方法で軽減できます。

  • 失敗時にkubeletサービス/コンテナを自動的に再起動します
  • EC2 インスタンスと ELB の間に厳密な依存関係を作成し、ELB の準備チェックを行います (HTTP 呼び出しで十分です)。

kubeletもちろん、その理論を検証するには、からのログが必要です。

于 2016-05-21T07:37:30.673 に答える