콘텐츠로 이동

DevOps

GitOps와 ArgoCD 정리

GitOps 네 원칙과 ArgoCD 아키텍처, push와 pull 모델의 차이를 정리했다. 동기화 정책과 Flux 비교까지 표로 다룬다.

CICD on Single container

CICD on Single container/Untitled.png

목표


  1. 도커, 도커컴포즈를 이용한 테스트베드, 운영환경 실행환경 구성
  2. Travis CI를 이용해 Github → Travic CI → AWS Beanstalk 파이프라인 구현
  3. CICD 체험이 목적이기 떄문에 Nginx, 리액트는 작업하지 않습니다

Multi container CICD

구성도

  • DEV Flow chart

    Multi container CICD/Untitled.png

  • Service ENV

    Docker-compose를 사용해 모든 컨테이너 환경을 제어합니다

    Multi container CICD/Untitled%201.png

요약


  1. 멀티컨테이너를 이용해 개발환경과 운영환경을 구축합니다
  2. nodeJS백엔드 ↔ reactJS프론트엔드 간에 REST API 구조로 데이터를 전달합니다(axios)
  3. Nginx의 라우팅을 활용하여 URI가 /api 로 시작하면 백엔드(NodeJS)로, 나머지( / )는 프론트(ReactJS)로 보내도록 설정합니다
  4. Docker Compose를 사용해 컨테이너간의 통신 등 개발환경을 구축합니다
  5. 깃헙에 푸시하면 → Travis CI 테스트→ Docker Hub로 이미지를 전달하고 Beanstalk이 ECS를 이용해 이미지를 pull하고 ECS를 이용해 컨테이너를 Deploy하도록 합니다

2021-Toy-1

Tip

💡 유형 : 개인 토이 프로젝트

목표


  • 여태 학습해왔던 각종 기술들을 실제로 활용해본 경험을 가져보고 문제해결 능력을 키우기 간단한 인프라를 구축해보고 싶었습니다

서비스 요약


  • 인력풀에 지원자를 등록할 수 있는 서비스를 도커를 활용한 멀티컨테이너 인프라를 적용하여 구성하였습니다

구성도


  • Service Flow

    Project-1/Untitled.png

  • DEV Flow

    Project-1/Untitled%201.png

  • AWS 인프라 구성도

    Project-1/Untitled%202.png