본문 바로가기
IT KNOWLEDGE

Ansible에 대하여

by BTC_오사원 2022. 9. 21.

 

안녕하세요!! 임오군란과 민씨의 오입니다.😃

오늘은 Ansible에 대해 알아보도록 하겠습니다.

 

Ansible이란

여러 개의 서버를 효율적으로 관리하기 위해 고안된 환경 구성 자동화 도구이다. Ansible은 2012년에 출시되었으며, 2013년에 버전 1이 출시된 이후, 레드햇에 인수되어 개발되고 있다. Ansible은 셰프(chef), 퍼펫(Puppet) 등과 같은 구성 관리 도구의 일종이라고 볼 수 있으나, 사용성 또는 확장성 측면에서 셰프 또는 퍼펫에 비해 더욱 많은 사람들에게 사랑받고 있는걸로 보인다. 실제로, 최근에 개발되고 있는 환경 자동화 툴 (ex. kubespray) 등은 셰프나 퍼펫이 아닌 Ansible을 택하고 있다.

 

Ansible의 역할

환경 구성 자동화 도구의 역할을 정확히 정의할 필요가 있다. 리눅스에서 동일한 환경을 구성하기 위해서 사용하는 가장 기초적인 방법은 Bash 쉘 스크립트이다. 많은 개발자들은 각종 패키지의 설치, 설정 파일의 수정 등을 위해 일괄 처리 목록을 쉘 스크립트에 나열하고 이를 실행해 본 경험이 있을 것이다. 그러나 클러스터에 존재하는 많은 서버들에 동시에, 동일한 환경을 배포해야하는 상황에서Bash 쉘 스크립트는 분명 한계점을 가진다.

 

Ansible 요구 사항

-Python2(버전 2.7) 또는 Python 3 (버전 3.5이상)이 설치된 모든 시스템

-Windows는 제어 시스템에 지원 안됨

-Red Hat, Debian, CentOS, macOS, any of the BSDs 등이 포함

-Ansible 커뮤니티 버전의 경우, Python 소프트웨어 외 별도 하드웨어 스펙 요구사항은 없음

 

Ansible의 주요기능

  • 프로비저닝

-소프트웨어 설치 및 업데이트

-구성/설정 변경

-파일 전송

 

  • 어플리케이션 배포

-다수의 서버에 어플리케이션 자동배포

-전체 어플리케이션을 대상으로 손쉬운 수명주기 관리

-개발부터 상용화까지 자동화 기능

 

  • OS 자동 설치

-가상화 클라우드 기반의 VM을 대상으로 OS 설치 지원

-템플릿 기반 VM생성

-Vcenter, Open Stack, AWS, Azure, GCP 등 다양한 가상환경 지원

  • 빌드 및 배포 자동화

-CI/CD 환경을 손쉽게 구성

-서비스 개발 및 상용화를 빠르게 구현할 수 있는 자동화 플랫폼

-어플리케이션 빌드부터 테스트까지 다른 빌드 솔루션과 연동 가능

 

  • 보안 및 컴플라이언스

-Ansible을 통해 보안 정책과 컴플라이언스 수립

-시스템 생성시부터 보안 적용

-표준화를 통한 강제성 부여

 

  • 오케스트레이션

-가상머신 생성부터 서비스 제공까지 또는 어플리케이션 롤링 업그레이드 구현

 

ansible 용어 소개

  1. ansible-config : ansible 설정파일 표시
  2. ansible-console : 선택한 인벤토리에 대해 작업 실행 가능한 REPL 생성
  3. ansible-doc : 사용 가능한 모듈에 대한 정보 표시
  4. ansible-galaxy : Ansible 공유 저장소 관리
  5. ansible-inventory : 구성된 인벤토리를 표시
  6. ansible-playbook : 다중 작업 실행
  7. ansible-pull : VCS reps에서 playbook을 가져와 로컬 호스트에서 실행
  8. ansible-vault : Ansible 데이터 파일 암호화/복호화

 

'IT KNOWLEDGE' 카테고리의 다른 글

UDP Flood Attack  (0) 2022.10.04
파밍(Pharming)이란  (0) 2022.09.21
멀웨어  (1) 2022.09.16
SYN Flood Attack?  (1) 2022.09.16
HTTP Flood Attack?  (1) 2022.09.16

댓글