[kubernetes] Lens 로 ServiceAccount 만들고 Role 적용하기

leehs·2022년 4월 18일
0

kubernetes

목록 보기
1/7

목적

  • kubernetes 접속 계정을 여러 개로 나눠서 권한 제한이 가능하도록 함
  • 빠르고 편리하게 계정을 생성하고 권한을 부여함

방법

Lens UI - 클러스터 접속 정보 추가

  • kubeconfig 추가
  • text 로 붙여 넣기, kubeconfig 확인 방법은 아래를 참고

kubeconfig 확인 방법

  • any: kubectl context 가 있는 모든 서버
kubectl config view
  • KUBECONFIG: KUBECONFIG 를 지정한 모든 서버
[[ ! -z "$KUBECONFIG" ]] && echo "$KUBECONFIG" || echo "$HOME/.kube/config"
  • k3s: control plane (k3s server) 에서 확인
cat /etc/rancher/k3s/k3s.yaml
  • kubespray:
# admin config
cat /etc/kubernetes/admin.conf
# user config
cat $HOME/.kube/config

ServiceAccount 추가

  • ServiceAccount 가 생성될 namespace 선택

  • 생성된 ServiceAccount 확인

Role, ClusterRole

  • 자동 생성된 Role 과 ClusterRole 존재
    • 지금 예제에서는 View 권한만 있는 ClusterRole 을 사용 (aggregate-to-view)

ClusterRoleBinding 생성

  • ClusterRole 을 사용하면 Kubernetes cluster 의 자원을 대상으로 권한 설정이 이루어짐

  • Role/ClusterRole 을 적용하기 위해선 Binding 규칙이 필요

    • Role 적용은 Role Binding
    • Cluster Role 적용은 Cluster Role Binding
  • Cluster Role Bindings 에서 추가

  • 생성된 Cluster Role Bindings 확인

    • Cluster Role Binding 은 어러 개의 Service Account 를 지정할 수 있음

ServiceAccount 로 로그인

  • Lens 기능으로 생성한 ServiceAccount 에서 kubeconfig 확인 가능

  • Lens 에 새로운 cluster kubeconfig 텍스트로 추가

  • ClusterRole 이므로 모든 namespace 에 대한 View 가능

  • View 권한만 존재하기 때문에 편집 등의 기능을 사용하면 권한 없음 팝업

0개의 댓글