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

セル

  • 提供形態: GitLab.com
  • ステータス: 実験的機能

この機能は、GitLab.comの管理者のみが使用できます。この機能は、GitLabセルフマネージドまたはGitLab Dedicatedインスタンスでは使用できません。

このページには、今後の製品や機能に関する情報が記載されています。重要な点として、ここに示されているのは情報提供のみを目的とした情報であることにご注意ください。この情報だけに基づいて購入や計画の決定をなさらないようにしてください。製品や機能の開発、リリース、タイミングは、GitLab Inc.独自の裁量により変更が加えられたり遅延したりすることがあります。

Cells 1.0は開発中です。セル開発の状況の詳細については、エピック12383を参照してください。

セルの機能をテストするには、GitLab Railsコンソールを設定します。

設定

GitLabインスタンスをCellインスタンスとして構成するには:

config/gitlab.ymlのセル関連の設定は、次の形式です:

  cell:
    enabled: true
    id: 1
    database:
      skip_sequence_alteration: false
    topology_service_client:
      address: topology-service.gitlab.example.com:443
      ca_file: /home/git/gitlab/config/topology-service-ca.pem
      certificate_file: /home/git/gitlab/config/topology-service-cert.pem
      private_key_file: /home/git/gitlab/config/topology-service-key.pem
  1. /etc/gitlab/gitlab.rbを編集し、次の行を追加します:

    gitlab_rails['cell'] = {
      enabled: true,
      id: 1,
      database: {
        skip_sequence_alteration: false
      },
      topology_service_client: {
        enabled: true,
        address: 'topology-service.gitlab.example.com:443',
        ca_file: 'path/to/your/ca/.pem',
        certificate_file: 'path/to/your/cert/.pem',
        private_key_file: 'path/to/your/key/.pem'
      }
    }
  2. GitLabを再設定して再起動します:

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
  1. gitlab_values.yamlを編集します:

    global:
      appConfig:
        cell:
          enabled: true
          id: 1
          database:
            skipSequenceAlteration: false
          topologyServiceClient:
            address: "topology-service.gitlab.example.com:443"
            tls:
              enabled: true
  2. ファイルを保存して、新しい値を適用します:

    helm upgrade -f gitlab_values.yaml gitlab gitlab/gitlab
設定デフォルト値説明
cell.enabledfalseインスタンスがセルかどうかを構成するかどうか。falseは、すべてのセル機能が無効になっていることを意味します。session_cookie_prefix_tokenは影響を受けず、個別に設定できます。
cell.idnilcell.enabledtrueの場合、正の整数である必要があります。それ以外の場合は、nilである必要があります。これは、クラスタリング内のセルの一意の整数IDです。このIDは、ルーティング可能なトークン内で使用されます。cell.idnilの場合、organization_idのようなルーティング可能なトークン内の他の属性は引き続き使用されます
cell.database.skip_sequence_alterationfalsetrueの場合、セルのデータベースシーケンス改変をスキップします。モノリスセルが使用可能になる前に、レガシーセル(cell-1)に対して有効にします。このエピックで追跡されています: フェーズ6: モノリスセル
cell.topology_service_client.address"topology-service.gitlab.example.com:443"cell.enabledtrueの場合に必要です。トポロジサービスサーバーのアドレスとポート。
cell.topology_service_client.tls.enabledtruetrueの場合、トポロジサービスとの通信にmTLSを有効にします。これには、cell.topology_service_client.tls.secretが適切に設定されている必要があります。falseに設定すると、TLS暗号化なしで接続が確立されます。
cell.topology_service_client.tls.secretnilmTLS認証情報を含むKubernetes TLSシークレット名。TLSが有効な場合に必要です。シークレットには、tls.crttls.keyキーを含める必要があります。明示的に設定されていない場合は、<release.name>-topology-tlsにデフォルト設定されます。このシークレットは手動で作成する必要があります。Helm Chartは自動的に作成しません。

セルアーキテクチャの他のコンポーネントを構成する方法については、以下を参照してください:

  1. トポロジサービスの設定
  2. HTTPルーターの設定