Mailroom 차트 사용

Tier: Free, Premium, Ultimate Offering: Self-Managed

Mailroom 차트는 수신 이메일을 처리합니다.

구성

이미지:
  저장소: registry.gitlab.com/gitlab-org/build/cng/gitlab-mailroom
  # 태그: v0.9.1
  pullSecrets: []
  # pullPolicy: IfNotPresent

사용 가능: true

init:
  이미지: {}
    # 저장소:
    # 태그:
  리소스:
    요청:
      cpu: 50m

# Pod 스케줄링을 위한 용인
용인: []

Pod 라벨: {}

hpa:
  최소 복제본: 1
  최대 복제본: 2
  cpu:
    목표 평균 활용: 75

  # HPA는 autoscaling/v2beta1, autoscaling/v2beta2 및 autoscaling/v2로 제한됨에 유의하십시오.
  사용자 지정 메트릭: []
  동작: {}

네트워크 정책:
  사용 가능: false
  egress:
    사용 가능: false
    규칙: []
  ingress:
    사용 가능: false
    규칙: []
  주석: {}

리소스:
  # 제한:
  #  cpu: 1
  #  memory: 2G
  요청:
    cpu: 50m
    memory: 150M

## 어떤 사용자 및 그룹으로 실행할지 덮어쓸 수 있도록 허용합니다.
보안 컨텍스트:
  사용자로 실행: 1000
  fs그룹: 1000

## 배포에 서비스 계정을 사용할 수 있도록 허용
서비스 계정:
  사용 가능: false
  생성: false
  주석: {}
  ## 서비스 계정에 사용할 이름, 그렇지 않으면 차트 풀네임 기본값
  # 이름:
