개발자에서 아키텍트로 5차 스터디
·
QA성장하기/개발자에서 아키텍트로 스터디
오늘은 `활동 14. 개념도` 활동을 함께 해보는 시간을 가졌다.스터디 전, 개인적으로 가볍게 그려본 개념도는 아래와 같다.`배달의 민족 주문` 이라는 주제를 가지고 개념도를 만들어 봤는데,이 외에 쿠폰 지급과 같은 마케팅이나 배민포인트 충전, 결제하기, 가족계정 등어디까지가 개념도에 포함되는 범주일까? 등에 대해서 생각해보았다.스터디 중에는 개념도는 플로우차트, 마인드맵 등 다양한 종류가 있는데,그중에서 플로우차트를 기반으로 개념도를 그려보기로 했고, `배달의 민족 주문`을 기반으로플로우차트를 가볍게 그려보고 서로 공유하는 시간을 가져봤다. 먼저 배달의 민족 프로세스에는 크게 고객, 가게(업체) 딜리버리, 플랫폼(배달의민족)4개를 도메인으로 두고 플로우차트를 작성하기로 했으며,mural.com 사이트를..
8-1. 컨테이너간 통신(네트워크)
·
쿠버네티스/docker
컨테이너 통신 방법Container Network Modeldocker0virtual ethernet bridge:172.17.0.0/16 값을 가지는 bridge network 가 docker 0.이 대역대 안에서 docker 0는 172.17.0.1 ip를 가지고 gateway 역할을 함.L2 통신기반container 생성 시 veth 인터페이스 생성(sandbox)모든 컨테이너는 외부 통신을 docker0을 통해 진행container running 시 172.17.X.Y로 IP 주소 할당.container 통신 방법docker host system 에서 docker deamon이 실 행되면 docker 0 라고 하는 docker network interface가 생김 docker 0은 virtual..
7-2.Docker Container Storage
·
쿠버네티스/docker
mysql DB data 영구 보존하기docker run -d --name db -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=pass mysql:latesthost path (/dbdata) 와 container path (/var/lib/mysql) 를 연결시켜 볼륨마운트를 통해 연결container path 에 db 의 컨텐츠가 쌓이는데 이를 /dbdata 에 영구적으로 보존.docker  run -v : 실행하기경로 및 실행중인 docker 확인/dbdata 경로 없음, 실행중인 docker .없음.docker run -d --name db -v /dbdata:/var/lib/mysql-e MYSQL_ROOT_PASSWORD=pass mysql:latest..
7-1. Docker Container Storage
·
쿠버네티스/docker
컨테이너 볼륨컨테이너 이미지는 read only (수정 X)컨테이너에 추가되는 데이터들은 별도의 RW 레이어에 저장컨테이너 이미지를 실행하여 하나의 프로세스 상태가 되어도 여전히 read only 상태.단, read/write 레이어가 만들어진 뒤 연결되고, 모든 데이터가 rw 레이어에 쌓임.유니온 파일 시스템 : readonly 레이어에 readwrite 변경사항이 하나인것처럼 보여짐 (=overlay)docker rm 명령어로 컨테이너 삭제 시, ro 와 rw 데이터는 모두 삭제됨 (복원 X)위 케이스를 방지하기ㅏ 위해 컨테이너 볼륨, 데이터 보존 기술이 중요함.데이터 보존 방법컨테이너가 만들어주는 데이터 영구적 보존mysql 컨테이너라는 가정 하에, /var/lib/mysql 안에 수많은 rw 데이..
6-2. 컨테이너 리소스 관리하기.
·
쿠버네티스/docker
컨테이너 부하 테스트 프로그램stress container 생성컨테이너 빌드 : 부하 테스트 프로그램 stress를 설치하고 동작시키는 컨테이너 빌드CPU 부하 테스트 : 2개 cpu core 를 100% 사용하도록 부하 발생stress --cpu 2메모리 부하 테스트 : 프로세스 수 2개와 사용할 메모리만큼 부하 발생 :stress --vm 2 --vm-bytes 메모리 리소스 제한 실습docker run -m 100m --memory-swap 100m stress:latest --vm 1 --vm-bytes 90m -t 5s최대 100mb 사용 가능, swap 메모리 0mb 사용 가능.stress:latest 사용 시, 5초동안 90mb 메모리 부하5초 뒤 작동됨.docker run -m 100m -..
6-1. 컨테이너 관리(하드웨어 리스소 제한 및 컨테이너 모니터링)
·
쿠버네티스/docker
컨테이너 하드웨어 리소스 제한 방법하드웨어 리소스란? 디스크, cpu, 메모리 등을 의미함.컨테이너 하드웨어 리소스 제한 이유기본적으로 컨테이너는 호스트 하드웨어 리소스의 사용 제한을 받지 않음.A컨테이너가 리소스를 많이 사용하게 되면, 다른 컨테이너에서는 리소스를 적게 사용할 수밖에 없음.컨테이너가 필요로하는 만큼의 리소스만 할당.docker command를 통해 제한할 수 있는 리소스CPUMemoryDisk I/Odocker run --helpMemory 리소스 제한옵션의미--memory, -m컨테이너가 사용할 최대 메모리 양을 지정.--memory -swap컨테이너가 사용할 스왑 메모리 영역에 대한 설정.메모리 + 스왑. 생략 시 메모리의 2배가 설정됨--memory -reservation--mem..
5-2. Docker 컨테이너 사용하기
·
쿠버네티스/docker
컨테이너 이미지 관리 명령어 사용하기docker search [옵션] NAME : 이미지 이름`/` 앞의 이미지 이름 : 레파지트리 (특정 커뮤니티 or vendor or 각 유저)DESCRIPTION : 설명STARS : 별점 개수OFFICIAL : 공식 이미지 (가급적 official 로 다운로드받기)AUTOMATED : ddocker file 으로부터 이미지 자동 builddocker pull [옵션] 태그명 생략 시, latest 버전으로 다운로드 됨태그명 지정 시, 해당 버전으로 다운로드 받음 (docker pull nginx:1.14)docker images--no-turunc : IMAGE ID 전체 노출docker inspect [옵션] docker rmi [옵션] 컨테이너 실행 및 운영..
5-1. 컨테이너 사용하기
·
쿠버네티스/docker
컨테이너 이미지 사용 방법이미지 검색 : docker search [옵션] ex) docker search nginx이미지 다운로드 : docker pull [옵션] ex) docker pull nginx:1.14다운받은 이미지 목록 출력 : docker images다운받은 이미지 상세보기 : docker inspect [옵션] ex) docker inspect nginx이미지 삭제 : docker rmi [옵션] 컨테이너 실행 및 종료 명령어컨테이너 생성 : docker create [옵션]  ex) docker create --name webserver nginx:1.14다운로드 받은 컨테이너 이미지를 컨테이너 애플리케이션으로 실행예시에서 --name webserver 을 통해 nginx:1.14 ..