# Kubernetes 공식 대시보드 배포

{% hint style="info" %}
쿠버네티스 공식 대시보드는 기본으로 배포되지 않으, 설치 방법이 [공식 문서](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/)에 있습니다.
{% endhint %}

## 1. 대시보드 배포

다음 명령어로 대시보드를 배포할 수 있습니다.

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

이것이 개인 클러스터에 배포되기 때문에 프락시를 통해서 접근해야 합니다. kube-proxy는 대시보드 서비스로 요청을 프락시할 수 있습니다. 귀하의 워크스페이스에서 다음 명령어를 실행하세요.

```
kubectl proxy --port=8080 --address='0.0.0.0' --disable-filter=true &
```

이러면 프락시를 시작하고 8080번 포트로 모든 인터페이스에서 접속 대기하며 비로컬 호스트 요청을 필터링을 사용하지 않도록 설정합니다.

이 명령은 현재 터미널 세션에서 백그라운드에서 계속 실행됩니다.

{% hint style="warning" %}
XSRF 공격을 방어하는 보안 기능인 요청 필터링을 비활성화 하였습니다. 이것은 프로덕션 환경에서 권장하지 않지만 개발 환경에서는 유용합니다.
{% endhint %}

## 2. 대시보드 사용하기

이제 쿠버네티스 대시보드를 사용할 수 있습니다.

1. 클라우드9 환경에서 **Tools / Preview / Preview Running Application** 을 클릭합니다.
2. **URL의 끝으로 가서** 다음을 추가합니다.

```
/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
```

주소를 입력하면 로그인 화면이 표시 됩니다. Cloud9 미리보기 브라우저는 토큰 인증을 지원하지 않는 것으로 보입니다. 따라서 Cloud9 미리보기 브라우저 탭에 로그인 화면이 표시된 상태에서 아래와 같이 **Pop Out** 버튼을 눌러 일반 브라우저 탭에서 로그인 화면을 엽니다.

![](https://1998608250-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MhByD5wv8eUbA5ZbUY5%2F-MhByH33eTdjfCd2bCjB%2F-MhCUlaaBymgpeOxX718%2Fimage.png?alt=media\&token=eb2113ec-eb77-40a7-bef8-52a1b107aa2f)

새로운 터미널 탭을 열고 다음을 입력합니다.

```
aws eks get-token --cluster-name eksworkshop-eksctl | jq -r '.status.token'
```

이 명령의 출력을 복사 한 다음 _Token_ 옆에 있는 라디오 버튼을 클릭 한 다음 아래 텍스트 필드에 마지막 명령의 출력을 붙여 넣습니다.

![](https://1998608250-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MhByD5wv8eUbA5ZbUY5%2F-MhByH33eTdjfCd2bCjB%2F-MhCUqcdSNf-D6vBAdit%2Fimage.png?alt=media\&token=6086114d-7acc-481c-8a04-b0cfd58290ce)

그리고 _`Sign In`_ 버튼을 누릅니다.

## 3. 정리하기&#x20;

프록시를 중지하고 대시 보드 배포를 삭제합니다.

```
# kill proxy
pkill -f 'kubectl proxy --port=8080'

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

```

{% hint style="success" %}
쿠버네티스 대시보드 배 실습을 완료하였습니다.
{% endhint %}
