Summary
K3s 환경에서 기본 제공되는 번들 Traefik을 삭제하고 최신 Traefik을 설치하는 과정을 기록했습니다.
K3s를 설치할 때 기본으로 제공되는 번들 Traefik은 버전이 너무 오래되어서 최신 버전 기준 유용한 기능을 많이 사용하지 못합니다. 그래서 번들 Traefik을 비활성화하고 helm을 사용하여 최신 Traefik을 설치합니다.
번들 Traefik 비활성화
sudo nano /etc/systemd/system/k3s.service--disable=traefik추가- K3s 서비스 재시작
sudo systemctl daemon-reload
sudo systemctl restart k3s- 번들 Traefik 리소스 삭제
# K3s가 관리하던 HelmCharts 리소스 삭제
kubectl -n kube-system delete helmcharts.helm.cattle.io traefik
kubectl -n kube-system delete helmcharts.helm.cattle.io traefik-crd
# 기존 Traefik 파드 및 서비스 삭제
kubectl -n kube-system delete deploy traefik
kubectl -n kube-system delete svc traefik최신 Traefik 설치
Traefik은 helm으로 설치 및 관리합니다.
helm repo add traefik https://helm.traefik.io/traefik
helm repo updateyaml
helm을 사용하면 좋은 점은 values를 지정하여 yaml 템플릿을 동적으로 수정할 수 있습니다.
providers:
kubernetesIngress:
publishedService:
enabled: false
ports:
web:
port: 8000
expose:
default: true
exposedPort: 80
websecure:
port: 8443
expose:
default: true
exposedPort: 443
deployment:
kind: DaemonSet
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 0
ingressRoute:
dashboard:
enabled: false
hostNetwork: truehelm install traefik traefik/traefik \
--namespace traefik-system \
--create-namespace \
-f traefik-values.yamlTip
번들 Traefik으로 설정한 Ingress가 있더라도 별도의 수정없이 바로 사용 가능합니다.