멀티 테넌트 Consul 데이터센터 관리하기
멀티 테넌트 Consul 데이터센터 관리하기
이 문서에서는 Consul의 멀티 테넌시(multi-tenancy) 기능에 대한 개요를 설명해 드려요. 단일 Consul 데이터센터는 리소스, 서비스 트래픽, 사용자 접근을 admin 파티션, 네임스페이스, 네트워크 세그먼트, sameness groups의 조합으로 제한하여 여러 팀과 조직을 지원할 수 있습니다.
출처: 문서
본문
Consul Community Edition은 default 파티션과 default 네임스페이스를 지원하지만 멀티 테넌시는 지원하지 않아요. 자세한 내용은 Consul Enterprise 문서를 참고하세요.
소개
대규모 엔터프라이즈 조직에서 각 팀이나 프로젝트에 대해 별도의 Consul 데이터센터를 구성, 배포, 보안, 관리하는 것은 비현실적이고 리소스 집약적인 솔루션이 될 수 있어요. Consul Enterprise 사용자는 Consul 서버 클러스터의 멀티 테넌트 구성을 구현하여 팀들이 Consul 서버 집합을 공유할 수 있습니다. 이 방식은 네트워크 보안을 유지하고 리소스 이름 충돌을 방지하면서 배포 비용을 낮출 수 있어요.
Consul의 멀티 테넌시 지원의 두 가지 주요 요소는 admin 파티션과 네임스페이스입니다. Consul 네임스페이스는 Kubernetes 네임스페이스와 구별되지만, 기존 Kubernetes 네임스페이스를 미러링하도록 Consul을 구성할 수 있어요. Consul은 방화벽에 따라 세그먼트화된 네트워크에 대한 멀티 테넌시 구성도 지원하며, 운영자는 sameness groups를 사용하여 admin 파티션과 네임스페이스의 집합을 관리할 수 있습니다.
Admin 파티션
Admin 파티션은 Consul 배포에 대한 하나 이상의 관리 경계를 정의해요. 이는 Consul의 아이덴티티 계층에서 네임스페이스보다 한 단계 위에 존재합니다. 여러 admin 파티션을 관리하는 서버 클러스터에는 Consul Enterprise 라이선스가 필요해요.
Admin 파티션은 서로 다른 리전이나 클라우드 환경에 배포된 Consul 데이터센터 간의 클러스터 피어링 연결과 sameness groups를 가능하게 합니다. 자세한 내용은 admin partition 문서를 참고하세요.
네임스페이스
네임스페이스는 서로 다른 사용자나 팀의 데이터를 격리해요. 이는 Consul의 아이덴티티 계층에서 admin 파티션보다 한 단계 아래에 존재합니다. 여러 네임스페이스에 서비스를 등록하는 서버 클러스터에는 Consul Enterprise 라이선스가 필요해요.
네임스페이스는 서로 다른 팀 간의 리소스 이름 고유성 제한을 제거하여 운영상의 어려움을 줄여줘요. Consul의 ACL(Access Control List, 접근 제어 목록) 시스템으로 네임스페이스 리소스를 보호할 수 있습니다. 자세한 내용은 namespace 문서를 참고하세요.
네트워크 세그먼트
네트워크 세그먼트는 데이터센터의 gossip 풀에 있는 모든 에이전트 간의 전체 연결을 방지하는 네트워크 규칙이나 방화벽을 가진 조직의 Consul 배포를 가능하게 해요. Consul 네트워크 세그먼트로 통신 경계를 설정하면 Consul의 연결 요구 사항이 개별 세그먼트로 제한됩니다.
네트워크 세그먼트는 에이전트 구성 파일에 정의되며 Consul Enterprise 라이선스가 필요해요. 자세한 내용은 network segments 문서를 참고하세요.
Sameness groups
Sameness groups는 네임스페이스와 구성 항목을 포함해 동일한 구성을 가진 admin 파티션들의 사용자 정의 집합이에요. sameness group을 만들 때 이 파티션들 간에 클러스터 피어링 연결을 수립하고 서비스를 내보내면, 운영자는 리전, 런타임, 클라우드 환경에 걸쳐 서비스 그룹을 관리하고 자동화된 서비스 장애 조치 전략을 구현할 수 있습니다.
Sameness groups에는 Consul Enterprise 라이선스가 필요해요. 자세한 내용은 sameness groups 생성 문서를 참고하세요.
지침
Consul 멀티 테넌시와 그 사용법을 배우는 데 도움이 되는 리소스가 있어요.
튜토리얼:
- Admin Partitions를 사용한 멀티 테넌시
- Consul Enterprise Admin Partitions를 사용한 멀티 클러스터 애플리케이션
- 보안 네임스페이스 설정
- 네임스페이스 내 서비스 등록 및 디스커버리
런타임별 사용 문서:
- Kubernetes에서 파티션 구성
- Consul과 Kubernetes 네임스페이스 사용
- 가상 머신(VM)에서 네트워크 세그먼트 생성
참고 문서:
- Namespace 참조
- Sameness group 구성 항목
제약, 한계 및 문제 해결
Consul 배포에서 멀티 테넌시를 구현할 때 오류가 발생한다면 다음의 기술적 제약 목록을 참고하세요.
- WAN 페더레이션 Consul 배포는
defaultadmin 파티션만 지원해요. - Sameness groups는 그룹의 멤버인 각 파티션에 구성되어야 합니다.