메일룸 차트 사용하기
Offering: Self-managed
메일룸 차트는 수신 이메일을 처리합니다.
구성
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: []
affinity: {}
podLabels: {}
hpa:
minReplicas: 1
maxReplicas: 2
cpu:
targetAverageUtilization: 75
# HPA는 autoscaling/v2beta1, autoscaling/v2beta2 및 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
## 사용자 및 그룹에서 실행되는 환경을 덮어쓰도록 허용합니다.
securityContext:
runAsUser: 1000
fsGroup: 1000
## 서비스 계정을 사용하기 위해 배포 활성화
serviceAccount:
enabled: false
create: false
annotations: {}
## 서비스 계정에 사용할 이름, 기본적으로 차트 전체 이름을 사용합니다.
# name:
매개변수 | 설명 | 기본값 |
---|---|---|
affinity |
{} |
Affinity rules for pod assignment |
deployment.strategy |
배포에 사용되는 업데이트 전략을 구성할 수 있습니다. | {} |
enabled |
메일룸 활성화 플래그 | true |
hpa.behavior |
동적 스케일링 동작에 대한 사양을 포함합니다. (requires autoscaling/v2beta2 or higher) |
{scaleDown: {stabilizationWindowSeconds: 300 }} |
hpa.customMetrics |
원하는 복제 수를 계산하는 데 사용할 사양이 포함된 사용자 지정 메트릭. (기본 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.registry |
메일룸 이미지 레지스트리 | |
image.repository |
메일룸 이미지 저장소 | registry.gitlab.com/gitlab-org/build/cng/gitlab-mailroom |
image.tag |
메일룸 이미지 태그 | |
init.image.repository |
메일룸 초기 이미지 저장소 | |
init.image.tag |
메일룸 초기 이미지 태그 | |
init.resources |
메일룸 초기 컨테이너 리소스 요구 사항 | { requests: { cpu: 50m }} |
init.containerSecurityContext |
initContainer container specific securityContext | |
keda.enabled |
false |
KEDA ScaledObjects 대신 사용할 것인지 여부 |
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 |
이 차트에 의해 생성된 모든 객체에 적용되는 보충 레이블. | {} |
resources |
메일룸 리소스 요구 사항 | { requests: { cpu: 50m, memory: 150M }} |
networkpolicy.annotations |
NetworkPolicy에 추가할 주석 | {} |
networkpolicy.egress.enabled |
NetworkPolicy의 egress 규칙 활성화 플래그 | false |
networkpolicy.egress.rules |
NetworkPolicy의 egress 규칙 목록 정의 | [] |
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 |
볼륨의 소유권 및 권한을 변경하기 위한 정책 (requires Kubernetes 1.23) | |
containerSecurityContext |
컨테이너가 시작되는 특정 securityContext를 덮어쓰는 것 | |
containerSecurityContext.runAsUser |
1000 |
컨테이너가 시작되는 특정 보안 컨텍스트를 덮어쓸 수 있게 허용합니다. |
serviceAccount.annotations |
서비스 계정에 대한 주석 | {} |
serviceAccount.automountServiceAccountToken |
기본 서비스 계정 액세스 토큰을 포드에 마운트해야 하는지 여부를 나타냅니다. | false |
serviceAccount.enabled |
서비스 계정을 사용할지 여부를 나타냅니다. | false |
serviceAccount.create |
서비스 계정을 생성해야 하는지 여부를 나타냅니다. | false |
serviceAccount.name |
서비스 계정의 이름. 설정하지 않으면 전체 차트 이름이 사용됩니다. | |
tolerations |
메일룸에 추가할 공차성 | |
priorityClassName |
포드에 할당된 우선 순위 클래스입니다. |
KEDA 구성
이 keda
섹션은 일반 HorizontalPodAutoscalers
대신에 KEDA ScaledObjects
의 설치를 활성화합니다.
이 구성은 선택 사항이며, 사용자 정의 또는 외부 메트릭에 기반한 자동 확장이 필요할 때 사용될 수 있습니다.
대부분의 설정은 해당하는 경우 hpa
섹션에서 설정된 값으로 기본 설정됩니다.
다음 조건이 모두 참일 경우, CPU 및 메모리 임계값에 따라 CPU 및 메모리 트리거가 자동으로 추가됩니다:
-
triggers
가 설정되지 않음. - 해당하는
request.cpu.request
또는request.memory.request
설정이 0이 아닌 값으로 설정됨.
트리거가 설정되지 않으면 ScaledObject
가 생성되지 않습니다.
자세한 설정에 대한 내용은 KEDA 문서를 참조하세요.
Name | Type | Default | Description |
---|---|---|---|
enabled |
Boolean | false |
KEDA ScaledObjects 를 HorizontalPodAutoscalers 대신 사용합니다. |
pollingInterval |
Integer | 30 |
각 트리거를 확인하는 간격입니다. |
cooldownPeriod |
Integer | 300 |
마지막 트리거가 활성 상태로 보고된 후 리소스를 0으로 다시 확장하기 전에 대기하는 기간입니다. |
minReplicaCount |
Integer | KEDA가 리소스를 축소할 최소 복제본 수입니다. 기본값은 hpa.minReplicas 입니다. |
|
maxReplicaCount |
Integer | KEDA가 리소스를 확장할 최대 복제본 수입니다. 기본값은 hpa.maxReplicas 입니다. |
|
fallback |
Map | KEDA 대체 구성입니다. 문서를 참조하세요. | |
hpaName |
String | KEDA가 생성할 HPA 리소스의 이름입니다. 기본값은 keda-hpa-{scaled-object-name} 입니다. |
|
restoreToOriginalReplicaCount |
Boolean |
ScaledObject 가 삭제된 후 대상 리소스를 원래 복제본 수로 다시 축소할지 여부를 지정합니다. |
|
behavior |
Map | 상향 및 하향 스케일링 동작에 대한 사양입니다. 기본값은 hpa.behavior 입니다. |
|
triggers |
Array | 대상 리소스의 스케일링을 활성화할 트리거 목록입니다. 기본값은 hpa.cpu 와 hpa.memory 에서 계산된 트리거입니다. |
수신 이메일
기본적으로 수신 이메일은 비활성화되어 있습니다. 수신 이메일을 읽는 두 가지 방법이 있습니다:
먼저, 공통 설정을 설정하여 활성화합니다.
그 다음 IMAP 설정 또는 Microsoft Graph 설정을 구성합니다.
이러한 방법은 values.yaml
에서 구성할 수 있습니다. 다음 예를 참조하세요:
IMAP
IMAP을 위한 수신 이메일을 활성화하려면, global.appConfig.incomingEmail
설정을 사용하여 IMAP 서버의 세부 사항과 접근 자격 증명을 제공해야 합니다.
또한, IMAP 이메일 계정의 요구 사항을 검토해야 하며, 이는 GitLab이 이메일을 수신하기 위해 대상 IMAP 계정을 사용할 수 있는지 확인합니다. 여러 일반 이메일 서비스도 이메일 수신 설정을 돕기 위해 같은 페이지에 문서화되어 있습니다.
IMAP 비밀번호는 여전히 비밀 가이드에서 설명된 대로 Kubernetes Secret으로 생성해야 합니다.
Microsoft Graph
Azure Active Directory 애플리케이션을 생성하는 GitLab 문서를 참조하세요.
테넌트 ID, 클라이언트 ID 및 클라이언트 비밀을 제공하세요. 이러한 설정에 대한 세부 정보는 명령줄 옵션에서 확인할 수 있습니다.
Kubernetes 비밀을 생성하여 클라이언트 비밀을 포함해야 하며, 이는 비밀 가이드에서 설명되어 있습니다.
Reply-by-email
사용자가 알림 이메일에 댓글을 달기 위해 문제 및 MR에 답변할 수 있는 reply-by-email 기능을 사용하려면, 발신 이메일 및 수신 이메일 설정을 구성해야 합니다.
Service Desk 이메일
기본적으로 Service Desk 이메일은 비활성화되어 있습니다.
수신 이메일과 마찬가지로, 공통 설정을 설정하여 이를 활성화하세요. 그런 다음 IMAP 설정 또는 Microsoft Graph 설정을 구성하세요.
이러한 옵션은 values.yaml
에서도 구성할 수 있습니다. 다음 예제를 참조하세요:
Service Desk 이메일은 수신 이메일이 구성되어야 _필수_입니다.
IMAP
global.appConfig.serviceDeskEmail
설정을 사용하여 IMAP 서버의 세부 사항과 접근 자격 증명을 제공하세요. 이러한 설정에 대한 세부 정보는 명령줄 옵션에서 확인할 수 있습니다.
Service Desk 이메일을 위한 IMAP 비밀번호를 포함하는 Kubernetes 비밀을 생성해야 하며, 이는 비밀 가이드에서 설명되어 있습니다.
Microsoft Graph
Azure Active Directory 애플리케이션을 생성하는 GitLab 문서를 참조하세요.
global.appConfig.serviceDeskEmail
설정을 사용하여 테넌트 ID, 클라이언트 ID 및 클라이언트 비밀을 제공하세요. 이러한 설정에 대한 세부 정보는 명령줄 옵션에서 확인할 수 있습니다.
Kubernetes 비밀을 생성하여 클라이언트 비밀을 포함해야 하며, 이는 비밀 가이드에서 설명되어 있습니다.
serviceAccount
이 섹션은 ServiceAccount를 생성해야 하는지와 기본 액세스 토큰을 포드에 장착해야 하는지를 제어합니다.
이름 | 유형 | 기본값 | 설명 |
---|---|---|---|
annotations |
맵 | {} |
ServiceAccount 주석. |
automountServiceAccountToken |
불리언 | false |
기본 ServiceAccount 액세스 토큰이 포드에 장착되어야 하는지를 제어합니다. 특정 사이드카가 제대로 작동하는 데 필요하지 않는 한 이를 활성화하면 안 됩니다 (예: Istio). |
create |
불리언 | false |
ServiceAccount를 생성해야 하는지 여부를 나타냅니다. |
enabled |
불리언 | false |
ServiceAccount를 사용해야 하는지 여부를 나타냅니다. |
name |
문자열 | ServiceAccount의 이름. 설정하지 않은 경우 전체 차트 이름이 사용됩니다. |
친화성
자세한 내용은 affinity
를 참조하세요.