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

Mailroomチャートの使用

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

Mailroomチャートは受信メールを処理します。

設定

image:
  repository: registry.gitlab.com/gitlab-org/build/cng/gitlab-mailroom
  # tag: v0.9.1
  pullSecrets: []
  # pullPolicy: IfNotPresent

enabled: true

init:
  image: {}
    # repository:
    # tag:
  resources:
    requests:
      cpu: 50m

annotations: {}

# Tolerations for pod scheduling
tolerations: []
affinity: {}
podLabels: {}

hpa:
  minReplicas: 1
  maxReplicas: 2
  cpu:
    targetAverageUtilization: 75

  # Note that the HPA is limited to autoscaling/v2beta1, autoscaling/v2beta2 and autoscaling/v2
  customMetrics: []
  behavior: {}

networkpolicy:
  enabled: false
  egress:
    enabled: false
    rules: []
  ingress:
    enabled: false
    rules: []
  annotations: {}

resources:
  # limits:
  #  cpu: 1
  #  memory: 2G
  requests:
    cpu: 50m
    memory: 150M

## Allow to overwrite under which User and Group we're running.
securityContext:
  runAsUser: 1000
  fsGroup: 1000

## Enable deployment to use a serviceAccount
serviceAccount:
  enabled: false
  create: false
  annotations: {}
  ## Name to be used for serviceAccount, otherwise defaults to chart fullname
  # name:
