워크로드 Namespace 구성 점검

애플리케이션 네임스페이스를 운영 목적에 맞게 구분하고 실제 권한과 네트워크 정책을 함께 적용하세요.

설명

default는 일반 리소스를 배치할 수 있는 기본 네임스페이스이며, 그 사용 자체가 잘못된 것은 아닙니다. 다만 여러 애플리케이션을 함께 운영하면 권한과 운영 책임을 구분하기 어려워질 수 있습니다. kube-system과 kube-public 등 시스템 목적의 네임스페이스에 일반 업무 자원을 섞지 않도록 주의하세요.

네임스페이스는 권한과 정책의 적용 범위를 구분하는 단위입니다. 이름만 분리한다고 네트워크나 권한이 자동으로 격리되는 것은 아니므로 RBAC와 NetworkPolicy 등을 함께 구성해야 합니다.

잠재적 영향

  • 운영 리소스와 애플리케이션 리소스가 섞여 관리가 어려워질 수 있습니다.
  • 권한과 정책 적용 범위가 불명확해질 수 있습니다.
  • 사고 발생 시 영향 범위 파악과 격리가 어려워질 수 있습니다.

해결 방법

  • 운영 요구에 맞는 전용 애플리케이션 네임스페이스를 사용하세요.
  • 시스템 네임스페이스의 용도를 유지하고, RBAC·NetworkPolicy·자원 할당량을 실제 요구에 맞게 적용하세요.
  • 네임스페이스 생성 기준과 담당자를 정하고 실제 접근 권한과 통신 범위를 시험하세요.

예시

예시 이미지는 실제 애플리케이션 이미지로 바꾸고 cosmic-pod 네임스페이스를 먼저 준비하세요.

변경 전

yaml
apiVersion: v1
kind: Pod
metadata:
  name: frontend
  namespace: default
spec:
  containers:
    - name: app
      image: images.my-company.example/app:v4

변경 후

yaml
apiVersion: v1
kind: Pod
metadata:
  name: frontend
  namespace: cosmic-pod
spec:
  containers:
    - name: app
      image: images.my-company.example/app:v4

설명:

  • 변경 전: default를 사용합니다. 합법적인 구성이지만 업무별 권한과 운영 범위를 분리할 필요가 있는지 확인하세요.
  • 변경 후: 유효한 소문자 이름의 전용 네임스페이스를 사용합니다. 필요한 RBAC와 네트워크 정책은 별도로 적용해야 합니다.

참조