2016-03-31 10 views
0

にリセットしています。kubernetesのインストールは現在、1つのapi-serverでうまくいきます。 kubernetes新しいapi-serverがエラーを表示しました 'マスターサービスkubernetesのエンドポイントを'

しかし、同じ設定の別のコンピュータで2番目のapi-server(バージョン1.2alpha)を起動しようとすると、うまく動作しているようです(ただし、カールでアクセスできます)。 (私はプライベート情報が含まれているどのくらいのを確認していないので、ラインが長い、私は残りの部分を削除)

controller.go:290] Resetting endpoints for master service "kubernetes" to...' 

をAPIサーバが同じように開始されます。これらのエラー・メッセージごとに10秒を取得これは:

kube-apiserver --logtostderr=true --v=0 --etcd_servers=something --address=something --allow_privileged=false --service-cluster-ip-range=something 
バージョン1.0で秒1を開始

(i「は何か」で正しい値を置き換え)

は、これらのメッセージは表示されませんので、バージョンミスマッチの問題かもしれないが、私はわかりません。

答えて

2

kube-apiserverは、クラスタ内にいくつのapiserversがあるかを知る必要があります。 --apiserver-count=Xフラグをクラスタのすべてのメンバに指定する必要があります.Xはクラスタ内のapiserverの数です。 Xが小さすぎると、apiserversはkubernetesサービスのエンドポイントを争うでしょう(あなたが観察したように)。 Xが大きすぎると、サービスのエンドポイントに間違った値が残り、クラスタ内からKubernetes APIへのクライアント要求の一部が実行中のAPserverに接続されません。

将来、apiserversがこの値をネゴシエートするようにしますが、今のところフラグを正しく設定する必要があります。

+0

私は元のメッセージを編集しましたが、これはバージョンミスマッチの問題だと考えていましたが、おそらくこれがこの問題でした。だから、どうすればカウントを1から2に増やすのだろうか?最初に--apiserver-count = 2で単一のapi-serverを再起動してから、2番目のサーバを起動する必要がありますか?または最初に--apiserver-count = 2で2番目を起動し、--apiserver-count = 2で最初のコマンドを再起動しますか?また、ドキュメントは間違っていますか?私はhttp://kubernetes.io/docs/admin/high-availability/#replicated-api-serversを読んでいました.pam-serverのyaml-fileには--apiserver-countという言葉はありません。 – gabor

+0

私はgithub repoをチェックしましたこのフラグはkube1.2の新しいものだと思われますが、それはおそらく古いバージョンのエラーではないと答えています。私もkube1.0で複数のAPIサーバを実行できますか? – gabor

+0

ええ、忘れましたが、このフラグは残念ながら最近まで公開されていませんでした(設定は常に内部的に存在しましたが)。 私はあなたがavailablityを最大にするために使用するべきであると思う順序は--apiserver-count = 2で新しいapiserverを開始し、そして新しいフラグで既存のapiserverを再起動することです。 – lavalamp

関連する問題