GitLab-Spamcheck 차트 사용하기
spamcheck
서브 차트는 Spamcheck을 배포합니다. 이는 GitLab이 원래 GitLab.com의 스팸 증가에 대응하기 위해 개발한 악성 스팸 엔진으로, 후에 Self-Managed형 GitLab 인스턴스에서 사용할 수 있도록 공개되었습니다.
요구 사항
이 차트는 GitLab API에 액세스해야 합니다.
구성
스팸체크 활성화
spamcheck
는 기본적으로 비활성화되어 있습니다. GitLab 인스턴스에서 활성화하려면 Helm 속성 global.spamcheck.enabled
를 true
로 설정하세요. 예:
helm upgrade --force --install gitlab . \
--set global.hosts.domain='your.domain.com' \
--set global.hosts.externalIP=XYZ.XYZ.XYZ.XYZ \
--set certmanager-issuer.email='me@example.com' \
--set global.spamcheck.enabled=true
GitLab에서 스팸체크 구성
- 왼쪽 사이드바에서 맨 아래에서 관리 영역을 선택합니다.
- 설정 > 보고서를 선택합니다.
- 스팸 및 안티봇 보호를 확장합니다.
- 스팸 체크 설정을 업데이트합니다:
- “외부 API 엔드포인트를 통한 스팸 체크 활성화” 확인란을 선택합니다.
- 외부 스팸 체크 엔드포인트 URL로
grpc://gitlab-spamcheck.default.svc:8001
을 사용하고, 여기서default
는 GitLab이 배포된 Kubernetes 네임스페이스로 대체됩니다. - “스팸 체크 API 키”를 비워 둡니다.
- 변경 사항 저장을 선택합니다.
설치 명령줄 옵션
아래 표에는 helm install
명령에 --set
플래그를 사용하여 제공할 수 있는 모든 차트 구성이 포함되어 있습니다.
매개변수 | 기본값 | 설명 |
---|---|---|
annotations
| {}
| Pod 주석 |
common.labels
| {}
| 이 차트에 의해 생성된 모든 객체에 적용되는 부가 레이블 |
deployment.livenessProbe.initialDelaySeconds
| 20 | Liveness 프로브가 시작되기 전의 지연 시간 |
deployment.livenessProbe.periodSeconds
| 60 | Liveness 프로브 수행 주기 |
deployment.livenessProbe.timeoutSeconds
| 30 | Liveness 프로브 타임아웃 시간 |
deployment.livenessProbe.successThreshold
| 1 | Liveness 프로브가 실패한 후 성공으로 간주되기 위한 최소 연속 성공 횟수 |
… (이어짐) … |
(표의 내용은 계속됨)
KEDA 구성
이 keda
섹션은 일반적인 HorizontalPodAutoscalers
대신 KEDA ScaledObjects
의 설치를 가능하게 합니다. 이 구성은 선택 사항이며, 사용자 또는 외부 메트릭에 기반한 자동 스케일링이 필요할 때 사용할 수 있습니다.
대부분의 설정은 해당되는 경우 hpa
섹션에서 설정한 값으로 기본값으로 사용됩니다.
다음 조건이 참이면 CPU 및 메모리 트리거가 자동으로 추가되며, 이는 triggers
가 설정되지 않았거나 해당하는 request.cpu.request
또는 request.memory.request
설정이 0이 아닌 값으로 설정되었을 때 발생합니다.
-
triggers
가 설정되지 않았을 때. - 해당하는
request.cpu.request
또는request.memory.request
설정이 0이 아닌 값으로 설정되었을 때.
트리거가 설정되지 않으면 ScaledObject
가 생성되지 않습니다.
이러한 설정에 대한 자세한 내용은 KEDA 문서를 참조하세요.
이름 | 유형 | 기본값 | 설명 |
---|---|---|---|
enabled
| 불리언 | false
| 일반적인 HorizontalPodAutoscalers 대신 KEDA ScaledObject 를 사용합니다.
|
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 에서 계산된 트리거입니다.
|
차트 구성 예시
tolerations
tolerations
을 사용하면 tainted된 워커 노드에 pod을 예약할 수 있습니다.
다음은 tolerations
의 예시 사용법입니다:
tolerations:
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoSchedule"
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoExecute"
annotations
annotations
을 사용하면 Spamcheck pod에 주석을 추가할 수 있습니다. 예:
annotations:
kubernetes.io/example-annotation: annotation-value
resources
resources
를 사용하면 Spamcheck pod이 사용할 수 있는 리소스(메모리 및 CPU)의 최소 및 최대량을 구성할 수 있습니다.
예시:
resources:
requests:
memory: 100m
cpu: 100M
livenessProbe/readinessProbe
deployment.livenessProbe
및 deployment.readinessProbe
는 컨테이너가 손상된 상태일 때 Spamcheck pod의 종료를 제어하는 메커니즘을 제공합니다.
예시:
deployment:
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 20
timeoutSeconds: 3
successThreshold: 1
failureThreshold: 10
readinessProbe:
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 2
successThreshold: 1
failureThreshold: 3
이 구성에 대한 추가 세부 정보는 공식 Kubernetes Documentation를 참조하세요.