DevOps/Ansible

·DevOps/Ansible
ansible로 다양한 명령어를 통해 node들을 제어할 수 있습니다. 예를 들어 web이라는 node들에게 test.txt를 삭제하게 명령하려면 아래와 같습니다. ansible web -m shell -a "rm /home/test.txt" -b 여기서 -m 은 모듈을, -a 는 명령어를, -b는 root 권한을 의미합니다. 해석하자면 web이라는 node들에게 shell 명령어와 sudo권한으로 rm /home/test.txt를 수행하라는 의미입니다. 기본적으로 ansible의 node들, host들은 /etc/ansible/hosts 파일에 담겨져 있습니다. main PC와 node PC간 SSH 통신이 가능하면 위의 명령어를 수행할 수 있습니다. 다음은 이런식으로도 변형이 가능합니다. ansibl..
·DevOps/Ansible
먼저 준비물은 다음과 같습니다. ansible이 설치된 서버와 다른 pc와 연결된 상태여야 합니다. 연결이 됐는지 확인하려면 ansible hosts에 다른 pc IP를 입력한 후 ansible all -m ping 을 통해 연결이 됐는지 확인할 수 있습니다. 연결 방법에 대해서는 개개인의 설정이 다르기에 알맞은 정보를 찾아서 연결하셔야 됩니다. ping을 통해 연결이 된 것을 확인하면 다음과 같이 ansible playbook을 작성합니다. node-exporter.yml --- - hosts: exporter gather_facts: no tasks: - name: Create node-exproter dir # exporter가 설치 될 디렉토리를 만들어 줍니다. file: path: /home/d..
·DevOps/Ansible
준비물은 Docker가 설치된 node pc가 필요하며, 해당 node pc와는 연결이 되어있는 상태여야 합니다. node pc에 Docker와 Docker-compose를 설치하는 방법은 아래와 같습니다. https://cleaning-toolbox.tistory.com/90 Ansible playbook으로 Docker를 설치시켜보자 준비물은 이렇습니다. Ansible의 hosts파일에 연결될 node pc의 IP를 작성하고, 해당 node pc를 ansible ping을 통해 연결이 된 후에 아래의 playbook을 실행시킬 수 있습니다. 위의 준비물은 다른 게시글에도 cleaning-toolbox.tistory.com docker-compose.yml version: "3" services: no..
·DevOps/Ansible
준비물은 이렇습니다. Ansible의 hosts파일에 연결될 node pc의 IP를 작성하고, 해당 node pc를 ansible ping을 통해 연결이 된 후에 아래의 playbook을 실행시킬 수 있습니다. 위의 준비물은 다른 게시글에도 많기에 저는 playbook내용을 준비했습니다. 핵심인 playbook의 내용입니다. --- - hosts: exporter gather_facts: no tasks: - name: Create main dir # 없어도 되는 부분입니다. file: path: /home/daou_docker/exporters state: directory - name: Install packages # docker-compose를 위해 wegt을 설치해줍니다. vars: ansibl..
·DevOps/Ansible
ansible을 사용하던 중 playbook의 작성요령을 숙지하고 있어야 된다는 생각이 들었습니다. 그렇기에 따로 공부하면서 계속해서 작성해보도록 하겠습니다. --- - name: install nginx # playbook의 이름을 정합니다. hosts: all # 어떤 그룹에 실행할지 선정합니다. become: yes # 대상 호스트에 root 사용자로 작업을 수행합니다. connection: local # 대상 호스트가 ssh대신 local 연결을 합니다. gather-facts: no # facts를 수집하지 않음으로써 성능을 향상시킵니다. tasks: # 수행할 업무들입니다. - name: install epel-release # 업무에 대한 이름을 정합니다. yum: # yum과 관련된 모듈을..
지나가는 지식들을 모아두기
'DevOps/Ansible' 카테고리의 글 목록