쿠버네티스 대시보드 적용
쿠버네티스 대시보드 설치 전에
쿠버네티스는 대시보드를 공식적으로 지원해 준다, 아래글은 해당 문서를 참고하여 작성 하였다. (이때 버전은 2.6.0)
참조 : https://github.com/kubernetes/dashboard
GitHub - kubernetes/dashboard: General-purpose web UI for Kubernetes clusters
General-purpose web UI for Kubernetes clusters. Contribute to kubernetes/dashboard development by creating an account on GitHub.
github.com
1. 쿠버네티스 대시보드 설치
쿠버네티스에서 제공하는 기본 대시보드 화면 적용 방법이다.
나는 대시보드를 최신버전(v2.6.0)으로 설치 해주었다.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.6.0/aio/deploy/recommended.yaml
2. 쿠버네티스 대시보드 서비스 방법
공식문서에서는 설치한 쿠버네티스 대시보드를 proxy로 실행하게 되어있다.
나는 proxy로 실행하는것과 nodeport로 실행하는것 2가지 방법으로 진행 해 보았다.
2.1 Proxy로 서비스하는 경우
proxy로 서비스하는 경우이다. 이는 인증없이 바로 접속하여 사용할 수 있다. (단 프록시가 꺼진다면 다시 켜야한다...)
kubectl proxy
프록시를 올렸다면 아래로 접속하여 확인 해보도록 하자
http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
2.2 NodePort로 서비스하는 경우
NodePort로 변경하여 해당 포트로 대시보드를 접근하도록 진행할 예정이다.
대시보드가 실행되고 있는 Service에 ClusterIP로 적용된 type을 NodePort로 변경 해야 한다.
kubectl -n kubernetes-dashboard edit service kubernetes-dashboard #type을 NodePort로 변경
apiVersion: v1
kind: Service
metadata:
...
spec:
clusterIP: 10.106.207.236
clusterIPs:
- 10.106.207.236
internalTrafficPolicy: Cluster
ipFamilies:
- IPv4
ipFamilyPolicy: SingleStack
ports:
- port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: ClusterIP # 이곳을 NodePort로 변경하자
status:
loadBalancer: {}
kubectl -n kubernetes-dashboard get service kubernetes-dashboard #노드 포트 확인
변경된 service를 보면 Type과 Port가 변경된 것을 확인 할 수 있다.
여기서 추가된 포트로 접속 해보도록 하자
https://localhost:<확인된포트>
그렇다면 아래와같이 대시보드에 접근한 것을 확인 할 수 있다.
이 후 대시보드를 접속하기 위해서는 토큰을 사용하여 접속해야 한다.
[아래에 이어서 진행]
쿠버네티스 대시보드 토큰 발행 및 접속
대시보드 토큰 발행 전에 쿠버네티스 대시보드가 설치되지 않았다면 아래 글을 확인하기 바랍니다. https://park-hw.tistory.com/entry/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EB%8C%80%EC%8B%9C%EB%B3%..
park-hw.tistory.com