2019년 6월 19일 수요일

Ansible-playbook 패키지, 계정, 그룹 추가 플레이 북

서버 대수가 적으면 크게 문제가 되진 않지만 대수가 많으면 명령어 각각 치는 것도 어려운 뿐더러, 휴먼 에러(오타)가 발생하는 경우가 많다.
그래서 ansible playbook을 통해 한번에 처리 한다.


---
- hosts: localhost
  remote_user: root
  vars_prompt:  # 패키지 설치 할것인지 아닌지 확인
    - name: select
      prompt: "Do you want to install(present) packages? default="
      private: no
      default: present

    - name: group_name # 그룹을 추가할 것인지 아닌지 확인
      prompt: "Do you want to create group? default group_name="
      private: no
      default: mwadm

    - name: user_name # 계정을 생성할지 말지 확인
      prompt: "Do you want to create user? default user_name="
      private: no
      default: mwadm

    - name: user_home # 계정 생성이 후 계정 홈 경로 설정 할지 확인
      prompt: "Do you want to {{ user_name }} home diretory? default user_home= "
      private: no
      default: /home/{{ user_name }}

  tasks:
  - name: install packages = apr-devel, apr-util-devel, openssl-devel, pcre-devel
    yum:
      name:
          - apr-devel
          - apr-util-devel
          - openssl-devel
          - pcre-devel
      state: "{{ select }}"

  - name: Add the group
    group:
      name: "{{ group_name }}"
      state: "{{ select }}"

  - name: Add the user
    user:
      name: "{{ user_name}}"
      password: "{{ user_name}}"
      group: "{{ group_name }}"
      state: "{{ select }}"
      shell: /bin/bash
      createhome: yes
      home: "{{ user_home }}"
      remove: yes

프롬프트에 present를 입력하면 전체가 다 실행되고, absent를 입력하면 rollback 된다. 하지만 완벽하지 않기 때문에 보완이 필요하다.





댓글 없음:

댓글 쓰기