본문 바로가기

분류 전체보기

(307)
1.6 ansible | [test][playbook] multi command [root@OPENLDAP-TEST ansible]# cat multi_command.yml --- - name: "command test" hosts: all become: true tasks: - name: "iptables insert" command: "{{ item }}" with_items: - iptables -D INPUT -s 2.2.2.2 - iptables -D INPUT -s 3.3.3.3 - iptables -D INPUT -s 4.4.4.4 - iptables -D INPUT -s 1.1.1.1 -j ACCEPT ## command, shell 모두 유효 ## with_items 로 여러 명령을 내릴수 있음.
1.5 ansible | [test][playbook] 서비스 데몬 실행 [root@OPENLDAP-TEST ansible]# cat setvice.yml --- - name: "sservice test" hosts: test02 become: true tasks: - name: "service test" service: name: docker state: started ## service관련 state 파라미터 ## started : 서비스 시작 ## stopped : 서비스 종료 ## restarted : 서비스 재시작 ## reloaded : 서비스 리로드
1.4 ansible | [test][playbook] 파일 내용 치환 [root@ANSIBLE ansible]# cat file_replace.yml --- - name: "replace file" hosts: test become: true tasks: - name: "file replcae" replace: path: /etc/hosts regexp: "192.168.6.135 docker2.plo.plo docker2" replace: "192.168.6.135 docker5.plo.plo docker5" ## regexp 내용을 -> replace 내용으로 변경
1.3 ansible | [test][playbook] 원격지에서 파일 가져오기 [root@OPENLDAP-TEST ansible]# cat fetch.yml --- - name: "fetch file" hosts: test02 become: true tasks: - name: "fetch files" # fetch 모듈 사용. fetch: src: /etc/hosts dest: /root/ flat: yes ## 주의 dest 경로 끝에 "/"을 꼭 붙여야 함. ## flat 을 추가 하지 않으면 src 경로 전체가 복사 됨.
1.2 ansible | [test][playbook] 파일 복사와 삭제 1. 파일 복사 playbook [root@ANSIBLE ansible]# cat copy_file.yml --- - name: "copy file" hosts: test02 become: true tasks: - name: "backup file" # command로 파일 선 백업 command: mv /hosts /hosts.bak - name: "copy files" # copy 모듈로 local -> remote로 파일 복사 copy: src: /etc/hosts dest: / 2. 파일 삭제 playbook [root@ANSIBLE ansible]# cat rm_file.yml --- - name: "delete file" hosts: test1 become: true tasks: - name:..
1.1 ansible | [test][playbook] 사용자 계정 추가 1. playbook [root@ANSIBLE ansible]# cat add_user.yml --- - name: "user add" hosts: test01 become: true # 권한 상승 tasks: - name: "user add" # user 모듈을 사용하여 사용자 추가 user: name: "{{ add_user_name }}" password: "{{ upassword | password_hash('sha512') }}" shell: "/bin/bash" - name: "Add user to sudoers" # lineinfile 모듈을 사용하여 권한상승 설정 추가 lineinfile: dest: /etc/sudoers regexp: "{{ add_user_name }} ALL" lin..
0. ansible 설치 1. 설치 [root@ANSIBLE ~]# yum install epel-release [root@ANSIBLE ~]# yum install ansible [root@ANSIBLE ~]# rpm -qa | grep ansible ansible-2.9.16-1.el7.noarch 2. host 등록 ## 기본 경로 [root@ANSIBLE ansible]# pwd /etc/ansible ## inventory 파일 (target host 정의) [root@OANSIBLE ansible]# cat hosts ... [test] test02 ansible_host={host ip} ansible_user={host ssh user} ansible_port={host ssh port} ansible_connec..