클러스터 이용 가이드
이 가이드에서는 주로 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...
)을 해당 초기화면에 입력하고, 로그인 버튼을 클릭합니다.
이제 대시보드 화면을 통해서 쉽게 클러스터를 확인하거나 제어할 수 있습니다.