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'ops > kubernetes' 카테고리의 다른 글
| 워커노드의 disk-usage에 따라 alert발생 시키기 - 2(rule 설정) (0) | 2026.01.12 |
|---|---|
| 워커노드의 disk-usage에 따라 alert발생 시키기 - 1(쿼리문) (0) | 2026.01.12 |
| 워커노드에 node exporter 설치하기 (0) | 2026.01.11 |
| nodeSelector vs nodeName vs nodeAffinity (0) | 2026.01.07 |
| kubectl명령어 결과에서 헤더 제외하고 출력하기 (0) | 2026.01.07 |