パラメータデフォルト説明
affinity{}ポッド割り当てのアフィニティルール
annotations{}ポッドの注釈。
deployment.strategy{}デプロイで使用される更新仕様を構成できます
enabledtrueMailroomイネーブルメントフラグ
hpa.behavior{scaleDown: {stabilizationWindowSeconds: 300 }}動作には、アップスケールとダウンスケールの動作の仕様が含まれています(autoscaling/v2beta2以上が必要です)。
hpa.customMetrics[]カスタムメトリクスには、目的のレプリカ数を計算するために使用する仕様が含まれています(targetAverageUtilizationで構成された平均CPU使用率のデフォルトの使用をオーバーライドします)。
hpa.cpu.targetTypeUtilizationオートスケールCPUターゲットタイプを設定します。UtilizationまたはAverageValueのいずれかである必要があります。
hpa.cpu.targetAverageValueオートスケールCPUターゲット値を設定します
hpa.cpu.targetAverageUtilization75オートスケールCPUターゲット使用率を設定します
hpa.memory.targetTypeオートスケールメモリターゲットタイプを設定します。UtilizationまたはAverageValueのいずれかである必要があります。
hpa.memory.targetAverageValueオートスケールメモリターゲット値を設定します
hpa.memory.targetAverageUtilizationオートスケールメモリターゲット使用率を設定します
hpa.maxReplicas2レプリカの最大数
hpa.minReplicas1レプリカの最小数
image.pullPolicyIfNotPresentMailroomイメージプルポリシー
extraEnvFrom公開する他のデータソースからの追加の環境変数のリスト
image.pullSecretsMailroomイメージプルシークレット
image.registryMailroomイメージレジストリ
image.repositoryregistry.gitlab.com/gitlab-org/build/cng/gitlab-mailroomMailroomイメージリポジトリ
image.tagMailroomイメージタグ
init.image.repositoryMailroom initイメージリポジトリ
init.image.tagMailroom initイメージタグ
init.resources{ requests: { cpu: 50m }}Mailroom initコンテナリソース要件
init.containerSecurityContextinitコンテナ固有のセキュリティコンテキスト
keda.enabledfalseHorizontalPodAutoscalersの代わりにKEDA ScaledObjectsを使用します
keda.pollingInterval30各トリガーをチェックする間隔
keda.cooldownPeriod300最後トリガーがアクティブであると報告された後、リソースを0にスケールバックするまで待機する期間
keda.minReplicaCounthpa.minReplicasKEDAがリソースをスケールダウンするレプリカの最小数。
keda.maxReplicaCounthpa.maxReplicasKEDAがリソースをスケールアップするレプリカの最大数。
keda.fallbackKEDAフォールバック構成については、ドキュメントを参照してください
keda.hpaNamekeda-hpa-{scaled-object-name}KEDAが作成するHPAリソースの名前。
keda.restoreToOriginalReplicaCountScaledObjectが削除された後、ターゲットリソースを元のレプリカ数にスケールバックするかどうかを指定します
keda.behaviorhpa.behaviorアップスケールとダウンスケールの動作の仕様。
keda.triggersターゲットリソースのスケーリングをアクティブにするトリガーのリスト。hpa.cpuおよびhpa.memoryから計算されたトリガーにデフォルト設定します
podLabels{}Mailroomポッドを実行するためのラベル
common.labels{}このチャートによって作成されたすべてのオブジェクトに適用される補足ラベル。
resources{ requests: { cpu: 50m, memory: 150M }}Mailroomリソース要件
networkpolicy.annotations{}ネットワークポリシーに追加する注釈
networkpolicy.egress.enabledfalseネットワークポリシーのエグレスルールを有効にするフラグ
networkpolicy.egress.rules[]ネットワークポリシーのエグレスルールのリストを定義します
networkpolicy.enabledfalseネットワークポリシーを使用するためのフラグ
networkpolicy.ingress.enabledfalseネットワークポリシーのingressルールを有効にするフラグ
networkpolicy.ingress.rules[]ネットワークポリシーのingressルールのリストを定義します
securityContext.fsGroup1000ポッドを開始するグループID
securityContext.runAsUser1000ポッドを開始するユーザーID
securityContext.fsGroupChangePolicyボリュームの所有権と許可を変更するためのポリシー(Kubernetes 1.23が必要です)
containerSecurityContextコンテナが開始されるセキュリティコンテキストをオーバーライドします
containerSecurityContext.runAsUser1000コンテナが開始される特定のセキュリティコンテキストを上書きできます
serviceAccount.annotations{}ServiceAccountの注釈
serviceAccount.automountServiceAccountTokenfalseデフォルトのServiceAccountアクセストークンをポッドにマウントするかどうかを示します
serviceAccount.enabledfalseServiceAccountを使用するかどうかを示します
serviceAccount.createfalseServiceAccountを作成するかどうかを示します
serviceAccount.nameServiceAccountの名前。設定しない場合、チャートの完全名が使用されます
tolerationsMailroomに追加するToleration
priorityClassName優先度クラスがポッドに割り当てられます。

KEDAの構成

このkedaセクションでは、通常のHorizontalPodAutoscalersではなく、KEDA ScaledObjectsのインストールを有効にします。この構成はオプションであり、カスタムメトリクスまたは外部メトリクスに基づいてオートスケールが必要な場合に使用できます。

ほとんどの設定は、該当する場合、hpaセクションで設定された値にデフォルト設定されます。

以下が当てはまる場合、hpaセクションで設定されたCPUおよびメモリのしきい値に基づいて、CPUおよびメモリのトリガーが自動的に追加されます:

  • triggersが設定されていません。
  • 対応するrequest.cpu.requestまたはrequest.memory.request設定も、ゼロ以外の値に設定されています。

トリガーが設定されていない場合、ScaledObjectは作成されません。

これらの設定の詳細については、KEDAドキュメントを参照してください。

