RW 레이어(Read-Write Layer)는 컨테이너를 실행하면서 발생하는 파일 시스템 변경 사항을 저장하는 곳입니다. # RW 레이어는 컨테이너 생성 시 생성되며 컨테이너 내에서 발생하는 모든 쓰기 작업은 해당 레이어에 저장됩니다. # 이렇게 함으로써, 컨테이너 내부의 파일 시스템을 변경하더라도 원래의 이미지는 그대로 유지됩니다. # 컨테이너가 삭제되면 RW 레이어와 함께 삭제됩니다. # RW 레이어는 컨테이너의 변경 사항을 추적하여 필요한 경우 이를 확인하고 원래 상태로 되돌리는 데 사용할 수 있습니다.

오버레이 파일 시스템에 대한 상세 설명:

오버레이 파일 시스템은 컨테이너 이미지의 계층 구조를 유지하기 위해 사용되는 합치기 유니온 파일 시스템입니다. # 오버레이 파일 시스템은 상위 레이어와 하위 레이어를 합친 가상 파일 시스템을 만들며, 원래의 레이어는 변경되지 않습니다. # 컨테이너 시작 시, 오버레이 파일 시스템은 하위 레이어로부터 파일을 조회하고, 해당 파일이 상위 레이어에 존재할 경우 상위 레이어에서 파일을 가져옵니다.

오버레이 파일 시스템의 주요 특징:

  1. 저장 공간 절약: # 오버레이 파일 시스템은 레이어간 중복되는 파일을 복사하지 않고 공유함으로써 저장 공간을 절약합니다. 이미지가 사용하는 각 계층은 실제-물리적으로 별도의 공간에 위치해 있지만 오버레이 시스템이 합쳐줌으로써 하나의 가상 파일 시스템처럼 보입니다.
  2. 성능 향상: # 레이어간 중복된 파일을 프로비저닝할 필요가 없기 때문에 성능이 향상됩니다. I/O 작업에서 중복되는 데이터에 대한 읽기 쓰기 작업이 발생하더라도, 오버레이 계층 덕분에 원래 계층을 수정하지 않아도 됩니다.
  3. 변경의 추적: # 각 계층에서 실제 변경 사항만 저장되므로 변경 사항의 추적이 용이합니다. 개발-빌드 단계와 실행 단계를 구분하는 컨테이너 이미지를 생성 및 배포할 때, 오버레이 파일 시스템이 이를 효과적으로 관리합니다.
  4. 컨테이너 빠른 시작: # 레이어 간의 나눔으로 인해 컨테이너 시작 시간이 단축됩니다. 각 계층의 레이어로 이미지를 빠르게 다운받아 배포할 수 있으며 레이어가 중복되는 경우 중복 파일을 다시 다운받을 필요가 없습니다.

RW 레이어와 오버레이 파일 시스템은 컨테이너 환경에서 효율적인 스토리지 사용, 높은 성능 및 변경 사항 추적을 가능하게 하며, 컨테이너 기술의 핵심 요소 중 하나입니다.

도커 오버레이 네트워크:

도커 오버레이 네트워크는 도커 엔진 클러스터 내의 컨테이너 간에 통신을 가능하게 하는 분산 네트워크 솔루션입니다. 이러한 네트워크를 사용하면 물리적으로 서로 다른 노드에 있는 컨테이너 간에 신뢰성 있고 격리된 네트워크 통신이 가능합니다.

오버레이 네트워크 설정 단계:

  1. 도커 스웜 클러스터 생성 : 먼저 클러스터를 구성하기 위한 도커 노드 그룹(매니저 노드와 워커 노드)을 생성합니다.

  2. 스웜 매니저 초기화: docker swarm init 명령어를 사용하여 스웜 클러스터의 매니저 노드를 초기화합니다.

  3. 워커 노드 참여: docker swarm join 명령어를 사용하여 워커 노드를 스웜 클러스터에 등록합니다.

  4. 오버레이 네트워크 생성: docker network create -d overlay 명령어를 사용하여 오버레이 네트워크를 생성합니다. 여기서 -d overlay는 드라이버 타입으로 옵션을 주어 오버레이 타입의 네트워크임을 지정합니다.

  5. 서비스 생성 및 네트워크 연결: docker service create 명령어로 서비스를 생성하고 오버레이 네트워크에 연결합니다. 생성된 서비스는 네트워크에 있는 모든 노드에서 올바르게 통신할 수 있어야 합니다.

도커 스웜 통신:

도커 스웜은 컨테이너 오케스트레이션 도구로, 여러 개의 도커 호스트에서 컨테이너 클러스터를 관리하고 조정합니다. 스웜 모드에서 도커 엔진들은 노드로 사용되며 노드가 두 가지 역할을 수행합니다: 매니저 노드와 워커 노드.

매니저 노드: 클러스터 전체를 관리하고, 클러스터 멤버에 관한 정보를 유지하며, 오케스트레이션 명령에 응답합니다. 매니저 노드는 RAFT 분산 데이터 저장소를 사용하여 높은 서비스 가용성을 보장하게 됩니다.

워커 노드: 매니저 노드로부터 조정 및 배포 지시를 받아 컨테이너를 실행 및 관리하는 역할을 합니다.

스웜 클러스터를 통한 통신은 다음과 같은 컴포넌트를 사용하여 이루어집니다:

  1. Control Plane: 스웜 클러스터의 노드 간 제어 정보를 교환하는 데 사용되는 통신 경로입니다. 이를 통해 업데이트와 서비스 명령이 교환됩니다. 보안을 위해 TLS 암호화가 적용되며, 클러스터 노드 간 통신에 CA 인증서를 사용해 서로의 신원을 확인합니다.

  2. Data Plane: 실제 컨테이너 간 통신에 사용되며, 이 데이터 평면도 오버레이 네트워크를 사용합니다. 컨테이너들은 격리된 네트워크 환경에서 소통하기 위해 VXLAN 기술을 사용하여 트래픽을 캡슐화합니다.

도커 오버레이 네트워크와 스웜 통신은 분산 환경에서의 컨테이너 배포 및 관리를 단순화하고, 간결하게 함으로써 개발자 및 관리자가 시스템을 보다 효과적으로 관리할 수 있게합니다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN