클러스터 이용 가이드

이 가이드에서는 주로 kubectl, helm 명령을 사용합니다. 이 명령을 이용하려면 클러스터를 제어하기 위해 Kubernetes Service 콘솔 화면에서 설정 파일을 다운로드 후 다음 방법 중 하나를 선택하여 사용해야 합니다.

  • $HOME/.kube/config에 설정 파일 추가
  • kubectl, helm 명령 사용 시 --kubeconfig "설정파일" 옵션 추가

아웃바운드 인터넷 트래픽을 활성화하기 위해서는 NAT Gateway를 반드시 생성해야 합니다.
Neurocloud의 Kubernetes Service에서는 고객망의 인터넷 접근이 가능한 상태에서 On-Premise Gateway를 생성해야 합니다.

kubectl 설치하기

kubectl는 CLI를 통해 클러스터를 제어할 수 있는 기능을 제공합니다.

운영체제별 kubectl 설치하기

kubeconfig 환경변수 설정하기

예시: macOS/Linux $KUBE_CONFIG 환경변수 지정하기

$ export KUBE_CONFIG="${HOME}/Downloads/kubeconfig-1865.yaml"
$ echo $KUBE_CONFIG
/Users/azamara/Downloads/kubeconfig-1865.yaml

$ kubectl --kubeconfig $KUBE_CONFIG get nodes
NAME                 STATUS   ROLES   AGE   VERSION
nks-pool-1865-w2zy   Ready    node    4d    v1.16.6
nks-pool-1865-w2zz   Ready    node    4d    v1.16.6

예시: Windows Powershell $KUBE_CONFIG 환경변수 지정하기

> $KUBE_CONFIG=$HOME+"\Downloads\kubeconfig-1865.yaml"
> $KUBE_CONFIG
C:\Users\NAVER\Downloads\kubeconfig-1865.yaml
> kubectl --kubeconfig $KUBE_CONFIG get nodes
NAME                 STATUS   ROLES   AGE    VERSION
nks-pool-1865-w2zy   Ready    node    4d5h   v1.16.6
nks-pool-1865-w2zz   Ready    node    4d5h   v1.16.6

예시: Windows Command Prompt $KUBE_CONFIG 환경변수 지정하기

> SET KUBE_CONFIG=%USERPROFILE%\Downloads\kubeconfig-1865.yaml
> kubectl --kubeconfig %KUBE_CONFIG% get nodes
NAME                 STATUS   ROLES   AGE    VERSION
nks-pool-1865-w2zy   Ready    node    4d5h   v1.16.6
nks-pool-1865-w2zz   Ready    node    4d5h   v1.16.6

Kubernetes 대시보드 접속하기

Kubernetes 대시보드(Dashboard)는 CLI 대신 GUI를 통해 클러스터 확인 및 제어할 수 있는 기능을 제공합니다.

Kubernetes 대시보드 설치하기

아래의 명령을 수행하면 Kubernetes Dashboard에 필요한 리소스들이 생성됩니다.

$ kubectl --kubeconfig $KUBE_CONFIG apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml

Kubernetes 대시보드 접속을 위한 토큰 얻기

관리자 토큰 만들기

다음 명령으로 대시보드에서 사용할 관리자용 토큰을 생성합니다.

$ cat <<EOF | kubectl --kubeconfig $KUBE_CONFIG apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
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: kubernetes-dashboard
EOF

토큰값만 얻기

다음과 같이 토큰값만 확인할 수 있는 방법은 awk 명령어가 지원되는 경우에만 사용할 수 있습니다.

$ kubectl --kubeconfig $KUBE_CONFIG -n kubernetes-dashboard describe secret \
$(kubectl --kubeconfig $KUBE_CONFIG -n kubernetes-dashboard get secret | awk '/^admin-user/{print $1}') | awk '$1=="token:"{print $2}'

eyJhbGciOiJSUzI1NiIsImtpZ...

Kubernetes 대시보드 Proxy 구동하기

$ kubectl --kubeconfig $KUBE_CONFIG proxy

위 명령을 실행 후 브라우저에서 다음 링크로 접속하면 대시보드 초기 화면을 확인할 수 있습니다.


이전 단계에서 얻은 토큰값(eyJhbGciOiJSUzI1NiIsImtpZ...)을 해당 초기화면에 입력하고, 로그인 버튼을 클릭합니다.

이제 대시보드 화면을 통해서 쉽게 클러스터를 확인하거나 제어할 수 있습니다.

""에 대한 건이 검색되었습니다.

    ""에 대한 검색 결과가 없습니다.

    처리중...