メール室チャートの使い方
Mailroom ポッドは GitLab アプリケーションへのメールの取り込みを処理します。
設定
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
# Tolerations for pod scheduling
tolerations: []
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:
パラメータ | 説明 | デフォルト |
---|---|---|
deployment.strategy | デプロイによって使用されるアップデート戦略を設定できます。 | {} |
enabled | メールルーム有効化フラグ | true |
hpa.behavior | ビヘイビアには、アップスケーリングとダウンスケーリングのビヘイビアの仕様が含まれます(autoscaling/v2beta2 以上が必要です)。 | {scaleDown: {stabilizationWindowSeconds: 300 }} |
hpa.customMetrics | カスタム・メトリクスには、希望するレプリカ数を計算するために使用するメトリクスの設定が含まれます(targetAverageUtilization で設定された平均CPU使用率をデフォルトで上書きします)。 | [] |
hpa.cpu.targetType | オートスケーリングCPUターゲット・タイプを設定します。Utilization またはAverageValue
| Utilization |
hpa.cpu.targetAverageValue | オートスケーリングCPUターゲット値の設定 | |
hpa.cpu.targetAverageUtilization | オートスケーリングCPUターゲット使用率の設定 | 75 |
hpa.memory.targetType |
Utilization 、またはAverageValue
| |
hpa.memory.targetAverageValue | オートスケーリング・メモリ・ターゲットの値を設定します。 | |
hpa.memory.targetAverageUtilization | オートスケーリングメモリ使用率の設定 | |
hpa.maxReplicas | 最大レプリカ数 | 2 |
hpa.minReplicas | 最小レプリカ数 | 1 |
image.pullPolicy | メールルーム・イメージ・プルポリシー | IfNotPresent |
extraEnvFrom | 公開する他のデータソースの追加環境変数のリスト | |
image.pullSecrets | メールルーム画像プルのシークレット | |
image.repository | メールルーム画像リポジトリ | registry.gitlab.com/gitlab-org/build/cng/gitlab-mailroom |
image.tag | メールルーム画像タグ | master |
init.image.repository | メールルームinit画像リポジトリ | |
init.image.tag | メールルーム init イメージタグ | |
init.resources | Mailroom init コンテナリソース要件 | { requests: { cpu: 50m }} |
init.containerSecurityContext | initContainer コンテナ固有のsecurityContext | |
keda.enabled | false | の代わりにKEDA ScaledObjects を使用します。HorizontalPodAutoscalers
|
keda.pollingInterval | 30 | 各トリガーを |
keda.cooldownPeriod | 300 | リソースを0にスケールバックする前に、最後のトリガがアクティブであると報告された後、待機する期間。 |
keda.minReplicaCount | KEDAがリソースをスケールダウンする最小レプリカ数。hpa.minReplicas
| |
keda.maxReplicaCount | KEDAがリソースをスケールアップする際の最大レプリカ数。hpa.maxReplicas
| |
keda.fallback | KEDAフォールバック設定。 | |
keda.hpaName | KEDAが作成するHPAリソースの名前。keda-hpa-{scaled-object-name}
| |
keda.restoreToOriginalReplicaCount |
ScaledObject が削除された後、ターゲットリソースを元のレプリカ数にスケールバックするかどうかを指定します。 | |
keda.behavior | アップスケーリングとダウンスケーリングの動作を指定します。hpa.behavior
| |
keda.triggers | 対象リソースのスケーリングを有効にするトリガーのリスト。デフォルトはhpa.cpu とhpa.memory
| |
podLabels | メールルーム・ポッドを実行するためのラベル | {} |
common.labels | このChartで作成されたすべてのオブジェクトに適用される補助ラベル。 | {} |
resources | メールルームのリソース要件 | { requests: { cpu: 50m, memory: 150M }} |
networkpolicy.annotations | NetworkPolicyに追加する注釈 | {} |
networkpolicy.egress.enabled | NetworkPolicy のイグレスルールを有効にするフラグ。 | false |
networkpolicy.egress.rules | NetworkPolicy のイグレスルールのリストを定義します。 | [] |
networkpolicy.enabled | NetworkPolicyの使用フラグ | false |
networkpolicy.ingress.enabled | NetworkPolicy のingress ルールを有効にするフラグ | false |
networkpolicy.ingress.rules | NetworkPolicy のingress ルールのリストを定義します。 | [] |
securityContext.fsGroup | ポッドを起動するグループID | 1000 |
securityContext.runAsUser | ポッドを起動するユーザーID | 1000 |
securityContext.fsGroupChangePolicy | ボリュームの所有権と権限を変更するためのポリシー (Kubernetes 1.23 が必要) | |
containerSecurityContext | コンテナが起動するコンテナsecurityContext をオーバーライドします。 | |
containerSecurityContext.runAsUser | 1000 | コンテナが起動される特定のセキュリティコンテキストを上書きできるようにします。 |
serviceAccount.annotations | ServiceAccount のアノテーション | {} |
serviceAccount.enabled | ServiceAccountの使用フラグ | false |
serviceAccount.create | ServiceAccountを作成するフラグ | false |
serviceAccount.name | 使用するServiceAccountの名前 | |
tolerations | メールルームに追加する許容範囲 | |
priorityClassName | ポッドに割り当てられる優先度クラス。 |
KEDAの設定
このkeda
セクションでは、通常のHorizontalPodAutoscalers
の代わりにKEDA ScaledObjects
をインストールできるようにします。この設定はオプションで、カスタムまたは外部のメトリクスに基づいてオートスケーリングする必要がある場合に使用できます。
ほとんどの設定は、該当する場合はhpa
セクションで設定された値にデフォルト設定されます。
以下が真である場合、hpa
セクションで設定された CPU とメモリのしきい値に基づいて、CPU とメモリのトリガーが自動的に追加されます:
-
triggers
がセットされていません。 - 対応する
request.cpu.request
またはrequest.memory.request
の設定もゼロ以外の値に設定されます。
トリガーが設定されていない場合、ScaledObject
は作成されません。
これらの設定の詳細については、KEDAのドキュメントを参照してください。
名前 | 種類 | デフォルト | 説明 |
---|---|---|---|
enabled | ブール値 | false | の代わりにKEDA ScaledObjects を使用します。HorizontalPodAutoscalers
|
pollingInterval | 整数 | 30 | 各トリガーを |
cooldownPeriod | 整数 | 300 | リソースを0にスケールバックする前に、最後のトリガがアクティブであると報告された後、待機する期間。 |
minReplicaCount | 整数 | KEDAがリソースをスケールダウンする最小レプリカ数。hpa.minReplicas
| |
maxReplicaCount | 整数 | KEDAがリソースをスケールアップする際の最大レプリカ数。hpa.maxReplicas
| |
fallback | マップ | KEDAフォールバック設定。 | |
hpaName | 文字列 | KEDAが作成するHPAリソースの名前。keda-hpa-{scaled-object-name}
| |
restoreToOriginalReplicaCount | ブール値 |
ScaledObject が削除された後、ターゲットリソースを元のレプリカ数にスケールバックするかどうかを指定します。 | |
behavior | マップ | アップスケーリングとダウンスケーリングの動作を指定します。hpa.behavior
| |
triggers | 配列 | 対象リソースのスケーリングを有効にするトリガーのリスト。デフォルトはhpa.cpu とhpa.memory
|
受信メール
デフォルトでは、受信メールは無効になっています。受信メールを読むには2つの方法があります:
まず、共通設定で有効にします。その後、IMAP設定またはMicrosoft Graph設定を行います。
これらの方法はvalues.yaml
で設定できます。以下の例を参照してください:
IMAP
IMAP の受信メールを有効にするには、global.appConfig.incomingEmail
設定を使用して、IMAP サーバーの詳細とアクセス認証情報を提供します。
さらに、IMAPメールアカウントの要件をレビューし、対象となるIMAPアカウントがGitLabでメール受信に使用できることを確認する必要があります。いくつかの一般的な電子メールサービスも同じページに記載されており、受信電子メールの設定に役立ちます。
IMAPパスワードは、シークレットガイドに記載されているように、Kubernetesシークレットとして作成する必要があります。
Microsoft Graph
Azure Active Directoryアプリケーションの作成については、GitLabのドキュメントを参照してください。
テナントID、クライアントID、クライアントシークレットを指定します。これらの設定の詳細は、コマンドラインオプションに記載されています。
シークレットガイドに記載されているように、クライアントシークレットを含むKubernetesシークレットを作成します。
メールによる返信
ユーザーが通知メールに返信して、イシューやMRにコメントできるReply-by-Email機能を使用するには、送信メールと受信メールの両方の設定が必要です。
サービスデスクのメール
デフォルトでは、サービスデスクのEメールは無効になっています。
受信電子メールと同様に、共通設定を設定することで有効にしてください。その後、IMAP設定またはMicrosoft Graph設定を行います。
これらのオプションはvalues.yaml
でも設定できます。以下の例を参照してください:
Service Deskの電子メールには、受信電子メールの設定が_必要_です。
IMAP
global.appConfig.serviceDeskEmail
設定を使用して、IMAP サーバーの詳細とアクセス認証情報を提供します。これらの設定の詳細は、コマンドラインオプションに記載されています。
シークレットガイドに記載されているように、IMAPパスワードを含むKubernetesシークレットを作成します。
Microsoft Graph
Azure Active Directoryアプリケーションの作成については、GitLabのドキュメントを参照してください。
global.appConfig.serviceDeskEmail
設定を使用して、テナント ID、クライアント ID、クライアント・シークレットを指定します。これらの設定の詳細は、コマンドラインオプションに記載されています。
また、シークレットガイドに記載されているように、クライアントシークレットを含むKubernetesシークレットを作成する必要があります。