엔지니어링/모니터링
K8s Nginx Ingress Controller 모니터링
Ripiad
2022. 4. 24. 21:24
728x90
반응형
Nginx Ingress Controller 설치 후
https://kubernetes.github.io/ingress-nginx/user-guide/monitoring/ 가이드 대로 수행
1. Ingress에 prometheus metric 수집용 포트 설정
helm upgrade ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx \
--set controller.metrics.enabled=true \
--set-string controller.podAnnotations."prometheus\.io/scrape"="true" \
--set-string controller.podAnnotations."prometheus\.io/port"="10254"
2. Prometheus 배포
kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/prometheus/
3. Grafana 배포
kubectl apply --kustomize github.com/kubernetes/ingress-nginx/deploy/grafana/
4. grafana 접속
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
grafana ClusterIP 10.109.165.0 <none> 3000/TCP 11h
nginx-ingress-nginx-controller LoadBalancer 10.107.254.83 <pending> 80:30000/TCP,443:30001/TCP 4d13h
nginx-ingress-nginx-controller-metrics ClusterIP 10.106.200.239 <none> 10254/TCP 11h
prometheus-server ClusterIP 10.101.140.30 <none> 9090/TCP 11h
ex) grafana 서비스의 노드포트인 31086로 접속하기 위해 "k8s node IP":31086로 접속 후
ID: admin
PW: admin 입력
=> admin 비밀번호 변경 후 접속
* 필요 시 ingress를 작성해 접속
5. 대시보드json import
- Navigate to lefthand panel of grafana
- Hover on the gearwheel icon for Configuration and click "Data Sources"
- Click "Add data source"
- Select "Prometheus"
- Enter the details (note: I used http://CLUSTER_IP_PROMETHEUS_SVC:9090)
- Left menu (hover over +) -> Dashboard
- Click "Import"
- Enter the copy pasted json from https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/grafana/dashboards/nginx.json
- Click Import JSON
- Select the Prometheus data source
- Click "Import"
반응형