본문 바로가기
ops/kubernetes

ingress로 traefik 설정하기

by seohan1010 2026. 1. 12.

traefik ingress 설정 

#traefik helm repo 추가 
helm repo add traefik https://traefik.github.io/charts

helm repo update

#helm repo 설치 (Deployment, Service, Servie Account, RBAC, CRD 생성)
helm install traefik traefik/traefik \
  -n traefik \
  --create-namespace


ingress controller를 외부로 노출할 서비스 설정 

#ingress controller의 값 확인 
get deploy -n traefik traefik -o yaml | grep args -A 10

- args:
        - --entryPoints.metrics.address=:9100/tcp
        - --entryPoints.traefik.address=:8080/tcp
        - --entryPoints.web.address=:8000/tcp         #http로 접근시 
        - --entryPoints.websecure.address=:8443/tcp   #https로 접근시 




#설정 파일
apiVersion: v1
kind: Service
metadata:
  name: traefik
  namespace: traefik
spec:
  type: NodePort
  selector:
    app.kubernetes.io/name: traefik
  ports:
    - name: web
      protocol: TCP
      port: 80          # Service 내부 포트
      targetPort: 8000  
      nodePort: 30080   # 외부에서 접근할 포트
    - name: websecure
      protocol: TCP
      port: 443
      targetPort: 8443 
      nodePort: 30443 #https로 접근시


ingress 설정 

#설정파일 
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: prometheus-ingress
  namespace: monitoring
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/router.entrypoints: web  
spec:
  rules:
    - host: prometheus.local #접근할 도메인 
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: kube-prometheus-stack-prometheus #요청을 받을 서비스 포트 
                port:
                  number: 9090                         #요청을 받을 서비스 포트   
    - host: grafana.local     #접근할 도메인 
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: kube-prometheus-stack-grafana  #요청을 받을 서비스명 
                port:
                  number: 80                         #요청을 받을 서비스 포트


dns서버가 없으므로 /etc/hosts 파일에 ip와 도메인에 해당하는 내용 추가 

#/etc/hosts에 추가할 내용 
20.0.0.2 prometheus.local
20.0.0.2 grafana.local