正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

外部NGINX IngressコントローラーでGitLabチャートを設定する

NGINX Ingressは非推奨となり、2026年3月以降はセキュリティパッチを受け取ることはありません。

詳細については、公式発表をお読みください。

GitLabチャートは現在、フォークしたNGINX Ingressを管理およびバンドルしています。このガイドは、バンドルされたものではなく、外部のNGINX IngressをGitLabチャートで使用するように設定するのに役立ちます。

外部IngressコントローラーのTCPサービス

GitLab Shellコンポーネントでは、TCPトラフィックが(デフォルトでは)ポート22をパススルーする必要があります(これは変更可能です)。IngressはTCPサービスを直接サポートしていないため、追加の設定が必要です。ご使用のNGINX Ingressコントローラーは、(Kubernetesスペックファイルを使用して)直接デプロイされたか、公式Helmチャート経由でデプロイされている可能性があります。TCPパススルーの設定は、デプロイ方法によって異なります。

ダイレクトデプロイ

ダイレクトデプロイでは、NGINX IngressコントローラーはConfigMapを使用してTCPサービスの設定を処理します。詳細については、Ingress NGINXコントローラーのドキュメントでTCPおよびUDPサービスの公開に関する情報を参照してください。GitLabチャートがネームスペースgitlabにデプロイされ、Helmリリースがmygitlabという名前の場合、ConfigMapは次のようになります:

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-configmap-example
data:
  22: "gitlab/mygitlab-gitlab-shell:22"

そのConfigMapを入手したら、--tcp-services-configmapオプションを使用して、NGINX Ingressコントローラーのドキュメントの説明に従って有効にできます。

args:
  - /nginx-ingress-controller
  - --tcp-services-configmap=gitlab/tcp-configmap-example

最後に、NGINX IngressコントローラーのServiceが、80および443に加えてポート22を公開していることを確認してください。

Helmデプロイ

Helmチャートを使用してNGINX Ingressコントローラーをインストールした、またはインストールする予定がある場合は、コマンドラインを使用してチャートに値を追加する必要があります:

--set tcp.22="gitlab/mygitlab-gitlab-shell:22"

またはvalues.yamlファイル:

tcp:
  22: "gitlab/mygitlab-gitlab-shell:22"

値の形式は、上記の「直接デプロイ」セクションで説明されているものと同じです。

GitLabチャートを設定する

外部NGINX Ingressコントローラーを使用するようにGitLab Ingressを設定します。