1. Metrics-server 생성하기 / 확인하기
// root 에서 metrics-server 설치
ubuntu@master1:~$ sudo -i
root@master1:~# kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
serviceaccount/metrics-server created
// metrics-server 생성된 것 확인
root@master1:~# kubectl get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system kube-scheduler-master1 1/1 Running 2 (4h7m ago) 6d4h
kube-system metrics-server-8cc6d-tlj74 0/1 Running 0 5s
root@master1:~# kubectl -n kube-system get deploy,po
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/coredns 2/2 2 2 6d4h
deployment.apps/metrics-server 0/1 1 0 92s
NAME READY STATUS RESTARTS AGE
pod/metrics-server-8cc6d-tlj74 0/1 Running 0 92s
2. metrics-server 편집
root@master1:~# kubectl -n kube-system edit deploy metrics-server
deployment.apps/metrics-server edited
// spec 에서 아래와 같은지 확인, 변경
spec:
containers:
- args:
- --cert-dir=/tmp
- --secure-port=4443
- --kubelet-insecure-tls # 추가
- --kubelet-preferred-address-types=InternalIP # 추가
image: k8s.gcr.io/metrics-server-amd64:v0.3.6
imagePullPolicy: IfNotPresent
name: metrics-server
3. 확인
root@master1:~# kubectl -n kube-system logs metrics-server-5 tabkey누르기
root@master1:~# kubectl top pods --all-namespaces
NAMESPACE NAME CPU(cores) MEMORY(bytes)
kube-system metrics-server-5 3m 14Mi
root@master1:~# kubectl top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
master1 309m 15% 1712Mi 45%
worker1 82m 4% 842Mi 22%
root@master1:~# exit
logout
4. 대시보드 UI 배포하기
edit selector -> type -> NodePort로 변경
ubuntu@master1:~$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml
ubuntu@master1:~$ kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard
service/kubernetes-dashboard edited
// selector -> type -> NodePort로 변경
4-1. NodePort 로 할당된 포트 확인
ubuntu@master1:~$ kubectl get svc -n kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
dashboard-metrics-scraper ClusterIP 8000/TCP 88s
kubernetes-dashboard NodePort 443:1111/TCP 88s
4-2. 쿠버네티스 대시보드 접속하기
- kubernetes-dashboard 의 port 확인 443:1111/TCP
- 할당된 포트 1111
- 마스터 공인 IP 확인
-> https://마스터공인IP:할당된포트
해당 주소로 접속 -> 주의요함 ~~~ 나옴. -> 안전하지 않은 ~~ 링크 클릭 -> 들어가기
5. 쿠버네티스 대시보드 로그인하기
- name에 token 들어간 것 확인
- token 내용 복사
- token 파일 만들어서 토큰 복붙
ubuntu@master1:~$ kubectl -n kubernetes-dashboard get secrets
NAME TYPE DATA AGE
kubernetes-dashboard-token- kubernetes.io/service-account-token 3 7m58s
ubuntu@master1:~$ kubectl -n kubernetes-dashboard describe secrets kubernetes-dashboard-token-탭키누르기
token: <여기있는 토큰 복사하기>
ubuntu@master1:~$ cat > token.hyh
토큰복붙
5-1. 쿠버네티스 대시보드 로그인
- 토큰 복붙하기
5-2. 대시보드에서 정보 확인
- clusterrolebinding 해주기
ubuntu@master1:~$ kubectl create clusterrolebinding kubernetes-dashboard-admin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:kubernetes-dashboard
clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard-admin created
- 대시보드에서 확인 가능
참고
https://github.com/kubernetes-sigs/metrics-server/
https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/
'개발 > Cloud' 카테고리의 다른 글
[aws] s3 버킷 생성하기 / 버킷 정책 수정 (0) | 2022.03.03 |
---|---|
[kubernetes] 쿠버네티스 pod 확장, deployment scaling (0) | 2022.02.23 |
[kubernetes] 쿠버네티스 katacoda 에서 경험해보기 (0) | 2022.02.15 |
aws simple icons / 아키텍쳐 diagram 그리기 공유 / 아키텍쳐 참고 사이트 (0) | 2022.01.28 |