리눅스
Ansible 일반 계정으로 패키지 배포 및 NTP 설정하기
변군이글루
2017. 4. 16. 20:47
반응형
Ansible 일반 계정(ansiadmin)으로 패키지 배포 및 NTP 설정하기
Control Machine 설정
Ansible 컨트롤 머신에서 ansiadmin 계정을 사용하여 SSH 키 생성 및 노드 서버와 키 교환을 수행합니다.
1. SSH 키 생성
ssh-keygen -t rsa -b 4096 -C "ansiadmin@ass01"
2. SSH 키 배포 (Managed Node 등록)
ssh-copy-id ansiadmin@192.168.0.252
Ansible 플레이북 구성
1. 역할(Role) 기반 플레이북 작성
Ansible roles/common/tasks/main.yml 파일을 수정하여 NTP를 설치하고 구성합니다.
vim roles/common/tasks/main.yml
---
# Common role: NTP 패키지 설치 및 설정
- name: Install NTP package
yum:
name: ntp
state: present
tags: ntp
become: yes
become_method: sudo
- name: Configure NTP configuration file
template:
src: ntp.conf.j2
dest: /etc/ntp.conf
tags: ntp
become: yes
become_method: sudo
notify: Restart NTP service
- name: Start and enable NTP service
service:
name: ntpd
state: started
enabled: yes
tags: ntp
become: yes
become_method: sudo
- name: Check SELinux status
command: getenforce
register: sestatus
changed_when: false
become: yes
become_method: sudo
2 핸들러 설정 (roles/common/handlers/main.yml)
- notify: Restart NTP service 이벤트 발생 시 ntpd 서비스를 재시작
vim roles/common/handlers/main.yml
---
- name: Restart NTP service
service:
name: ntpd
state: restarted
become: yes
become_method: sudo
Ansible 플레이북 실행
1 Ansible Playbook 실행
ansible-playbook site.yml
2 실행 결과 예시
PLAY [Apply common configuration to all nodes] *********************************
TASK [setup] *******************************************************************
ok: [192.168.0.252]
TASK [common : Install NTP package] ********************************************
ok: [192.168.0.252]
TASK [common : Configure NTP configuration file] *******************************
changed: [192.168.0.252]
TASK [common : Start and enable NTP service] ***********************************
changed: [192.168.0.252]
TASK [common : Check SELinux status] *******************************************
ok: [192.168.0.252]
PLAY RECAP *********************************************************************
192.168.0.252 : ok=5 changed=2 unreachable=0 failed=0
Managed Node (192.168.0.252) 설정 확인
1 일반 계정(ansiadmin)에 sudo 권한 부여
- Ansible 실행 시 비밀번호 입력 없이 sudo 사용 가능
sudo visudo
ansiadmin ALL=(ALL) NOPASSWD: ALL
2 설치된 패키지 확인
rpm -qa | grep ntp
ntpdate-4.2.6p5-10.el6.centos.2.x86_64
ntp-4.2.6p5-10.el6.centos.2.x86_64
3 NTP 설정 파일 확인
cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
server 192.168.1.2
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
Ansible을 사용하여 일반 계정으로 효율적으로 NTP 패키지를 배포하고 설정할 수 있습니다.
728x90
반응형