본문 바로가기

전체 글324

Docker compose - Tutorials - 출처: https://docs.docker.com/compose/gettingstarted/ Try Docker Compose Check out this tutorial on how to use Docker Compose from defining application dependencies to experimenting with commands. docs.docker.com - 목적 Docker Compose의 핵심 개념을 알아보기 위해 간단한 Python web app을 구성해본다. Docker Engine과 Docker Compose가 standalone binaries로 설치되어 있거나 Docker Desktop이 설치되어 있어야 한다. - Step 1: app 의존성 정의 1. project를.. 2023. 10. 12.
Docker compose - Overview and Feature - 출처: https://docs.docker.com/compose/ - 출처: https://docs.docker.com/compose/features-uses/ Docker Compose overview Learn how to use Docker Compose to define and run multi-container applications with this detailed introduction to the tool. docs.docker.com - Overview Compose는 multi container Docker application을 저의하고 실행하기 위한 도구이다. YAML file을 이용하여 application service를 설정한다. 그리고 단일 명령어로 설정한 모든 servi.. 2023. 10. 12.
Cloud Native의 구성요소 - 출처: 클라우드 네이티브 GO - 매튜 A. 티트뮤스 지음 - 확장성 (Scaleability) 요청량이 급격하게 증가했을 때 대응하는 시스템의 능력을 말한다. 수직적 확장(Vertical scaling, Scale up): 시스템의 할당된 하드웨어 자원을 늘리는것을 말한다. 예를 들어 DB 서버의 경우 성능 향상을 위해 메모리를 늘린다면 이는 수직적 확장에 해당한다. 직관적이고 관리가 쉽지만 요청량이 아주 커지면 한계점이 존재한다. 수평적 확장(Horizontal scaling, Scale out: 인스턴스를 추가하는 방식을 말한다. 늘어난 요청량을 처리하기 위해 장비 Node를 늘린다면 이는 수평적 확장에 해당한다. 관리가 어렵지만 서비스 규모가 아주 커진다면 수평적 확장은 피할 수 없다. 수평적.. 2023. 10. 10.
Swarm - routing mesh - 출처: https://docs.docker.com/engine/swarm/ingress/#publish-a-port-for-a-service Use swarm mode routing mesh Use the routing mesh to publish services externally to a swarm docs.docker.com - 개요 Docker Engine swarm mode는 외부 리소스가 사용할 수 있도록 service port를 노출하는 기능을 제공한다. 모든 node는 ingress routing mesh 에 참여한다. routing mesh는 node에서 수행중인 task가 없더라도 다른 node에서 실행중인 task의 service port로 연결해준다. routing mesh는 n.. 2023. 10. 8.
Swarm - drain node - 출처: https://docs.docker.com/engine/swarm/swarm-tutorial/drain-node/ Drain a node on the swarm Drain nodes on the swarm docs.docker.com - Drain 의 필요성 이전까지의 실습은 모든 node가 active 상태라고 가정하고 진행했다. swarm manager는 task를 active 상태인 node에 할당하므로 모든 node가 task 를 수신할 수 있었다. 하지만 실제 운영 환경에서는 특정 node가 유지보수 상태에 들어갈 수 있으므로 해당 node를 drain 상태로 유지해야하는 경우가 생긴다. drain 상태가 되면 swarm manager로 부터 더이상 새로운 task를 할당받지 않는다... 2023. 10. 2.
Swarm - Rolling update - 출처: https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/ Apply rolling updates to a service Apply rolling updates to a service on the swarm docs.docker.com - Deploy test service, Redis 3.0.6 Redis 3.0.6 컨테이너 tag 기반의 서비스를 배포하고, 이를 rolling update 방식으로 Redis 3.0.7 로 갱신해보자. [ec2-user@ip-172-31-36-249 ~]$ docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6 .. 2023. 10. 2.