名前デフォルト説明
enabledブール値falseHorizontalPodAutoscalersの代わりにKEDA ScaledObjectsを使用します
pollingInterval整数30各トリガーをチェックする間隔
cooldownPeriod整数300最後トリガーがアクティブであると報告された後、リソースを0にスケールバックするまで待機する期間
minReplicaCount整数hpa.minReplicasKEDAがリソースをスケールダウンするレプリカの最小数。
maxReplicaCount整数hpa.maxReplicasKEDAがリソースをスケールアップするレプリカの最大数。
fallbackマップKEDAフォールバック構成については、ドキュメントを参照してください
hpaName文字列keda-hpa-{scaled-object-name}KEDAが作成するHPAリソースの名前。
restoreToOriginalReplicaCountブール値ScaledObjectが削除された後、ターゲットリソースを元のレプリカ数にスケールバックするかどうかを指定します
behaviorマップhpa.behaviorアップスケールとダウンスケールの動作の仕様。
triggers配列ターゲットリソースのスケーリングをアクティブにするトリガーのリスト。hpa.cpuおよびhpa.memoryから計算されたトリガーにデフォルト設定します

受信メール

既定では、受信メールは無効になっています。受信メールを読み取るには、次の2つの方法があります:

まず、共通設定を設定して有効にします。次に、IMAP設定またはMicrosoft Graph設定を構成します。

これらのメソッドはvalues.yamlで構成できます。次の例を参照してください:

IMAP

IMAPの受信メールを有効にするには、global.appConfig.incomingEmail設定を使用して、IMAPサーバーと認証情報の詳細を指定します。

また、ターゲットのIMAPアカウントをGitLabがメールを受信するために使用できることを確認するには、IMAPメールアカウントの要件をレビューする必要があります。いくつかの一般的なメールサービスも同じページに記載されており、受信メールのセットアップに役立ちます。

IMAPパスワードは、シークレットガイドで説明されているように、Kubernetesシークレットとして作成する必要があります。

Microsoft Graph

Azure Active Directoryアプリケーションの作成に関するGitLabドキュメントを参照してください。

テナントID、クライアントID、およびクライアントのシークレットキーを指定します。これらの設定の詳細については、コマンドラインオプションを参照してください。

シークレットガイドの説明に従って、クライアントのシークレットキーを含むKubernetesシークレットを作成します。

メールで返信する

メールで返信する機能を使用するには、ユーザーがイシューとMRにコメントするために通知メールに返信できるようにするには、送信メールと受信メールの設定を構成する必要があります。

サービスデスクのメール

既定では、サービスデスクのメールは無効になっています。

受信メールと同様に、共通設定を設定して有効にします。次に、IMAP設定またはMicrosoft Graph設定を構成します。

これらのオプションは、values.yamlでも構成できます。次の例を参照してください:

サービスデスクのメールは、受信メールが構成されている_必要があり_ます。

IMAP

global.appConfig.serviceDeskEmail設定を使用して、IMAPサーバーと認証情報の詳細を指定します。これらの設定の詳細については、コマンドラインオプションを参照してください。

シークレットガイドの説明に従って、IMAPパスワードを含むKubernetesシークレットを作成します。

Microsoft Graph

Azure Active Directoryアプリケーションの作成に関するGitLabドキュメントを参照してください。

global.appConfig.serviceDeskEmail設定を使用して、テナントID、クライアントID、およびクライアントのシークレットキーを指定します。これらの設定の詳細については、コマンドラインオプションを参照してください。

また、シークレットガイドの説明に従って、クライアントのシークレットキーを含むKubernetesシークレットを作成する必要があります。

サービスアカウント

このセクションでは、ServiceAccountを作成するかどうか、およびデフォルトのアクセストークンをポッドにマウントするかどうかを制御します。

名前デフォルト説明
annotationsマップ{}ServiceAccountの注釈。
automountServiceAccountTokenブール値falseの設定は、デフォルトのServiceAccountアクセストークンをポッドにマウントする必要があるかどうかを制御します。これは、特定のサイドカーが正常に機能するために必要という場合(Istioなど)を除き、有効にしないようにしてください。
createブール値falseServiceAccountを作成するかどうかを示します。
enabledブール値falseServiceAccountを使用するかどうかを示します。
name文字列ServiceAccountの名前。設定しない場合、チャートの完全名が使用されます。

affinity

詳細については、affinityを参照してください。