쿠버네티스와 Compose의 차이

haram·2022년 9월 27일
0

두가지 모두 container 을 관리하는 기능이다 둘의 차이점은 무엇이있을까?

결론부터 말하면 Compose는 단순히 여러 개의 컨테이너를 한번에 관리하는 것이고, 쿠버네티스는 클러스터 환경에서 컨테이너를 관리하기 위한 도구이다.

Compose

하나의 업무를 구성하는 여러 개의 컨테이너를 한번에 관리하는 기술이다

  • 도커에서 자체적으로 제공한다.
  • yaml파일을 통해 업무를 구성할 수 있다(서비스, 네트워크, volume을 설정하여 구성)

docker-compose.yaml 작성과 활용

  • yaml 파일은 크게 버전, 서비스(컨테이너 이미지 목록), 볼륨, 네트워크 4가지 항목으로 구성된다.

  • 도커 컴포즈는 yaml 파일은 탭(tab)을 인식하지 못하므로 2개의 공백을 사용하여 하위 항목을 작성한다.

  1. compose파일 작성
version: '2.10'
services: 
  tomcat1: 
    image: tomcat1  //사용할 컨테이너 이미지 이름
    container_name: tomcat3 ////컨테이너 이름을 정해야 name오류가 안뜸
    ports:
      - 8080:8080  //컨테이너 포워딩 설정

  mysql2:
    image: mysql2
    container_name: mysql2
    ports:
      - 3307:3306
    environment:  //환경변수 설정
      MYSQL_PASSWORD: root

윈도우 cmd의 현재디렉터리를 yml파일위치와 동일하게 하는 것을 권장
기본적으로 현재 디렉토리(윈도우cmd 의 현재위치) 또는 상위 디렉토리에서 docker-compose.yml 파일을 찾아 컨테이너를 생성하는데, -f 옵션을 이용해서 위치와 이름을 지정할 수도 있다.

  1. compose 실행
docker-compose -f [파일경로] up -d

예시(cmd의 현재위치와 yml파일 위치가 같으면 -f옵션 생략가능)
docker-compose -f "C:\Users\docker-compose.yml" up
  • compose 명령어 모음

도커 컴포즈 컨테이너들 실행 $ docker-compose up -d

도커 컴포즈 컨테이너들 중지 $ docker-compose down

도커 컴포즈 컨테이너들 다시 시작하기 $ docker-compose restart

도커 컴포즈 컨테이너들 로그를 계속해서 읽기$ docker-compose logs -f

도커 컴포즈 컨테이너들 상태 확인 $ docker-compose ps
예시) docker-compose -f "C:\Users\docker-compose.yml" ps

도커 컴포즈 설정 확인 $ docker-compose config

Compose로 생성된 컨테이너에 접근과 사용은 이전과 동일하게 사용

쿠버네티스

  • 쿠버네티스는 크게 마스터(Master)와 노드(Node) 두 개의 컴포넌트로 분리된다. 마스터는 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할을 맏고있고, 노드는 pod나 컨테이너 처럼 쿠버네티스 위에서 동작하는 워크로드를 호스팅하는 역할을 한다.

  • API서버를 이용하여 REST API를 통해 쿠버네티스의 기능을 제공하고 명령을 처리한다.

  • 쿠버네티스 아키텍처

node
는 하나의 가상머신 또는 물리머신이 이다.

Pod
node내에 존재하고 container여러 개로 구성되어있다.

0개의 댓글