참고한 것들
선택의 이유
- 물론 Prometheus 같은거 쓰면 더 좋다는거 안다.
- 근데
- Node 의 사양이 그리 좋지 않다.
- 그리고 여기에 너무 많은 시간투자를 하기 싫다.
- 따라서 그냥 무난무난 둥글둥글한 kubernetes-dashboard 를 사용하기로.
설치
- NS 생성 (선택)
kubectl create ns system-monitoring
- Helm values
dashboard.yaml
app:
ingress:
enabled: true
hosts:
- {{ Dashboard 엔드포인트 }}
ingressClassName: nginx
useDefaultIngressClass: true
path: /
tls:
enabled: false
metrics-server:
enabled: true
- 여기서 주목할 점은
app.ingress.useDefaultAnnotations: true
로 주면ingressClassName: nginx
는 의미가 없어진다. 근데 그냥 더블체크로다가 설정함 (참고)- Metrics server 는 별도로 설치하지 않고 subchart 로 제공해주는거 사용함
- Helm repo add
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/
helm repo update
- Helm install
helm -n system-monitoring upgrade --install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard -f dashboard.yaml
Token 생성
- Kube-dashboard 는 그냥은 못쓰고 SA 를 생성해 token 을 받아야 한다.
- Admin 권한으로 만들어 보자. 일단 다음 명령어로 SA 를 만든다.
kubectl -n kube-system create sa {{ SA 이름 }}
- 그리고 이놈에게 admin ClusterRole 을 묶어준다.
kubectl create clusterrolebinding {{ CRB 이름 }} --clusterrole=admin --user=system:serviceaccount:kube-system:{{ SA 이름 }}
- 마지막으로 다음 명령어로 token 을 생성해준다.
kubectl -n kube-system create token {{ SA 이름 }}