open:네임스페이스

네임스페이스

  • 네임스페이스는 쿠버네티스 자원으로서 관리된다.
  • 네임스페이스는 컨테이너, 파드, 서비스, 레플리카세트 등의 자원에 대한 영역을 제공한다. 네임스페이스 내에서 자원 명은 고유해야 하지만, 다른 네임스페이스에서는 동일한 자원 명을 가질 수 있다.
  • 기본적으로 네임스프에스는 자원에 대한 영역을 제공하지만, 이들 자원을 격리할 수는 없으며 하나의 자원이 다른 자원에 접근하는 것도 막을 수는 없다. 예를 들어 파드 IP 주소를 아는 경우라면, 개발 네임스페이스의 파드는 운영 네임스페이스의 파드에 접근할 수 있다. 그러나 원한다면 네임스페이스별로 진정한 멀티테넌시를 구현할 수 있도록 네트워크 격리를 제공해주는 쿠버네티스 플러그인을 사용할 수 있다.
  • 네임스페이스 자체나 노드, PersistentVolume 같은 자원은 네임스페이스에 속하지 않으며 클러스터 전체에서 유일한 이름을 가져야 한다.
  • 각 쿠버네티스 서비스는 네임스페이스에 속하며, <service-name>.<namespace-name>.svc.cluster.local 형식으로 네임스페이스가 포함된 DNS 주소를 갖는다. 네임스페이스 이름은 해당 네임스페이스에 속한 모든 서비스의 URI에 존재하므로, 네임스페이스 이름을 잘 정하는 것은 매우 중요하다.
  • 리소스쿼터 ResourceQuota 는 네임스페이스당 자원 소모량을 제한할 수 있는 제약조건을 제공한다. 리소스쿼터를 사용하면 클러스터 관리자는 타입별 객체의 수량을 제어할 수 있다. 예를 들어 개발자 네임스페이스에는 컨피그맵ConfigMap 5개, 시크릿Secret 5개, 서비스 5개, 레플리카세트 5개, PersistentVolumeClaim 5개, 파드 10개만 생성되게 제한할 수 있다.
  • 리소스쿼터는 네임스페이스별로 사용자가 요청하는 총 컴퓨팅 자원량을 제한할 수도 있다. 예를 들어 32GB RAM과 16코어 용량을 갖춘 클러스터에서, 운영 네임스페이스에는 전제 자원의 절반에 해당하는 16GB RAM과 8코어 용량의 자원을, 스테이징 환경에는 8GB RAM과 4코어 용량을, 개발 용도로는 4GB RAM과 2코어 용량을, 테스트 네임스페이스에는 개발과 동일한 수준의 자원을 할당할 수 있다. 네임스페이스와 리소스쿼터를 이용해 객체 그룹에 자원 제약을 거는 기능은 매우 중요하다.

  • open/네임스페이스.txt
  • 마지막으로 수정됨: 2021/09/05 11:32
  • 저자 127.0.0.1