GitLab Helmチャート3.0

Chartの依存関係のいくつかの大きな変更を取り込むために、Chartのバージョンを3.0

主な変更点のまとめ

問題のあるHelm 2.15

Helm v2.15.xには深刻なバグがあります。

Helm 2を使用する場合は、2.14.3 または>= 2.16.1 を使用してください。

2.xからのアップグレードパス

3.0 バージョンの Chart にアップグレードするには、まず、Chart の最新リリース2.6.x にアップグレードする必要があります。最新のパッチについては、バージョン・マッピングの詳細を確認してください。

最新の2.6.x パッチにアップグレードしないと、次のようなエラーが表示されます。helm upgrade

Error: UPGRADE FAILED: Job failed: BackoffLimitExceeded

gitlab-upgrade-check 」というテキストが名前に含まれるエラーのポッドを探すことで、この状況にあることを確認できます。

それらのポッドのログをチェックすると、バージョンアップのエラーメッセージが表示されます:

It seems you are upgrading the GitLab Helm chart from X (GitLab X) to 3.0.0 (GitLab 12.7.0).
It is required to upgrade to the last minor version in a major version series
first before jumping to the next major version.
Please follow the upgrade documentation at https://docs.gitlab.com/charts/releases/3_0.html
and upgrade to GitLab Helm chart version 2.6.0 before upgrading to 3.0.0.

2.6.xからのアップグレード

3.0 Chartへのアップグレードには、一部のコンポーネントを更新するために手動アップグレード手順が必要です。3.0リリースのアップグレード手順に従ってください。

主な変更点

PostgreSQL

このChartの3.0.0 リリースの一環として、バンドルされているPostgreSQLのChartを0.11.0から7.7.3にアップグレードしました。これはデータベースのバージョンを9.6 から10.9 に更新するものです。データベースをアップグレードするには、手動で手順を実行する必要があります。

3.0 のアップグレード手順には、アップグレード時に必要な手動手順が含まれています。

詳細はPostgreSQL アップグレードに関するイシューを参照してください。

note
外部のPostgreSQLチャートを使用している場合、このリリースに合わせてデータベースを変更する必要はありません。9.6 はまだサポートされていますが、PostgreSQL10 へのアップグレードを推奨します。

NGINX Ingress

シュー #1710 に対応し、この変更により_今後の_アップグレードは修正されますが、3.0 より前のバージョンの Chart からアップグレードする場合は手動での操作が必要になります。

3.0 のアップグレード手順には、アップグレード時に必要な手動手順が含まれています。

これに関する詳細は、トラブルシューティング・ドキュメントの「Immutable Field Error」、「spec.clusterIP.

Redis

Redisのアップグレードの一環として、私たちはRedisとRedis HAチャートのフォークをやめ、代わりにアップストリームRedisチャートの新しいバージョンを使用するように切り替えました。

これにより、Redis 5.xを使用するように更新され、パフォーマンスが向上しました。

  • 以前のバンドル Redis チャートのユーザーには、新しい Redis バージョンにアップグレードするための変更は必要ありません。
  • 以前の Redis HA チャートのユーザーの場合、Redis を HA 設定にするために有効にする必要がある追加のフラグがいくつかあります。
  • 外部 Redis データベースのユーザー。バンドルされているデータベースを無効にする構文が変更され、redis.install=false. (redis.enabled=false より)
note
バンドルされている Redis は、以前のインストールとは異なる新しい永続ボリュームを使用します。つまり、アップグレード中にダウンタイムが発生し、完了するとすべてのユーザーセッションがログアウトします。

Prometheus

Prometheusのチャートが更新され、10.0.0 。 これは、Kubernetes 1.16へのインストールを妨げていた非推奨APIの削除を含む、チャートの最新の変更をもたらします。

このコンポーネントは手動でアップグレードする必要はありませんが、9.0 さらにアップグレードする前に 9.0ユーザーがすでに9.0 Prometheus チャートに 9.0アップグレードしていることが必要でした。GitLab Helm chart2.5.09.0 含まれて 9.0いたので、この3.0 リリースに新バージョンを配置しました。このため、アップグレードするユーザーは GitLab Helm chart2.6.0 リリース以降である必要があります。

詳しくはイシューのアップグレードをご覧ください。

Sidekiqセレクタ

これまで、Sidekiqチャートはデプロイに固有のセレクタを割り当てませんでした。このため、デプロイはSidekiqポッドを適切に識別できず、必要に応じてクリーンアップできませんでした。

これらのセレクタはデプロイメント仕様の不変フィールドであるため、更新するにはSidekiqデプロイメントを削除し、再作成する必要があります。3.0.0 リリースの一環として、SidekiqDeploymentsHPAsPodsの名前に-v1 を追加することで、Helmが自動的にこれを行います。

その他の詳細については、Immutable Field Errorのトラブルシューティングのドキュメント、spec.selector.

1.xからのアップグレードパス

3.0 にアップグレードする前に、まず2.6.x リリースの Chart にアップグレードする必要があります。2.0のアップグレードドキュメントに従ってください。

既知のイシューと制限事項

以下は既知のイシューと制限事項のリストです。

Helm チャートの問題/制限:

現在対象外の機能

リリース・ケイデンス

新しいGitLabパッチがリリースされるたびに、新しいバージョンのChartをリリースする予定です。

Chartのバージョン管理方法の詳細はリリースドキュメントをご覧ください。

このリポジトリにあるイシューやマージリクエストとともに、より簡単に更新を追うことができる変更履歴もあります。

Kubernetes デプロイのサポート

GitLabは以下の環境でテストされています:

その他のKubernetesデプロイも動作するはずです。GKE以外のデプロイで問題が発生した場合は、イシューを上げてください。

現在、自動テストではKubernetesバージョン1.12.10を、開発では1.13.11を使用しています。

技術サポート

イシューを作成する前に、既知の問題と制限をレビューし、同様の問題がすでに存在しないか検索してください。

私たちはコミュニティの幅広いテストに大いに感謝し、詳細なイシューを報告することを奨励します。

私たちはマージリクエストという形で貢献する改良を歓迎します。