4

HighAvailabiltyセットアップでEnterpriseJenkinsをセットアップしようとしています。現在のセットアップは、同じジェンキンスホームを共有する2つのジェンキンスマスター(master1とmaster2など)で構成されています。これらのマスター(monitor1とmonitor2)の両方にjenkins-ha-monitor-1.1-1.1rpmがインストールされています。この設定では、少なくともドキュメントによると、HAプラグインは期待どおりに機能するはずです。昇進と降格のスクリプトは、ドキュメントにあるものと似ています(IPとインターフェイスのみが異なり、同じアプローチです)。すなわち

降格の場合

ifconfig eth0:2ダウン

プロモーション用

ifconfig eth0:2 the.floating.ip

ノードを正しく登録するには、master1、master2、monitor1、monitor2の順に起動する必要があります。両方のログをテーリングすると、サービスがこの順序で開始されると、クラスター内のノードとして、およびjenkinsコンソールのHAステータスGUIに、両方のモニターサービスによって正しく登録されていることがわかります。

これで、master1が送信によって強制終了されると、KILLシグナルmonitor2がこれを認識し、プロモーションスクリプトを実行します。しかし、モニター1は投げ続けます:

2012年10月24日15:47:36com.cloudbees.jenkins.ha.singleton.HASingleton$ 3容疑者情報:クラスター内のノード障害が疑われる:jenkins-master-1-2852012年10月24日15:47:39 com.cloudbees.jenkins.ha.singleton.HASingleton $ 3容疑者情報:クラスター内のノード障害が疑われます:jenkins-master-1-285

降格スクリプトを実行することなく継続的に実行します。master2はプロモーションスクリプトを介してフローティングIPを取得しましたが、降格スクリプトが実行されていないため、master1はまだそのIPを持っているため、セットアップは2つのボックスが同じIPを要求することになります。さらに、master1を再起動しても何も起こりません。つまり、master1はsecondayノードとしてクラスターに追加されず、monitor1は引き続き上記のメッセージをログに出力し続け、フローティングIPは「Unableto connect」を返し続け、master2とmonitor2はクラスターを次のように表示します。 master2、monitor2およびmonitor1。だから私の質問/問題は2つあります-なぜmaster1がクラスターに受け入れられないのですか?また、降格スクリプトが正常に実行されないのはなぜですか?

また、参考までに私はやろうとしました

サービスジェンキンスストップ

その場合、降格スクリプトは実行されますが、同様の問題が発生します。

サービスジェンキンス開始

プライマリジェンキンが存在するかどうかに関係なく、プロモーションスクリプトが実行されるため、以前に停止されたマスターで実行されます。この場合、2つのモニターは、monitor1:master1、monitor1およびmonitor2:master2、monitor2のように異なるクラスターを登録します。ifconfigを実行すると、この時点で両方のマスターがフローティングIPを使用していることがわかります。

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

1

サポート付きでまだ調査中です。最初に報告された問題 (こちら) は、2 つのノードが正常に通信していることを示唆していますが、昇格/降格が正しく実行されていません。これは、JGroups のバグか、Jenkins の高可用性での使用のいずれかです。

しかし、さらなるテストにより、RedHat/CentOS ホストで報告されている UDP マルチキャスト通信の問題が判明しました。$JENKINS_HOME共有ディレクトリを使用して Jenkins を登録し、インスタンスを監視する (TCP アドレス:ポート レコードとして) マルチキャスト (または UDP) にまったく依存しない代替 JGroups スタックを提供する作業が進行中です。

于 2012-11-07T16:18:00.317 に答える