DevOps/Docker, Jenkins, Ansible, Terraform

Jenkins, Packer, Ansible의 역할

prden 2023. 1. 24. 12:19

1. 프로비저닝이란?

 사용자의 요구에 맞게 서버를 설정해 두었다가 필요시 서버를 즉시 사용할 수 있는 상태로 미리 준비해 두는 것.

 ex) ec2 인스턴스에 JDK를 설치해 두거나 MySQL을 설치하고 DB를 생성해두는 작업 등

 

2. Jenkins, Packer, Ansible

Jenkins에서 AMI 빌드 JOB을 실행하는 과정

 

 1) Jenkins 서버에서 GIT에 코드레벨로 관리되는 Packer와 Ansible 코드를 pull 받고

 2) Jenkins 서버에서 Packer가 인스턴스를 셋업한다.

 3) Ansible을 이용해 셋업된 인스턴스에 프로비저닝 작업을 진행하고

 4) Packer가 프로비저닝 완료된 인스턴스를 복사해 AMI를 생성한다. 

 

3. Ansible

 Ansible은 프로비저닝, 애플리케이션 구성 관리를 쉽게 자동화할 수 있는 플랫폼이다. 

Ansible은 원격으로 명령어를 실행하기 위한 완벽한 도구이고 패키지를 설치하는 것과 같은 가장 일반적인 요구사항을 관리할 수 있는 모듈을 갖고있다.

 Ansible은 Ansible Controller와 Ansible Target으로 구성된다. Controller는 Target에 대해 어떤 구성을 명령할지 Task를 정의한다. yaml 형식으로 구성된 playbook을 만들어 여러 개의 Task를 수행할 수 있다.  앤서블은 다른 구성관리 시스템과 다르게 서버, 데몬 혹은 데이터베이스 없이도 작동되도록 개발되어있다. 

 

https://11001.tistory.com/97

 

Infra IT 자동화 Tool - 앤서블(Ansible) 이란 ?

앤서블 이란? 오픈소스 기반 Provisioning & Configuration management Tools And IT Automation Tool Ansible은 IT 자동화를 위한 오픈소스 기반 도구이며, 풍부한 모듈을 바탕으로 보다 손쉽고 빠르게 목표하는 일 또

11001.tistory.com

 

3-1. Ansible 구성요소

  • Inventory : 관리할 대상의 서버 리스트, 자동화 대상(Managed Node)목록을 작성하는 곳
  • Modules : host에 action을 수행하는 스크립트, 자동화 기능 내장 패키지로 하나의 완전한 단위 기능 제공
  • Playbook :  앤서블의 구성, 배포 및 오케스트레이션이 포함된 파일로 OS 구성에서 애플리케이션 배포와 모니터링까지 시스템의 상태를 순차적으로 정의할 수 있다. 
  • Plug-in: 확장 기능(emai, logging) 제공
  • Custom modules : 사용자가 작성한 모듈

3-2. Ansible 예제를 많이 봐

https://github.com/ansible/ansible-examples

 

GitHub - ansible/ansible-examples: A few starter examples of ansible playbooks, to show features and how they work together. Se

A few starter examples of ansible playbooks, to show features and how they work together. See http://galaxy.ansible.com for example roles from the Ansible community for deploying many popular appl...

github.com

 

https://techblog.woowahan.com/2624/

 

Packer와 Ansible을 이용한 표준 AMI 만들기 | 우아한형제들 기술블로그

{{item.name}} 안녕하세요 저는 작년 우아한테크캠프 2기를 마치고 10월에 시스템신뢰성개발팀에 입사한 김규남이라고 합니다. 이번 글에서는 팀 내에서 Packer와 Ansible을 이용해 AMI를 코드레벨로 어

techblog.woowahan.com

https://btcd.tistory.com/56

 

Ansible 개념

베하~~! 안녕하세요! 하 씨 가문의 영광 팀입니다! :) 이번에는 저번 주에 예.고! 한 것처럼 Ansible의 개념을 다뤄보도록 하겠습니다! 그럼 출발합니다~부릉부릉 ※ 목차 ▶ Ansible 주요 특징 구성 요

btcd.tistory.com

4. Jenkins 파이프라인 구성

1. docker 안에 docker 설치