매개변수 설명 기본값
deployment.strategy 배포에서 사용하는 업데이트 전략을 구성하도록 허용합니다. {}
enabled Mailroom 활성화 플래그 true
hpa.behavior 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 Mailroom 이미지 풀 정책 IfNotPresent
extraEnvFrom 노출할 기타 데이터 원본에서 추가 환경 변수 목록  
image.pullSecrets Mailroom 이미지 풀 비밀  
image.registry Mailroom 이미지 레지스트리  
image.repository Mailroom 이미지 저장소 registry.gitlab.com/gitlab-org/build/cng/gitlab-mailroom
image.tag Mailroom 이미지 태그  
init.image.repository Mailroom 초기화 이미지 저장소  
init.image.tag Mailroom 초기화 이미지 태그  
init.resources Mailroom 초기화 컨테이너 리소스 요구 사항 { 요청: { cpu: 50m }}
init.containerSecurityContext 컨테이너 특정 보안 컨텍스트을 재정의  
keda.enabled false KEDA(https://keda.sh/) 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.cpuhpa.memory에서 계산된 트리거 목록  
podLabels Mailroom Pods에 대한 라벨 {}
common.labels 이 차트에 의해 생성된 모든 개체에 적용되는 보조 라벨 {}
resources Mailroom 리소스 요구 사항 { 요청: { 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 Pod가 시작될 그룹 ID 1000
securityContext.runAsUser Pod가 시작될 사용자 ID 1000
securityContext.fsGroupChangePolicy 볼륨 소유권 및 권한을 변경하는 데 대한 정책 (Kubernetes 1.23 필요)  
containerSecurityContext   컨테이너가 시작되는 특정 보안 컨텍스트를 재정의
containerSecurityContext.runAsUser 1000 컨테이너가 시작되는 특정 보안 컨텍스트를 덮어쓸 수 있도록 허용
serviceAccount.annotations ServiceAccount에 대한 주석 {}
serviceAccount.enabled ServiceAccount 사용 플래그 false
serviceAccount.create ServiceAccount 생성 플래그 false
serviceAccount.name 사용할 ServiceAccount의 이름  
tolerations Mailroom에 추가할 유인  
priorityClassName 팟에 할당된 우선 순위 클래스  

KEDA 구성

keda 섹션은 일반적인 HorizontalPodAutoscalers 대신 KEDA ScaledObjects의 설치를 가능하게 합니다. 이 구성은 선택사항으로, 사용자 또는 외부 지표에 기반한 오토스케일링이 필요할 때 사용할 수 있습니다.

대부분의 설정은 해당되는 경우 hpa 섹션에 설정된 값으로 기본값을 갖습니다.

다음 조건을 만족하면 CPU 및 메모리 트리거가 자동으로 추가됩니다: - triggers가 설정되지 않은 경우 - 해당하는 request.cpu.request 또는 request.memory.request 설정이 0이 아닌 값으로 설정된 경우

트리거가 설정되지 않으면 ScaledObject가 생성되지 않습니다.

더 많은 세부 정보는 KEDA 문서를 참조하세요.

이름 유형 기본값 설명
enabled 부울 false KEDA HorizontalPodAutoscalers 대신 ScaledObjects 사용 여부
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.cpuhpa.memory에서 계산된 트리거가 기본값입니다

수신 이메일

기본적으로 수신 이메일은 비활성화되어 있습니다. 수신 이메일을 읽는 두 가지 방법이 있습니다: - IMAP - Microsoft Graph

먼저 공통 설정을 설정하여 활성화합니다. 그런 다음 IMAP 설정 또는 Microsoft Graph 설정을 구성합니다.

이러한 방법은 values.yaml에서 구성할 수 있습니다. 다음 예제를 참조하세요: - IMAP를 사용한 수신 이메일 - Microsoft Graph를 사용한 수신 이메일

IMAP

IMAP를 사용하여 수신 이메일을 활성화하려면 global.appConfig.incomingEmail 설정을 사용하여 IMAP 서버 및 액세스 자격 증명의 세부 정보를 제공합니다.

또한, IMAP 이메일 계정 요구 사항을 확인하여 대상 IMAP 계정이 GitLab에서 이메일을 수신하는 데 사용될 수 있는지 확인해야 합니다. 동일한 페이지에서 일반적인 이메일 서비스도 문서화되어 있어 수신 이메일 설정을 돕습니다.

IMAP 암호는 여전히 시크릿 가이드에 설명된대로 Kubernetes 시크릿으로 생성되어야 합니다.

Microsoft Graph

Azure Active Directory 애플리케이션 생성에 대한 GitLab 문서를 참조하세요.

테넌트 ID, 클라이언트 ID 및 클라이언트 비밀을 제공합니다. 이러한 설정에 대한 세부 정보는 command line options에서 찾을 수 있습니다.

수신 이메일에 대한 클라이언트 비밀을 포함한 Kubernetes 시크릿을 생성하려면 시크릿 가이드에 설명된대로 진행하세요.

이메일로 회신하기

이메일로 회신하기 기능을 사용하려면 사용자가 이슈 및 MR에 대한 코멘트를 달 수 있는 알림 이메일에 회신할 수 있도록 발신 이메일과 수신 이메일 설정을 구성해야 합니다.

서비스 데스크 이메일

기본적으로 서비스 데스크 이메일은 비활성화되어 있습니다.

수신 이메일과 마찬가지로 공통 설정을 설정하여 활성화할 수 있습니다. 그런 다음 IMAP 설정 또는 Microsoft Graph 설정을 구성하세요.

이러한 옵션은 values.yaml에서도 구성할 수 있습니다. 다음 예제를 참조하세요:

서비스 데스크 이메일 수신 이메일 설정이 구성되어 있어야 합니다.

IMAP

global.appConfig.serviceDeskEmail 설정을 사용하여 IMAP 서버 및 액세스 자격 증명에 대한 세부 정보를 제공하세요. 이러한 설정에 대한 자세한 내용은 명령줄 옵션에서 확인할 수 있습니다.

시크릿 가이드에 설명된 대로 IMAP 암호를 포함하는 Kubernetes 시크릿을 생성하세요.

Microsoft 그래프

Azure Active Directory 애플리케이션을 생성하는 GitLab 설명서를 참조하세요.

global.appConfig.serviceDeskEmail 설정을 사용하여 테넌트 ID, 클라이언트 ID 및 클라이언트 비밀의 세부 정보를 제공하세요. 이러한 설정에 대한 자세한 내용은 명령줄 옵션에서 확인할 수 있습니다.

또한 시크릿 가이드에 설명된 대로 클라이언트 비밀을 포함하는 Kubernetes 시크릿을 생성해야 합니다.