본문 바로가기

docker & kubernetes

kubernetes deshboard 외부 접근

참고

https://kubernetes.io/ko/docs/tasks/access-application-cluster/web-ui-dashboard/

 

웹 UI (대시보드)

대시보드는 웹 기반 쿠버네티스 유저 인터페이스이다. 대시보드를 통해 컨테이너화 된 애플리케이션을 쿠버네티스 클러스터에 배포할 수 있고, 컨테이너화 된 애플리케이션을 트러블슈팅할 수

kubernetes.io

https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md

 

kubernetes/dashboard

General-purpose web UI for Kubernetes clusters. Contribute to kubernetes/dashboard development by creating an account on GitHub.

github.com

 

 

# 대시보드 리소스 생성

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml 

 

# 기존에 생성된 계정(ingress-nginx)의 토큰 값을 추출하여 연결 

# 서비스계정(serviceAccount)에서 ingress-nginx 리소스 확인

# sa 생성시 secret 리소스가 생성되며 sa 리소스에서 마운트 된 secret 리소스 확인

 

# 해당 secret 리소스의 토큰 값을 base64디코딩 하여 추출

kubectl get secret -n < namesapce > <name > -o go-template="{{.data.token | base64decode}}"

 

# 외부에서 대쉬보드를 접근하기 위해 대쉬보드 배포 리소스에서 nodeport 서비스 생성 

# 대쉬보드는 외부에서 접근시 https 접근만 허용되기 때문에 8443 포트로 서비스 생성

 

# 추출한 토큰 값으로 해당 url port 연결 파드 목록을 볼 수 있다

# 해당 파드 개별 리소스 확인 시 403 권한 금지로 접근 불가

 

# clusterrolebinding에서 해당 리소스를 조회 subjects와 role에서 해당 리소스 확인

# 해당 ClusterRole 규칙목록 pods권한에 get(개별 리소스 권한) 없는 걸 확인 list는 지정되어 목록은 허용

 

'docker & kubernetes' 카테고리의 다른 글

kubernetes web/was 구성  (0) 2021.06.29
쿠버네티스 인그레스 설정  (0) 2021.06.04
쿠버네티스 배포와 노출  (0) 2021.05.25
쿠버네티스 설치 및 설정 2부  (0) 2021.05.11
쿠버네티스 설치 및 설정 1부  (0) 2021.05.03