Jenkins + Infrastructure as Code
CI/CD 도구인 Jenkins와 IaC 라는 프로비저닝 도구와 연동에 대한 학습
Ansible : IaC 도구인 Ansible 설치 및 사용 Ansible Playbook : Ansible에서 실행할 수 있는 명령어의 집합 script 파일. Docker 이미지 배포
Infrastructure as Code
시스템, 하드웨어 또는 인터페이스의 구성 정보를 파일(스크립트)을 통해 관리 및 프로비저닝
IT 인프라 스트럭처, 베어 메탈 서버 등의 물리 장비 및 가상 머신과 관련된 구성 리소스를 관리
버전 관리를 통한 리소스 관리
IaC 예시

Pulumi
Terraform
인프라 구축하는데에 많이 사용
자체 DSL 사용
ANSIBLE
이미 구축되어 있는 서버들에 구성정보를 변경 / 관리 하는데에 많이 사용
여러 개의 서버를 효율적으로 관리할 수 있게 해주는 환경 구성 자동화 도구
Configuration Management, Deployment & Orchestration tool
IT infrastructure 자동화
Push 기반 서비스 : python의 ssh 프로토콜을 통해 데이터를 주고 받음
Simple, Agentless 한 특징
할 수 있는 작업들
설치 : apt-get, yum, homebrew
파일 및 스크립트 배포 : copy
다운로드 : get_url, git
실행 : shell, task
AWS 하고 연동 잘 됨
Ansible Server 설치 (Linux)
$ yum install ansible
$ ansible --version
환경 설정 파일 → /etc/ansible/ansible.cfg
Ansible에서 접속하는 호스트 목록 → /etc/ansible/hosts
Apple silicon : $ docker pull edowon0623/ansible-server:m1 // '\\' : 명령어가 끊기지 않고 한줄로 입력됨 // 'privileged' : 관리자 권한으로 실행 $ docker run --privileged \\ --name ansible-server -itd \\ -p 20022:22 -p 8081:8080 \\ -e container=docker \\ -v /sys/fs/cgroup:/sys/fs/cgroup --cgroupns=host \\ edowon0623/ansible-server:m1 /usr/sbin/init $ ssh root@localhost -p 20022 (or docker exec -it ansible-server bash)
Last updated