Link Search Menu Expand Document

쿠버네티스 클러스터 구성 및 관리

클라우드의 권한 관리(IAM)

쿠버네티스 클러스터 구성 및 관리 - 01 IAM

사용 목적

  1. 허가받은 사용자만 접속할 수 있도록 통제
  2. 사용자마다의 적절한 권한 관리
  3. 일관성을 가지는 권한 관리

역할 기반 접근 제어(RBAC)

현재 적용된 인가(Authorization) 설정

쿠버네티스 클러스터 구성 및 관리 - 02 RBAC

역할 기반 접근 제어의 전체 구조

쿠버네티스 클러스터 구성 및 관리 - 03 RBAC

  • RoleSA(Service Account)RoleBinding으로 묶음

컨텍스트(쿠버네티스 클러스터)로 구분된 구조

쿠버네티스 클러스터 구성 및 관리 - 04 RBAC

  • 컨텍스트 단위로 묶기 위하여 네임스페이스 적용

ns-sa-dev-both.yaml

쿠버네티스 클러스터 구성 및 관리 - 05 RBAC

  • Namespace:
  • ServiceAccount: 누가 할 것인가? 의 누구

role-get-dev1.yaml, role-get-dev2.yaml

쿠버네티스 클러스터 구성 및 관리 - 06 RBAC

  • rules: 무엇을 할 것인가? 의 무엇

rolebidning-dev1.yaml, rolebidning-dev2.yaml

쿠버네티스 클러스터 구성 및 관리 - 07 RBAC

  • subjectsroleRef를 묶어줌
  • apiGroup""으로 지정하면 SA가 현재 속한 그룹으로 자동 지정됨

sa-pod-admin, clusterrole, clusterrolebinding.yaml

쿠버네티스 클러스터 구성 및 관리 - 08 RBAC

  • 관리자에게는 모든 권한 부여

시스템 자원 사용 관리 1부(리소스 쿼터/ ResourceQuota)

리소스 쿼터 (ResourceQuota)

쿠버네티스 클러스터 구성 및 관리 - 09 시스템 자원 사용량 관리 1부

  • 파드, 디플로이먼트, 서비스와 같은 리소스의 개수를 네임스페이스 단위로 제한
  • spec: Provisioner 이름을 따라가는 것이 권장사항

각 리소스 별 쿼터

쿠버네티스 클러스터 구성 및 관리 - 10 시스템 자원 사용량 관리 1부

시스템 자원 사용 관리 2부(리밋 레인지/ LimitRange)

쿠버네티스 클러스터 구성 및 관리 - 11 시스템 자원 사용량 관리 2부

  • 파드나 PVC 같은 리소스가 일정 수준 이상/이하의 자원을 가져가지 못하도록 네임스페이스 단위에서 제한

네트워크 정책(Network Policy)

쿠버네티스 클러스터 구성 및 관리 - 12 네트워크 정책

  • 인그레스 트래픽: 방화벽을 통과하여 서버로 들어오는 트래픽
  • 이그레스 트래픽: 서버에서 외부로 나가는 트래픽
  • 쿠버네티스는 이러한 트래픽을 파드 기준으로 관리

1-2-NetworkPolicy-deny-all.yaml

쿠버네티스 클러스터 구성 및 관리 - 13 네트워크 정책

  • networkpolicy-deny-all: 모든 트래픽을 거부
  • 차후에 필요한 트래픽만 허용

2-2-NetworkPolicy-podSelector.yaml

쿠버네티스 클러스터 구성 및 관리 - 14 네트워크 정책

  • internal: chk-info 레이블을 가진 파드끼리만 내부 통신

3-[2-3]-NetworkPolicy-[ipBlock | ipBlock-except].yaml

쿠버네티스 클러스터 구성 및 관리 - 15 네트워크 정책

  • ipBlock: 특정 대역의 IP를 허용

4-2-NetworkPolicy-namespaceSelector-dev2

쿠버네티스 클러스터 구성 및 관리 - 16 네트워크 정책

  • namespaceSelector: 특정 namespace의 트래픽만 허용