본문 바로가기

네트워크/네트워크 자동화

(11)
[심화][2] "[1]"에서 설치한 환경에 ansible 구성하기 목표 : [1]에서 설치된 centos에 ansible core 설정 centos(vm) -> pc(pm)을 통해 internet이 되도록 network 구성해야 함. - ansible core에 관련된 것을 internet으로 다운받아 올 것임 위 내용이 가능하도록 vagrant 설정하기 + bootstrap.sh 생성 1. vagrant에서 부르는 hostname 작성 2. virtual box에서 구분하는 hostname 작성 3. vm의 hostname 변경 4. pc 와 vm 간에 공유 dir는 사용 X 5. vm 에 ip 설정 6. pc의 port를 ip와 유사하게 변경 bootstrap.sh 생성 1. yum으로 epel 설치 - ansible을 설치하기 위해 2. ansible 설치 boo..
[심화][1]Ansible 심화를 위한 환경 설명 with 베이그런트 베이그런트란? 쉬운 프로비져닝, 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것 미리 정의해놓은 정보대로 필요할 때 올려서 사용할 수 있음. ex. CentOS를 설치할 때, 설치가 완료된 후에 ip 등 설정을 하게 되는데,, 베이그런트를 사용하면 설치할 때 자동으로 정보 다 가져가서 한번에 세팅까지 해줌. 즉, 쉽게 프로비져닝이 됨. 설치 환경 가상 머신 하나 ansible server : CentOS 진행방법 1. bash등 명령어 편집을 위해 텍스트 편집기 설치 2. 베이그런트 설치 및 초기화 3. 베이그런트 하일 수정 하여 centos 설치, 버츄어 박스를 통해 각각의 가상머신에서 다양한 기능을 사용하기 위해서 플러..
[000] ansible playbook editor - ansible vim 설치하기 검정색 바탕에 흰글씨....알아보기 힘들지 않아요??!! vim에 색을 넣어보기~~ github.com/junegunn/vim-plug junegunn/vim-plug :hibiscus: Minimalist Vim Plugin Manager. Contribute to junegunn/vim-plug development by creating an account on GitHub. github.com 위에 걸 설치할 거에요 설치 방법 [root@AnsibleServer ~]# curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ > https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim % Total %..
[6] 3대의 노드에 웹서버를 설치하고 기동해보자!(centos, ansible) 1. Ansible server에 playbook 만들기 [root@AnsibleServer ~]# vi test.yml --- - hosts: nginx remote_user : root tasks: - name: install epel-release yum : name=epel-release state=latest - name: install nginx web server yum: name=nginx state=present - name : Start nginx web server service: name=nginx state=started 2. playbook 실행하기 [root@AnsibleServer ~]# ansible-playbook test.yml -k 꼭 -k를 넣기로 하자,,,, -k ..
[5] Ansible 활용하기 - 작업을 단계별로 검증하여 실행하기(playbook 활용) playbook : 사용자가 원하는 내용을 정리해둔 파일 - 사전적 의미 : 작전, 계획 playbook의 특성 : 멱등성(연산을 여러 번 실행해도 똑같은 결과를 가져옴) [root@AnsibleServer ~]# echo -e "[lauren]\n192.168.35.13" >> /etc/ansible/hosts echo -e : "" 안의 특수 문자를 이해하기 위함(\n 같은 것) [root@AnsibleServer ~]# vi /etc/ansible/hosts [nginx] 192.168.35.11 192.168.35.12 192.168.35.13 [lauren] 192.168.35.13 가장 아래에 추가됨을 알 수 있음 위를 한 번 더 실행하면..? [nginx] 192.168.35.11 192.1..
[00]YAML(Playbook) 입력시 주의점!! 탭이 인식 안된다고? 탭이 아닌 스페이스를 이용해서 작성되어야 함!!
[4] Ansible 활용하기 기초편 uptime 확인하기 디스크 용량 확인하기 메모리 상태 확인하기 새로운 유저 만들기 파일 전송하기 서비스 설치 uptime 확인하기 [root@AnsibleServer ~]# ansible all -m shell -a "uptime" -k shell이라는 모듈을 사용하고, uptime이라는 argument를 보냄 Disk 용량 확인하기 [root@AnsibleServer ~]# ansible all -m shell -a "df -h" -k Memory 용량 확인하기 [root@AnsibleServer ~]# ansible all -m shell -a "free -h" -k 이렇게 기존에 사용하는 shell 명령어로 중앙에서 관리하는 노드들의 상태들을 쉽게 확인할 수 있음!!!! User 만들기 - use..
[3]Ansible의 구성파일 환경 설정 파일 : vi /etc/ansible/ansible.cfg 호스트들의 정보를 담고있는 저장소 vi /etc/ansible/hosts [nginx]를 붙이는 이유는 저 서버들의 nginx 라는 일정 부분만 컨트럴 하겠다는 의미임 Ansible 옵션값 -i : 적용될 호스트들에 대한 파일 -m : 모듈을 선택할 수 있도록 -k : password를 물어보도록 설정 -K : 관리자 권한으로 상승 --list-hosts : 적용되는 호스트들의 리스트 확인 옵션 사용하는 예제 [root@AnsibleServer ~]# vi test (아래내용 복붙 후 저장) 192.168.35.11 192.168.35.12 [root@AnsibleServer ~]# ansible all -i test -m ping -..