이 페이지에서는 기본 네임스페이스에서 실행 중인 워크로드를 식별하고 이러한 워크로드를 전용 네임스페이스로 이동하여 클러스터의 신뢰성과 성능을 향상시키는 방법을 설명합니다.
네임스페이스 정보
Kubernetes에서 네임스페이스를 사용하면 단일 클러스터 내에서 리소스 그룹을 분리할 수 있습니다. 리소스 이름은 네임스페이스 내에서는 고유해야 하지만 네임스페이스 간에는 고유할 필요가 없습니다.
기본 네임스페이스 정보
클러스터를 만들면 Kubernetes는 default라는 네임스페이스를 만들며, 기본적으로 모든 리소스에 이 네임스페이스를 사용합니다. 프로덕션 클러스터에서는 워크로드에 default 네임스페이스를 사용하지 않는 것이 좋습니다.
워크로드를 default 네임스페이스에 배포하면 다음과 같은 위험에 노출됩니다.
- 공유 리소스(CPU, 메모리) 및 네트워크로 인해 시끄러운 이웃 문제 또는 리소스 고갈이 발생하여 워크로드 성능이 저하될 수 있습니다.
- 환경 간 상호작용이나 우연한 이름 충돌로 인한 장애가 발생할 수 있습니다.
- 액세스 권한과 네트워크의 격리가 충분하지 않아 보안 상황이 약화될 수 있습니다.
- 시간이 지나면서
default네임스페이스에 워크로드가 과도하게 쌓이고, 개별 정리가 어려워져 클러스터 리소스 사용이 비효율적으로 변할 수 있습니다.
워크로드를 전용 네임스페이스에 배포해야 하는 이유
워크로드를 전용 네임스페이스에 배포할 때의 이점은 다음과 같습니다.
- 네임스페이스별 메모리 및 CPU 리소스 할당량을 통한 리소스 격리로 신뢰성과 성능 안정성이 향상되며, 시끄러운 이웃 문제 및 리소스 고갈 위험이 줄어듭니다.
- RBAC 승인을 사용해 최소 권한의 원칙을 준수하는 네임스페이스 범위의 액세스 제어와, 애플리케이션 간 네트워크 통신을 분리하는 네임스페이스 범위의 네트워크 정책을 통해 보안이 강화됩니다.
다음과 같은 방식으로 관리 및 운영이 간소화됩니다.
- 동일한 클러스터를 공유하는 서로 다른 워크로드나 팀 간의 이름 충돌을 줄일 수 있습니다.
- 모니터링 가능성 환경을 분리할 수 있습니다.
- 문제 해결과 디버깅 범위를 좁힐 수 있습니다.
- 비용을 구분하고 최적화할 수 있습니다.
- 클러스터의 다른 부분에 영향을 주지 않고 특정 네임스페이스만 대상으로 작업할 수 있습니다.
애플리케이션, 환경, 팀별로 클러스터 리소스와 정책을 구성하고 격리하는 멀티 테넌시가 가능합니다.
특정 클러스터의 default 네임스페이스 검사
특정 클러스터의 default 네임스페이스에서 실행 중인 워크로드를 확인하려면 해당 클러스터의 default 네임스페이스를 검사합니다.
워크로드 페이지로 이동합니다.
클러스터 필드에 클러스터 이름을 입력합니다.
네임스페이스 필드에
default를 입력합니다.
워크로드를 전용 네임스페이스로 마이그레이션
default 네임스페이스에서 실행 중인 워크로드를 확인한 후, 더 높은 신뢰성, 보다 안정적인 성능, 향상된 보안을 위해 전용 네임스페이스로 마이그레이션합니다.