GitLab-Spamcheck 차트 사용하기
spamcheck
서브 차트는 Spamcheck을 배포합니다. 이는 GitLab에서 개발된 스팸 방지 엔진으로, 처음에는 GitLab.com의 스팸 증가에 대응하기 위해 개발되었으며, 나중에는 Self-managed GitLab 인스턴스에서 사용할 수 있도록 공개되었습니다.
요구 사항
이 차트는 GitLab API에 액세스해야 합니다.
구성
Spamcheck 활성화
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에서 Spamcheck 사용 구성
- 왼쪽 사이드바에서 아래쪽에 있는 Admin Area를 선택합니다.
- Settings > Reporting을 선택합니다.
- Spam and Anti-bot Protection을 확장합니다.
- 스팸 확인 설정을 업데이트합니다:
- “Enable Spam Check via external API endpoint” 확인란을 선택합니다.
- 외부 스팸 확인 엔드포인트 URL로
grpc://gitlab-spamcheck.default.svc:8001
을(를) 사용하며,default
는 GitLab을 배포하는 Kubernetes 네임스페이스로 대체됩니다. - “Spam Check API key”란은 비워 둡니다.
- Save changes를 선택합니다.
설치 명령줄 옵션
아래 표에 --set
플래그를 사용하여 helm install
명령에 제공할 수 있는 모든 차트 구성이 포함되어 있습니다.
매개변수 | 기본값 | 설명 |
---|---|---|
annotations
| {}
| Pod 주석 |
common.labels
| {}
| 이 차트에 의해 생성된 모든 객체에 적용되는 보조 레이블 |
deployment.livenessProbe.initialDelaySeconds
| 20 | Liveness 프로브가 시작되기 전의 지연 시간 |
… (중략) … | … (중략) … | … (중략) … |
priorityClassName
| 팟에 할당된 우선 순위 클래스 |
KEDA 구성
이 keda
섹션은 KEDA ScaledObjects
를 일반적인 HorizontalPodAutoscalers
대신 설치하는 것을 가능하게 합니다.
이 구성은 선택 사항이며, 사용자 지정 또는 외부 메트릭을 기반으로 하는 오토스케일링이 필요할 때 사용할 수 있습니다.
대부분의 설정은 해당되는 경우 hpa
섹션에서 설정된 값으로 기본값을 갖습니다.
다음 조건이 참이면 CPU 및 메모리 트리거가 자동으로 추가되며, 이는 triggers
가 설정되지 않았으며, 해당하는 request.cpu.request
또는 request.memory.request
설정이 0이 아닌 값으로 설정되었을 때입니다.
트리거가 설정되지 않은 경우 ScaledObject
가 생성되지 않습니다.
이러한 설정에 대한 자세한 내용은 KEDA documentation을 참조하십시오.
이름 | 유형 | 기본값 | 설명 |
---|---|---|---|
enabled
| 부울 | false
|
HorizontalPodAutoscalers 대신 KEDA ScaledObjects 사용
|
pollingInterval
| 정수 | 30
| 각 트리거를 확인하는 간격 |
cooldownPeriod
| 정수 | 300
| 마지막 트리거가 활성 상태로보고된 후 리소스를 0으로 축소시키기 전에 대기하는 시간 |
minReplicaCount
| 정수 | KEDA가 리소스를 축소시킬 때의 최소 레플리카 수로, 기본값은 hpa.minReplicas 입니다
| |
maxReplicaCount
| 정수 | KEDA가 리소스를 확장할 때의 최대 레플리카 수로, 기본값은 hpa.maxReplicas 입니다
| |
fallback
| 맵 | KEDA 후행 설정, documentation 참조 | |
hpaName
| 문자열 | KEDA가 생성할 HPA 리소스의 이름으로, 기본값은 keda-hpa-{scaled-object-name} 입니다
| |
restoreToOriginalReplicaCount
| 부울 |
ScaledObject 가 삭제된 후 대상 리소스를 원래 레플리카 수로 축소해야 하는지 여부를 지정합니다
| |
behavior
| 맵 | 업-다운 스케일링 동작 사양으로, 기본값은 hpa.behavior 입니다
| |
triggers
| 배열 | 대상 리소스의 스케일링을 활성화하는 트리거 목록으로, 기본값은 hpa.cpu 및 hpa.memory 에서 계산된 트리거입니다
|
차트 구성 예시
tolerations
tolerations
을 사용하면 tainted된 워커 노드에 파드를 예약할 수 있습니다.
아래는 tolerations
의 사용 예시입니다:
tolerations:
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoSchedule"
- key: "node_label"
operator: "Equal"
value: "true"
effect: "NoExecute"
annotations
annotations
을 사용하면 Spamcheck 파드에 주석을 추가할 수 있습니다. 예시:
annotations:
kubernetes.io/example-annotation: annotation-value
resources
resources
를 사용하면 Spamcheck 파드가 사용할 수 있는 메모리 및 CPU의 최소 및 최대 양을 구성할 수 있습니다.
예를 들어:
resources:
requests:
memory: 100m
cpu: 100M
livenessProbe/readinessProbe
deployment.livenessProbe
및 deployment.readinessProbe
를 사용하면 특정 시나리오에서 Spamcheck 파드의 종료를 제어하는 메커니즘을 제공합니다.
예를 들어, 컨테이너가 손상된 상태인 경우 등의 상황입니다.
예를 들어:
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을 참조하십시오.