목록Infra/Ansible (5)
내 잡다한 노트
Ansible에서 ansible.builtin 접두사는 Ansible의 내장 모듈을 명확하게 지정하기 위해 도입된 네임스페이스입니다. 이는 Ansible 2.10 버전 이후부터 추가된 개념으로, 모듈의 출처나 종류를 명확히 구분하고, 추가적인 모듈 컬렉션을 쉽게 관리할 수 있도록 하기 위함입니다.copy 모듈을 사용하려할 때, ansible.builtin을 접두사로 사용해도 되지만 내장 모듈이기 때문에 생략해도 상관없다. 1. ping 모듈서버와의 연결 상태를 확인하는 가장 기본적인 모듈입니다.서버와의 연결을 테스트하고 응답이 있는지 확인하는 용도로 사용됩니다. - name: Check connection ansible.builtin.ping:2. apt 모듈우분투나 데비안 기반 시스템에서 패키지를 ..
playbook은 작업을 자동화하기 위해 사용하는 YAML 파일로, 여러 Task를 정의하고, 이 태스크들을 다양한 호스트에서 실행할 수 있도록 한다.Ansible Playbook의 기본 구조Ansible Playbook은 다음과 같은 기본 구조를 가집니다:Playbook Header:name: Playbook이나 특정 플레이의 이름을 정의합니다.hosts: 이 플레이가 실행될 대상 호스트를 지정합니다. all, 특정 호스트 그룹, 또는 localhost 등으로 지정할 수 있습니다.vars: Playbook에서 사용할 변수들을 정의합니다.tasks: Playbook에서 수행할 작업(태스크) 목록입니다.Tasks:각 태스크는 특정 작업을 수행합니다. 예를 들어, 파일 복사, 서비스 시작, 스크립트 실행 등..
Ansible수십개의 서버에 같은 동작의 작업을 한 번에 편하게 하기 위해서 사용.IaC ( Infrastructure as Code ) 로 자주 쓰이는 도구. 또한 프로비저닝 도구 중 하나이다.프로비저닝 도구는 서버나 클라우드 인프라를 설정, 배포, 관리하는 데 사용된다.프로비저닝 도구는 다음과 같은 작업을 자동화한다.서버 설정: 운영 체제 설치, 네트워크 설정, 패키지 설치 등 초기 서버 설정 작업.소프트웨어 배포: 애플리케이션 배포, 구성 파일 배포 및 업데이트.구성 관리: 시스템 구성 상태를 관리하고 유지.오케스트레이션: 여러 서버와 서비스 간의 상호작용을 관리. Ansible의 작업은 제어 노드(Control Node)에서 수행된다. 이 제어 노드는 playbook을 실행하는 서버라고 생각하면 ..
간단하게 적을 생각이다. 앤써블은 서버들에 공통적인 작업들을 할 때 유용하게 쓰일 수 있는 IaC 도구이다.예를 들어, 스크립트 배포라던가 패키지를 설치한다던가 crontab에 어떤 작업을 등록하고 싶다거나 하는 등의 작업을 공통적으로 하고 싶을 때 사용하면 된다. 써본 경험이 많진 않아 나도 어디까지 가능한 지는 잘 모르겠다 ㅎㅎ; 앤써블은 ssh를 통해 작업을 하기 때문에 서버의 계정에 ssh key 등록을 통해 접속이 가능하게끔 해줘야 한다. 그리고 서버 정보들(IP, Alias)에 대한 설정을 hosts.yaml에서 작성을 해야한다. 여기에서 서버들을 적어두어야한다.이때, 그룹별로 서버들을 지정해둘 수 있어 playbook을 실행할 때 등록된 모든 서버가 아닌 해당 그룹들에 속하는 서버들에만 실..
학교 프로그램으로 인턴십을 수행하는 중이다.인프라 관련 일을 하고 있고, 모니터링과 리눅스 서버 관리를 주로 하고 있는 중인데서버가 여러개다 보니 한번에 관리하는 방법을 찾고 있었고, 예전에 IaC (Infrastructure as Code) 의 도구 중 하나인Ansible를 사용하면 쉽게 관리할 수 있다는 글을 봤던 기억이 났다. 서버에 한꺼번에 만들어둔 스크립트 파일을 배포하는 일을 쉽게 하고 싶었는데 Ansible을 사용하면 지정해둔 서버에 한꺼번에 배포가 가능하다는 것을 알게되고 후딱 배워서 실행하니...와... 이걸 이제 알았다는게 아쉬울 정도였다 ㅎㅎ