AWX
YAML with AWX : 각 Node(대상 서버)에 사용자 생성
거나미스
2019. 1. 2. 11:28
반응형
- AWX를 이용하여 NODE에 사용자 생성
- 사용자 생성을 위하여 다음과 같은 Yaml파일을 생성
- #vi /var/lib/awx/projects/awxtest/adduser.yml
들여쓰기 및 공백은 위 이미지처럼 맞추어야 함
---
- name: add user to node
hosts: all
vars:
- new_userid: atest
tasks:
- name: check exist users
shell: cat /etc/passwd | grep {{ new_userid }} || echo "NULL"
register: rval- name: add user
shell: /usr/sbin/useradd {{ new_userid }}
when: rval.stdout =='NULL'생성할 아이디 : atest
- 총 Task는 2개로
- 첫번째는 해당 User가 존재하는지 여부를 체크
- 두번째는 결과값이 NULL일 경우 생성
- Ansible-playbook을 이용한 사전 테스트
- AWX에 적용하기 전에 ansible-playbook으로 사전 테스트 진행
- 각 노드들의 /etc/passwd 파일 확인 (atest가 없음을 확인)
- 테스트를 위하여 인벤토리 파일 생성 (hosts.inv)
- #vi /var/lib/awx/projects/awxtest/hosts.inv
[all] 192.168.85.4 192.168.85.5 - 내용 확인
- #cat /var/lib/awx/projects/awxtest/hosts.inv
- 수행
- #ansible-playbook -i hosts.inv adduser.yml
- OK=3, Changed=2가 나오면 성공
- 실패한 경우 들여쓰기 및 공백 확인
- Node1, Node2에서 결과 확인
- AWX에서 테스트를 위하여 생성된 atest 유저 삭제
- #userdel -r atest ; -r은 홈디렉토리 등 모두 삭제하는 옵션
- Node1, Node2에서 모두 삭제 확인
- -
- AWX에 적용
- AWX에서 신규 Template 생성
- NAME : Adding User to Nodes
- INVENTORY : AWX_TEST
- PROJECTS : awx_test
- PLAYBOOK : adduser.yml
- CREDENTIAL : AWX_CRED
- 를 눌러 저장
- 생성된 Template 확인
- 를 눌러 실행
- 실행 결과 확인
- 저장된 내용 확인
- #cat /etc/passwd
- -
- 목표
- Yaml을 이용하여 Node에 사용자 생성
- yml 기본 문법 확인
- 변수 선언 후 사용은 {{ 변수명 }} 를 이용
- Register를 이용 후 When 조건 사용 이해
- 추가 목표
- yml을 이용하여 사용자 삭제
- yml을 이용하여 사용자 패스워드 부여 (ssl 등을 이용해야 하며, Yaml외 언어 코딩이 필요할 수 있음)