우노
[Kubernetes] MacOS Kubernetes 및 Dashboard 설치 본문
진행 순서
- Docker Desktop for Mac 설치
- Docker Desktop Kubernetes 사용 설정
- Kubectl 설치
- Kubernetes Dashboard 설치
- 계정 생성
- 계정 토근 조회
- 계정 토큰을 통해 Kubernetes Dashboard 로그인
Docker Desktop for Mac 설치
- Docker Desktop 은 kubernetes 를 지원하기 때문에,
- 우선 Docker Desktop for Mac 을 설치합니다.
Docker Desktop Kubernetes 사용 설정
Docker Desktop 에 접근한 뒤, 우측 상단의 톱니바퀴 버튼을 통해 Preferences 로 접근합니다.
이후, 좌측 하단의 Kubernetes 를 클릭한 뒤, Enable Kubernetes 를 체크하고
우측 하단의 Apply & Restart 버튼을 클릭합니다.
Kubectl 설치
Kubectl 은 Kubernetes Cluster manage tool 로,
K8S Cluster 를 관리할 수 있는 커맨드라인 툴을 의미합니다.
Kubectl 는 다양한 방법으로 설치할 수 있으며,
해당 포스트에서는 MacOS 의 brew 패키지 관리자를 사용해 설치하겠습니다.
brew install kubectl
Kubernetes Dashboard 설치
Kubernetes Dashboard 는, 웹 기반 쿠버네티스 유저 인터페이스입니다.
Dashboard 를 통해 컨테이너화 된 애플리케이션을 Kubernetes Cluster 에 배포할 수 있고,
컨테이너화 된 애플리케이션을 트러블슈팅할 수 있으며,
Cluster resource 들을 관리할 수 있습니다.
Kubernetes Dashboard 는 아래와 같이 설치할 수 있습니다.
# 대시보드 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml # 대시보드 실행 kubectl proxy # 아래 URL 을 브라우저 창에 입력합니다. http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
정상적으로 접근한다면, 아래와 같은 Login 화면을 확인할 수 있습니다.
- 하지만, 아직 계정을 생성 하지 않았기 때문에 로그인을 할 수는 없습니다.
계정 생성
admin-user 계정 생성용 yaml 파일 작성
vi service-account.yml
apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kube-system
- kind : ServiceAccount
- 쿠버네티스에서 관리하는 계정을 생성한다는 의미입니다.
- name : admin-user
- 계정명을 의미합니다.
- namespace : kube-system
- 대시보드가 설치되어 있는 kube-system 에서 사용할 계정을 생성한다는 의미입니다.
- kind : ServiceAccount
admin-user 권한 부여용 yaml 파일 작성
vi cluster-role-binding.yml
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kube-system
- name: cluster-admin
- 모든 클러스터에 접근 할 수 있는 권한을 의미합니다.
- name: cluster-admin
생성한 파일을 사용해, 계정을 생성하고 권한을 부여합니다.
kubectl create -f service-account.yml kubectl create -f cluster-role-binding.yml
계정 생성 확인
kubectl get sa -n kube-system
- sa : service account 를 의미합니다.
계정 토근 조회
이제, 생성한 계정에 지정된 토큰을 가지고옵니다.
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')
- 토큰은, 내가 admin-user 계정이며 cluster-admin 권한 롤을 가지고 있다는 것을 의미합니다.
- 해당 토큰 값을 통해, 내가 유효한 자격을 소유하고 있다는 것을 증명할 수 있게 됩니다.
계정 토큰을 통해 Kubernetes Dashboard 로그인
Kubernetes Dashboard 로그인 창에서 토큰을 선택하고 상단의 토큰을 입력해 로그인을 진행하면
현재 쿠버네티스에 정의되어 있는 모든 자원을 확인할 수 있게 됩니다.
참고
'DevOps > Kubernetes' 카테고리의 다른 글
[K8S] Nodeport, Port, Targetport 정리 (0) | 2023.03.01 |
---|---|
[Kubernetes] MacOS 에서 VirtualBox 로 Kubernetes Cluster 구성하기 (0) | 2022.02.21 |
[Kubernetes] 간단한 일반 서버, 도커, 쿠버네티스 비교 실습 (0) | 2022.02.16 |
[Kubernetes] VM 과 Container 의 차이 (0) | 2022.02.16 |
[Kubernetes] 쿠버네티스를 사용해야하는 이유 (0) | 2022.02.16 |