본문 바로가기
728x90

ansible5

[Ansible] Ansible playbook example - 3 Home directory 아래 폴더 생성 - Home directory 아래 폴더 ( tomcat, Jenkins, apps, logs (tomcat, apache) ) 를 생성하는 playbook --- - name: makedir hosts: all become: true tasks: - name: make directory - basic file: owner: "{{ USER_NAME }}" group: "{{ USER_GROUP }}" path: "/home/{{ USER_NAME }}/{{ item }}" state: directory mode: 0755 with_items: - jenkins - tomcat - apps - log - stat: path: "/home/{{ USER_NAME .. 2022. 8. 19.
[Ansible] Ansible playbook example - 2 Local repo 설정 파일 host server에 복사 - local repo 설정 파일을 host server에 복사하는 playbook --- - name: copyfile host: all become: true tasks: - name: copy local.repo file copy: src: /etc/yum.repos.d/local_repo dest: /etc/yum.repos.d/tmp/ - name: copy local_epel.repo file copy: src: /etc/yum.repos.d/local_epel.repo dest: /etc/yum.repos.d/tmp/ Ansible Playbook 예제 시리즈 2022.08.17 - [Dev/Linux] - [Ansible] Ansi.. 2022. 8. 18.
[Ansible] Ansible playbook example - 1 host server의 config file 변경 - host server의 config 파일을 수정하는 playbook --- - hosts: all become: true tasks: - stat: path: /tmp/local_test2.repo register: result - name: move old file command: mv /tmp/local_test2.repo /tmp/local_test2_old.repo when: - result.stat.exists - name: make local.repo file file: path: /tmp/local_test2.repo state: touch - name: modify line blockinfile: path: /tmp/local_test2.. 2022. 8. 17.
[Ansible] Include 인클루드 ( Include ) 기능 : 많은 수의 플레이북을 관리하는데 용이. 플레이를 여러 부분으로 분할할 수 있다. 다른 플레이에서 각 부분을 포함할 수 있다. 다른 목적을 위해 만든 몇개의 여러 부분으로 나눈 후, 주요한 플레이에 모든 부분을 포함할 수 있다. 모듈 같은 느낌. 종류 : 1. 변수 인클루드 : 외부 yml 파일의 변수를 저장할 수 있도록 한다. ex ) vars_file 외부 파일을 이용하여 변수 사용 2. 플레이북 인클루드 : 하나의 플레이에서 다른 파일의 플레이를 포함할 때 사용 3. 태스크 인클루드 : 다른 파일의 공통 태스크를 저장하고 필요할 때마다 공통 태스크를 포함할 때 사용 반복되는 공통 태스크의 수가 많을 때 사용 4. 핸들러 인클루드 : 한 장소에 핸들러를 모두 저장.. 2022. 8. 11.
[Ansible] Module 모듈 (Module) add_host : hosts 파일 편집 없이, 동적으로 플레이에서 새로운 장비 추가 가능 hostname, group 인수를 받고 이를 지정한다. 이 외의 추가 인수도 보낼 수 있다. → hosts 파일에서 서버 옆에 ansible_ssh_user 적어주며 추가로 설정해줬던 것들도 add_host를 이용하여 사용할 수 있다. group_by : 동적으로 플레이에서 그룹 생성 가능. 장비를 팩트 기반이 되는 그룹으로 만들 수 있고, add_fact 모듈을 이용하여 설정한 팩트를 포함하는 그룹을 생성할 수 있다. key (장비가 추가될 그룹의 이름) 라는 인수를 받는다. pause : 일정 기간 동안 플레이북의 실행을 멈춘다. 기다릴 시간을 설정할 수 있고, 혹은 사용자에게 진행 여부.. 2022. 8. 10.
728x90