ansible6 Ansible 작동방식 오픈소스 기반의 자동화 관리 도구로 하나의 중앙 위치에서 여러 서버를 관리하고 제어한다. SSH통신으로 호스트 서버에 접근한다. 장점 수행해야하는 반복적인 작업이 있을 때 사용하기 적합하다. 특정환경을 동일하게 만들 수 있다. 호스트 서버에 에이전트를 설치할 필요가 없다. 1) Controller 서버 ansible이 설치된 서버 2) 인벤토리 호스트 서버들의 목록 /etc/ansible/hosts 파일에 위치해 있음 https://runebook.dev/ko/docs/ansible/user_guide/intro_inventory 3) playbook 호스트 서버에 전달할 명령어들을 모아둔 명령어집 즉, 스크립트 파일을 말함 yaml/yml 파일 형식으로 되어 있으며 ansible playbook을 이용.. 2022. 12. 19. [Ubuntu] Ansible-Playbook log 저장하기 실행했던 ansible-playbook 로그가 저장된 파일이 당연히 있을 거라고 생각해서 여기저기 찾아보고 다녔는데 알고 보니 playbook log를 남기기 위해서 따로 경로를 지정해주어야 했다. 로그는 당연히 남는게 아니었나?? 왜지?? 아무튼 계속 삽질하면서 로그를 저장하는 방법을 찾았다~! /etc/ansible경로안에 ansible.cfg파일에 들어가 [defaults] 안에 log_path = /var/log/ansible.log의 주석을 지워준다 ansible-playbook를 실행할 때 꼭 -v 명령어를 넣어주어야 한다. 아닐 시 아래와 같은 문구가 playbook 실행 초반에 나타난다. -v명령어를 포함한 playbook을 실행시키면 초반 화면이 아래와 같이 보인다. -v 작업결과가 포함.. 2022. 3. 24. [Ubuntu] Redis start/stop Playbook 우선 redis서버가 연결이 잘 되어있는지 ansible -m ping [그룹이름] 으로 확인해준다 Redis start --- - hosts: redis become: true tasks: - name: start redis service: name=redis state=started ansible-playbook [파일이름].yml 으로 playbook을 실행시켜준다 redis서버로 들어가서 확인해주면 redis가 잘 실행되고 있음을 확인할 수 있다 Redis stop --- - hosts: redis become: true tasks: - name: stop redis service: name=redis state=stopped ansible-playbook [파일이름].yml 으로 playbook.. 2022. 1. 25. [Ubuntu] playbook 만들기 - update, reboot, stop 모든 서버 update하기 playbook sudo vim update.yml --- # update server - hosts: all tasks: - name: Update and upgrade apt all packages become: true apt: upgrade: yes update_cache: yes cache_valid_time: 86400 #One day ansible-playbook update.yml 으로 playbook을 실행해준다 모든 서버 reboot 하기 sudo vim reboot.yml --- # reboot all server - hosts: all become: true tasks: - name: rebooting server reboot: ansible-playboo.. 2022. 1. 11. [aws linux2] 출력 내용 저장하기 명령어를 실행시키고 그 내용을 txt로 저장하기 ansible -m command -a 'ls /' web -i group.ini 명령어를 입력하면 web그룹에 대해서만 명령어가 실행된다 이와 같이 나온 내용을 txt파일로 저장하려고 한다 ansible -m command -a 'ls -al' > test.txt web -i group.ini web이라는 그룹안에 있는 호스트들에 한에서 ls -al 명령어를 내리고 그 결과를 test.txt라는 이름으로 txt파일로 저장한다 만들어진 txt파일은 명령을 내렸던 ansible서버에 저장된다 아래와 같은 내용이 보여지며 저장된다 이렇게 목록을 보게 된다면 test.txt가 생성된 것을 알 수 있다 cat명령어로 확인해보면 어떤 서버이고 어떤 내용인지 확인이 .. 2021. 12. 15. [aws linux2] 호스트 명령 내리기 목표 : 여러 인스턴스를 그룹으로 나눠서 따로 따로 명령어 내려보기 연결된 호스트 전체 명령내리기 ansible -m command -a 'ls /' all -u ec2-user 이제 따로 명령어를 내리게 해볼 것이다 vi group.ini 만들어서 내용을 넣어준다 ansible_user=ec2-user는 [-u ec2-user] 이 명령어를 안쳐도 자동으로 인식되게 만들어준다 그룹 이름이 web이랑 host로 2개 만들어주고 주소를 넣어준다 경로 더보기 /home/ec2-user/.ssh/test/group.ini ansible --list-hosts web -i group.ini - web그룹 확인하기 ansible --list-hosts host -i group.ini - host그룹 확인하기 an.. 2021. 12. 10. 이전 1 다음 반응형