설치 자동화 Ansible
설치 자동화 Ansible

설치 자동화 Ansible

gubun
Infra
Stack
ANSIBLE
ShellScript
진행기간
2024년 7월 ~ 진행 중
작성일
2024년 07월 06일 00시 00분
Author

🔖 요약


notion image
notion image
 

👏 프로젝트 소개


  • 프로젝트 개요
    • 프로젝트 이름: Ansible 도입 및 운영
    • 프로젝트 기간: 2024년 7월 1일 ~ 현재
    • 역할: 시스템 엔지니어
      • 오픈 소스 솔루션 리서치
      • 서버 선정 및 구축
      • 유지 관리 및 운영

✍️ 프로젝트 배경


  • 도입 이전 상황
    • 설치 매뉴얼을 보고 리눅스에 명령어를 하나씩 입력하며 수동 설치를 진행하는 번거로움
    • 여러 서버를 동시에 설치할 수 없어서 시간 소모가 큼
  • 도입 이유 및 목표
    • 도입 이유:
      • 효율적인 서버 설치 및 구성 자동화 필요
      • 여러 서버를 동시에 설치하고 관리할 수 있는 자동화 도구 필요
    • 목표:
      • Ansible을 이용한 서버 설치 및 구성 자동화
      • 로컬 레포지터리를 통해 필요한 패키지로만 구성하여 설치 효율성 증대

🔦 기술 스택 및 주요 기능 구현


  • 기술 스택
    • 주요 기술:
      • Ansible (자동화 도구)
      • Shell Script
      • 로컬 레포지터리
  • 주요 기능 및 구현 내용
    • 서버 설치 및 구성 자동화:
      • Ansible 플레이북을 사용하여 서버 설치 및 구성 자동화
        • 로컬 레포지터리를 통해 필요한 패키지 구성
        • Shell Script에서 번호 입력 시 해당 Ansible 플레이북 실행

🔦 도입 과정


  1. 초기 요구사항 분석
    1. 기능
      설명
      자동 서버 설치
      Ansible을 사용하여 서버 설치를 자동화하는 기능.
      로컬 레포지터리
      필요한 패키지만을 포함한 로컬 레포지터리 구성.
      다중 설치
      여러 서버를 동시에 설치할 수 있는 기능.
      에이전트 리스
      설치 대상 서버에 에이전트 설치 없이 진행 가능.
  1. 오픈 소스 자동화 도구 리서치
    1. 💡
      SSH로 설정 원격지 설정이 가능한 Ansible 선택
      제품
      Ansible
      Puppet
      Chef
      개발사
      AnsibleWorks
      Puppet Labs
      Opscode
      출시
      2012년 3월
      2005년 8월
      2009년 1월
      코드베이스
      Ansible Galaxy
      Puppet Forge
      Chef Supermarket
      WebUI
      O (Ansible Tower)
      O
      O
      정의파일
      YAML
      독자 DSL / 내장 Ruby
      독자 DSL(Ruby Base)
      에이전트 설치
      X
      O
      O
      확장성
      O
      O
      O
      간편도
  1. 서버 설치 및 Ansible 환경 구성
    1. 설치 정보
      1. CPU
        4Core
        MEM
        8GB
        DISK
        100GB
        OS
        Ubuntu 20.04
        Ansible
        2.9.13
    2. 설치
      1. Ansible 설치 및 설정
        1. Ansible 서버 설치 및 플레이북 작성
          1. notion image
          2. anymonfm_package_install.yml: 솔루션 OS 패키지 설치 플레이북
          3. anymonfm_source_install.yml: 솔루션 소스 및 라이브러리 설치 플레이북
          4. anymonfm_collector_install.yml: 솔루션 수집 서버용 설치 플레이북
      2. 로컬 레포지터리 구성
        1. 필요한 패키지를 포함한 로컬 레포지터리 구성
      3. 배포 스크립트 작성
        1. Shell Script에서 번호를 입력하면 해당 Ansible 플레이북을 실행하는 스크립트 작성
          1. notion image
          2. 설치 진행 시 앤서블 플레이북 실행 대상 서버 입력 hosts 파일 생성
            1. notion image
          3. Git 자동 최신풀(expect) 이후 앤서블 플레이북 시작
            1. notion image

🔦 결과 및 성과


  • 성과 및 결과
    • 도입 후 성과
      • 서버 설치 및 구성의 자동화
        • 수동으로 명령어를 입력하는 번거로움 없이 자동으로 서버를 설치하고 구성할 수 있게 되었습니다.
      • 여러 서버 동시 설치 가능
        • Ansible을 통해 여러 서버를 동시에 설치하고 관리할 수 있어 시간과 노력을 절약할 수 있었습니다.
      • 설치 효율성 증대
        • 로컬 레포지터리를 통해 필요한 패키지만을 설치하여 설치 효율성이 크게 향상되었습니다.
  • 향후 계획
    • 정기적인 시스템 업데이트 및 유지보수

댓글

guest