본문 바로가기

kubernetes

쿠버네티스 아키텍쳐

 

https://www.redhat.com/ko/topics/containers/kubernetes-architecture

설명 참고

 

네임스페이스

클러스터와 노드가 물리적인 구성 단위라면 컨텍스트와 네임스페이스는 논리적인 구성 단위입니다.

네임스페이스는 쿠버네티스 오브젝트들을 논리적으로 묶은 구성단위입니다.

쿠버네티스도 인그레스, 서비스, 파드같은 오브젝트들을 유사한 목적별로 그룹핑하여 네임스페이스라는 단위로 관리 한다.

예를 들어 워커 노드 2대에 주문서비스를 위한 파드 2개와 결제서비스를 위한 파드 2개를 배포한다고 생각해보자

주문과 결제는 성격이 다른 업무서비스입니다. 파드끼리는 컨테이너화 되어 있기 때문에 상호 격리는 되어 있지만 성격이 다른 업무서비스가 섞여 있는것은 관리하기 힘들기에 아래와 같이 업무 성격별로 네임스페이스를 나누고 네임스페이스별로 파드를 나누어 관리한다.

또한 네임스페이스별로 사용할 수 있는 CPU와 메모리 제한을 줄 수도 있다.

 

컨텍스트

컨텍스트는 연결 대상이 되는 클러스터, 네임스페이스, 유저를 묶은 구성 단위입니다.

컨텍스트는 단어 뜻과 같이 상황별로 연결 대상 그룹을 나눈것이 컨텍스트 입니다.

예를 들어 클러스터가 한국과 미국에 있고 업무별로 관리하거나 운영하는 역할이 나뉘어져 있다고 생각해 봅시다.

이 경우 컨텍스트를 아래와 같이 4개로 나누어 관리할 수 있습니다.

사용하는 컨텍스트에 따라서 대상 클러스터, 네임스페이스, 유저를 다르게 관리하는 것입니다. 유저에게는 해당 클러스터와 네임스페이스에 대한 적절한 권한 부여를 하여 보안을 보장 할 수 있습니다.

 

컨텍스트 정의는 쿠버네티스 컨피그 파일에서 합니다.

설치 시 컨트롤 플레인으로부터 배천노드의 ‘~/.kube’디렉토리에 복사한 ‘config’파일이 쿠버네티스 컨피그 파일입니다.

아래 명령으로 쿠버네티스 컨피그를 확인할 수 있습니다.

'kubernetes' 카테고리의 다른 글

쿠버네티스 노드생성  (0) 2023.10.10
쿠버네티스 기본 환경 설정  (0) 2023.10.10
쿠버네티스 nodeport clusterip  (0) 2023.10.10
쿠버네티스 네트워크  (0) 2023.10.10
쿠버네티스 개념  (0) 2023.10.10