목록현대 오토에버 클라우드 스쿨 (64)
Gom3rye
Container Runtime일반적인 가상화 환경은 하드웨어 수준에서 가상화되지만 Container는 운영체제 수준에서 가상화를 수행한다.Container는 운영체제의 커널을 공유하기 때문에 상대적으로 가볍고 유연하게 운영이 가능하다.Container화 된 애플리케이션은 빠르게 실행되며 가상 머신과 비교했을 때 자원을 더 적게 사용해서 하나의 시스템에서 더 많은 애플리케이션을 구동할 수 있다.운영체제를 공유해서 사용하기 때문에 패치, 업데이트 등 유지 관리와 관련한 오버헤드가 줄어든다.빠르게 변화하는 비즈니스 환경에서는 Container가 애플리케이션 배포의 최적의 솔루션이라고 할 수 있다.Runtime은 프로그래밍 언어가 구동되는 환경을 의미하는데 자바스크립트가 브라우저에서 실행되면 런타임은 브라우저..

Docker-Compose : 하나의 머신에서만 동작 (따라서 scale up이 의미가 없다.)scale up이 이루어지려면 머신이 2개 이상은 있어야 한다.네트워크 확인 → Ingress와 bridge가 추가됨docker node lsdocker network ls새로운 토큰 발급docker swarm join-token --rotate worker # 다 보이고docker swarm join-token -q worker # 토큰만 보이고다음 에러를 만나면 방화벽이나 네트워크 연결을 확인하기Error response from daemon; rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialin..

nginx 설정 파일 만들기vi nginx.confupstream web-alb{ # 실제로 요청을 보내는 곳 server pyfla_app1:5000; server pyfla_app2:5000; # ip대신 서비스 이름(컨테이너 이름) 적어줘도 된다. -> 도커나 쿠버내티스는 내부 dns를 가지고 있어서 server pyfla_app3:5000; server { # 여기로 요청이 오면 web-alb로 가라 location / { proxy_pass ; }}요청을 보내는 쪽에서는 내가 보낸 요청이 어디로 가는 지는 몰라도 된다. Just 로드밸런서에게 요청 주고 그 요청을 로드밸런서가 분배해서 보내는 것Load B..

Load Balancer서버는 가해지는 부하(Load)를 분산(Balancing) 해주는 기술 또는 장치클라이언트와 ServerPool(분산 네트워크를 구성하는 서버의 그룹) 사이에 위치하며 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 해주는 기술리소스 활용도를 최적화하고 처리량을 최대화하며 지연 시간을 줄이고 내결함성(fault tolerance) 구성을 보장하기 때문에 안정적인 시스템 운영에 도움이 된다.Docker는 HaProxy, Nginx/Apache Load Balancer 등 외부 서비스와 컨테이너를 결합한 Load Balancing 기능 구현이 가능하다.백로그: 한 번에 접속할 수 있는 개수Controller 라고 부를 때는 요청에..

Docker: 컨테이너 기반의 가상화 도구ImageContainerVolumeNetwork이미지를 만드는 방법현재 컨테이너를 commit 이라는 이미지로 만들기Dockerfile에 적어서 만들기이미지를 올려놓는 방법Docker Hub (퍼블릭하게 저장)Private Image Registry (로컬에서 이미지 저장소를 직접 운영)Network, docker-compose, docker-swarm, kubernetes ⇒ 컨테이너 2개 이상: 컨테이너 오케스트레이션python application, redis db 한 컴퓨터에 설치 → 하나가 고장나면 다른 하나도 멈춤 → 무중단 xpython application과 redis db를 각각 다른 컴퓨터에 설치해서 사용하기 시작 → 자원의 낭비와 확장과 축소..

Docker ComposeDockerfile은 하나의 애플리케이션을 이미지로 만드는 수단여러 개의 애플리케이션을 패키징하는 경우 Dockerfile을 이용하게 되면 여러 개의 Dockerfile을 이용해야 한다.여러 개의 애플리케이션을 한 번에 패키징하는 도구가 Docker Compose이다.시스템 구축과 관련된 명령어를 하나의 텍스트 파일에 기재해 한 번에 시스템 전체를 실행하고 폐기까지 한 번에 하도록 도와주는 도구공통의 목적을 갖는 애플리케이션 스택을 docker compose yaml 코드로 정의해서 한 번에 서비스를 올리고 관리할 수 있는 도구가 docker compose이다.backend-read/write, frontend, db-mongo/mysql ⇒ 총 5개의 dockerfile이 필요..