kakao Cloud school 2기 D+29

LEE EUI JOO·2022년 12월 13일
0

Docker

목록 보기
6/8


1. 실습문제 + 답안

본사(seoul)와 지사(busan)는 VyOS로 오버레이 네트워크가 구성되어있다.

본사에는 manager 노드, 지사에는 worker1, worker2 노드가 존재한다.

현재 우리 회사는 두가지 방식의 가상환경을 구성하여 고객에게 제공하고자한다.


1-1. kvm을 통한 가상화 환경 구성.

단, worker1, worker2에 존재하는 모든 VM의 이미지들은 manager 노드의 LVM 디스크(20GB,30GB,50GB)에 존재하여 마이그레이션 가능해야하며 worker1 및 worker2에 존재하는 VM들은 서로 통신이 가능해야한다.
답안) vm을 2개 생성하여 서로 통신 되는 스샷.


1-2. Docker Swarm을 통한 컨테이너 오케스트레이션 환경.

선택2-1) Dockerfile 작성을 통해 centos7을 기반으로 하는 tomcat과 mysql의 이미지를 작성. 단일 yml 파일로 2 tier 구성하여 오케스트레이션 되도록 구성하시오. (단, DB는 manager에 존재)

답안) Dockerfile 및 yml 파일, docker stack ps 스샷

선택2-2) Dockerfile 작성을 통해 centos7을 기반으로 하는 httpd과 tomcat과 mysql의 이미지를 작성. 단일 yml 파일로 3tier를 구성하여 오케스트레이션 되도록 구성하시오.

답안) Dockerfile 및 yml 파일, docker stack ps 스샷
(단, DB는 manager에 존재)

2-2. portainer 및 visualizer를 단일 yml 파일로 작성하여 오케스트레이션 환경을 모니터링 및 관리할 수 있는 환경을 구성하시오.
답안) yml 파일, docker stack ps 스샷

2-3. wordpress 는 워커노드들에, mysql은 manager노드에 존재하도록 단일 yml을 작성하시오.


2. 풀이


  • 3Tier


  • visualizer , portainer
vi mon.yml

****
<mon.yml>
services:
  visual:
    image: dockersamples/visualizer
      ports:
        - "8081:8080"
      volumes:
        -/var/run/docker.sock:/var/run/docker.sock
      deploy:
        mode: global
        placement:
          constraints: [node.role == manager]
    networks:
      - web
      
  portainer:
    image: portainer/portainer
      ports:
        - "9000:9000"
      deploy:
        replicas: 1
        placement:
          constraints: [node.role == manager]
        volumes:
        - /var/run/docker.sock:/var/run/docker.sock
        
      
networks:
  web:
    external: true

  portainer
    
****
profile
무럭무럭 자라볼까

0개의 댓글