Geoサイトのアップグレード

caution
Geo サイトを更新する前に、以下のセクションをよくお読みください。バージョン別のアップグレード手順に従わないと、予期せぬダウンタイムが発生する場合があります。具体的な質問がある場合は、サポートまでお問い合わせください。

Geo サイトのアップグレードには以下が含まれます:

  1. アップグレード先またはアップグレード元のバージョンに応じて、バージョン固有のアップグレード手順を実行します。
  2. すべてのアップグレードに対応する、一般的なアップグレード手順

一般的なアップグレード手順

note
これらの一般的なアップグレード手順は、マルチサイトでのデプロイを想定しておらず、ダウンタイムを引き起こします。ダウンタイムを避けたい場合は、ダウンタイムゼロアップグレードの使用を検討してください。

新しいGitLabバージョンがリリースされたときにGeoサイトをアップグレードするには、プライマリサイトとすべてのセカンダリサイトをアップグレードします:

  1. オプション。セカンダリサイトのディザスタリカバリ(DR) 機能を保護するために、各セカンダリサイトでレプリケーションを一時停止します。
  2. プライマリ・サイトの各ノードに SSH 接続します。
  3. プライマリサイトのGitLab をアップグレードします。
  4. 特に、DRを保護するためにステップ1でレプリケーションを一時停止した場合は、プライマリサイトでテストを実施してください。アップグレード後のテストについては、アップグレードのドキュメントにいくつかの提案があります。
  5. プライマリ・サイトとセカンダリ・サイトの/etc/gitlab/gitlab-secrets.json ファイルのシークレットが同じであることを確認します。このファイルは、サイトのすべてのノードで同じである必要があります。
  6. セカンダリサイトの各ノードにSSH接続します。
  7. 各セカンダリサイトでGitLab をアップグレードします。
  8. ステップ1でレプリケーションを一時停止した場合は、各セカンダリでレプリケーションを再開します。次に、各セカンダリサイトでPumaとSidekiqを再起動します。これは、以前にアップグレードされたプライマリサイトからレプリケートされるようになった新しいデータベーススキーマに対して初期化されるようにするためです。

    sudo gitlab-ctl restart sidekiq
    sudo gitlab-ctl restart puma
    
  9. プライマリサイトと セカンダリサイトをテストし、それぞれのバージョンを確認します。

アップグレード後のステータス確認

アップグレードプロセスが完了したので、すべてが正しく動作しているかどうかを確認したいと思うかもしれません:

  1. プライマリサイトとセカンダリサイトのアプリケーションノードで Geo Rake タスクを実行します。すべてが緑色になっているはずです:

    sudo gitlab-rake gitlab:geo:check
    
  2. プライマリサイトのGeo ダッシュボードにエラーがないか確認してください。
  3. プライマリサイトにコードをプッシュしてデータレプリケーションをテストし、セカンダリサイトで受信されるかどうかを確認します。

何らかのイシューが発生した場合は、Geo トラブルシューティング・ガイドを参照してください。