GitLab システム管理者 - ハンズオンラボ: GitLab Kubernetes のアップグレード

このハンズオンガイドでは、GitLab Kubernetes インスタンスのアップグレード方法を紹介します。

推定所要時間: 30 分

目的

このラボの目的は、GitLab インスタンスのアップグレード方法を示すことです。

タスク A. 現在の GitLab バージョンの確認

  1. GitLab インスタンスに移動し、root ユーザーとしてサインインします。

  2. 左サイドバーで Help > Help を選択します。

  3. ページの上部に、完全な GitLab バージョンが表示されます。このラボでは、18.4.3-ee が表示されます。

タスク B. 利用可能な GitLab バージョンの確認

GitLab Omnibus のアップデートは、パッケージマネージャーを通じて、GitLab バージョンに対応する Omnibus パッケージをインストールすることで完了します。パッケージで利用可能な GitLab のバージョンを確認するには、インスタンスに SSH 接続し、パッケージマネージャーのパッケージバージョンを確認します。

  1. GitLab インスタンスに SSH 接続します。

  2. helm repo update コマンドを実行して helm チャートを更新します。

  3. helm search repo gitlab/gitlab --versions コマンドを実行します。

  4. このラボでは、バージョン 18.5.1-ee.0(helm チャートバージョン 9.5.1 に対応)を見つけます。このバージョンをメモしておきます。このバージョンの GitLab にアップグレードします。

タスク C. アップグレードの実行

ターゲットの GitLab バージョンが特定できたので、GitLab のアップグレードを実行できます。

  1. まだ行っていない場合は、GitLab インスタンスに SSH 接続します。

  2. 次のコマンドを使用してインスタンスのバックアップを取得します。

    # toolbox Pod を見つける
    kubectl get pods -lapp=toolbox
    
    # バックアップユーティリティを実行
    kubectl exec <toolbox-name>  -it -- backup-utility
    
    #Rails シークレットを取得
    kubectl get secrets | grep rails-secret
    
    #シークレットをローカルの場所に保存
    kubectl get secrets <rails-secret-name> -o jsonpath="{.data['secrets\.yml']}" | base64 --decode > gitlab-secrets.yml
    
  3. https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/ に移動します。

  4. 現在の GitLab バージョン(18.4.3)とターゲットバージョン(18.5.1)を入力します。

  5. EditionEnterprise に設定され、Distro が Ubuntu に設定されていることを確認します。

  6. Go! を選択します。

アップグレードパスでは、18.5.1 をインストールするという 1 つのステップのみが必要であることがわかります。このプロセスを完了しましょう。

  1. GitLab インスタンスで、次のコマンドを実行します。

    helm upgrade gitlab gitlab/gitlab \
    --version 9.5.1 \
    -f values.yml
    
  2. インストールが完了するまで待ちます。完了したら、Web ブラウザーでインスタンスに移動します。

HTTP 502: Waiting for GitLab to boot というメッセージが表示されます。起動が完了して GitLab インスタンスに戻るまで、この画面で待機します。

タスク D. アップグレードの検証

この時点で、インスタンスのログインページにリダイレクトされています。アップグレードを検証するには、以下の手順を完了します。

  1. root ユーザーとして GitLab インスタンスに認証します。

  2. 左サイドバーで Admin を選択します。

  3. 左サイドバーで Monitoring > Background migrations を選択します。

  4. Queued セクションのマイグレーションについてテーブルを確認します。これらのマイグレーションは、追加のアップグレードを完了する前に完了する必要があります。完了すると、Finished タブに表示されます。

    例として、このアップグレード後に BackfillIssuesCorrectWorkItemTypeId: issues マイグレーションが表示される場合があります。このマイグレーションを Queued または Finished タブで見つけてみてください。

  5. バージョンを検証するには、左サイドバーで Help を選択します。表示されるメニューに、バージョン 18.5.1 が表示されているはずです。

ラボガイド完了

このラボ演習を完了しました。このコースの他のラボガイドを参照できます。

ご提案はありますか?

ラボに変更を加えたい場合は、マージリクエストを通じて変更内容を送信してください。