Files
platform/traefik/helm-values.yaml
Mayne0213 56af1a9a17 CHORE(resources): set memory limits equal to memory requests
- Align memory limits with memory requests for guaranteed QoS class
- argocd: controller, server, repoServer, redis
- traefik: main container
- cert-manager: main, webhook, cainjector
- argocd-image-updater: main container
2026-01-10 01:17:35 +09:00

78 lines
1.8 KiB
YAML

apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
name: traefik
namespace: kube-system
spec:
valuesContent: |-
# 3 replicas for HA
deployment:
replicas: 3
# Resource limits
resources:
requests:
cpu: 50m
memory: 128Mi
limits:
memory: 128Mi
# Pod Anti-Affinity - 가능하면 각 노드에 분산 배치 (soft)
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: traefik
topologyKey: kubernetes.io/hostname
# Control-plane 노드에도 배치 허용
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
# Traefik Dashboard 활성화
dashboard:
enabled: true
# API 활성화 (Dashboard에서 필요)
api:
dashboard: true
# Cross-namespace middleware 허용
providers:
kubernetesCRD:
allowCrossNamespace: true
# CLI 추가 인자
additionalArguments:
- "--api.insecure=true"
# ports 설정
ports:
traefik:
expose:
default: true
# svclb tolerations for control-plane node
service:
annotations:
svccontroller.k3s.cattle.io/tolerations: '[{"key":"node-role.kubernetes.io/control-plane","operator":"Exists","effect":"NoSchedule"}]'
# Prometheus metrics
metrics:
prometheus:
entryPoint: metrics
addEntryPointsLabels: true
addRoutersLabels: true
addServicesLabels: true
service:
enabled: true
serviceMonitor:
enabled: true
namespace: prometheus
additionalLabels:
release: prometheus