Kubernetes 대시보드는 클러스터 내 리소스의 관리 및 모니터링을 위한 강력한 도구입니다. 하지만 이를 안전하게 사용하려면 적절한 인증 메커니즘을 설정하는 것이 중요합니다. 이번 글에서는 Kubernetes 대시보드에 접근할 때 사용할 수 있는 두 가지 주요 인증 방법, 즉 토큰 인증과 kubeconfig 파일 인증에 대해 알아보겠습니다.
사용자 생성: Kubernetes 대시보드 문서 페이지에 샘플 사용자를 생성하는 방법이 나와 있습니다. 주의할 점은, 이 샘플 설정이 사용자에게 클러스터 관리자 수준의 액세스를 제공하므로, 실제 환경에서는 신중하게 필요한 수준의 권한만 부여해야 합니다.
역할 및 역할 바인딩 생성: 사용자가 특정 네임스페이스 또는 네임스페이스 내의 특정 리소스에만 접근할 수 있도록 제한할 수 있습니다.
토큰 확인: 사용자가 생성되고 필요한 역할 바인딩이 완료되면, 생성된 시크릿을 검사하여 토큰을 확인하고 이 토큰을 대시보드 인터페이스에 로그인하는데 사용합니다.
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
$ kubectl -n kubernetes-dashboard create token admin-user
eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLXY1N253Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiIwMzAzMjQzYy00MDQwLTRhNTgtOGE0Ny04NDllZTliYTc5YzEiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Z2JrQlitASVwWbc-s6deLRFVk5DWD3P_vjUFXsqVSY10pbjFLG4njoZwh8p3tLxnX_VBsr7_6bwxhWSYChp9hwxznemD5x5HLtjb16kI9Z7yFWLtohzkTwuFbqmQaMoget_nYcQBUC5fDmBHRfFvNKePh_vSSb2h_aYXa8GV5AcfPQpY7r461itme1EXHQJqv-SN-zUnguDguCTjD80pFZ_CmnSE1z9QdMHPB8hoB4V68gtswR1VLa6mSYdgPwCHauuOobojALSaMc3RH7MmFUumAgguhqAkX3Omqd3rJbYOMRuMjhANqd08piDC3aIabINX6gP5-Tuuw2svnV6NYQ
대시보드 로그인 페이지에서 Kubeconfig
옵션을 선택하고, 준비한 kubeconfig 파일을 업로드합니다. 이로써 대시보드에 접근할 수 있습니다.
Kubernetes 대시보드에 안전하게 접근하기 위해서는 적절한 인증 메커니즘을 설정하는 것이 중요합니다. 이번 글에서는 토큰을 사용한 인증 방법과 kubeconfig 파일을 사용한 인증 방법을 살펴보았습니다. 각 방법은 사용자와 사용 환경에 따라 적절하게 선택할 수 있습니다.