https://www.inflearn.com/course/ansible-%EC%9D%91%EC%9A%A9/dashboard
윈도우 노드 패키지 설치 방법
Chocolatey란?
윈도우에서 사용가능한 리눅스의 yum이나 apt와 같은 역할을 하는 명령어 기반의 패키지 관리자
윈도우용 nginx는 실행파일 즉 바이너리 파일로 설치가 제공되기 때문에 Chocolatey로 설치가 불가능하지만 NSSM을 Chocolatey로 설치하여 NSSM을 통해 바이너리 파일을 윈도우 서비스에 등록할 것이다.
NSSM(Non-Sucking Server Manage)
바로 실행되는 바이너리 파일을 윈도우 서비스에 등록하여 서비스 레벨로 관리를 도와주는 프로그램
nginx.exe 파일이 nginx 서비스를 실행하게 해준다. 이 파일이 NSSM을 통해서 윈도우 서비스에 등록되는 것이다.
이러한 과정을 플레이북에 작성하여 nginx를 윈도우 노드에 구성할 것이다.
윈도우 노드에 Nginx 서버 구성
- name: Install nginx on windows
hosts: Win
gather_facts: no
tasks:
- name: Download nginx
win_get_url:
url: http://nginx.org/download/nginx-1.12.1.zip
dest: C:\tmp\nginx-1.12.1.zip
- name: Create directory
win_file:
path: C:\nginx
state: directory
- name: Unzip nginx
win_unzip:
src: C:\tmp\nginx-1.12.1.zip
dest: C:\nginx
- name: Install NSSM
win_chocolatey:
name: nssm
- name: Download new index.html
win_get_url:
url: https://www.nginx.com
dest: C:\nginx\nginx-1.12.1\html\index.html
- name: Restart nginx service
win_nssm:
name: nginx
application: C:\nginx\nginx-1.12.1\nginx.exe
state: restarted
기존의 nginx_install.yml 파일에 위 내용을 추가한다.
win_get_url 모듈을 사용하여 nginx 바이너리 압축 파일을 다운로드 받는다.
win_file 모듈로 nginx 바이너리 압축을 해제할 디렉토리를 생성한다.
win_unzip 모듈로 바이너리 압축을 해제한다.
win_chocolatey를 사용하여 NSSM을 설치한다.
win_get_url을 사용하여 메인페이지로 사용할 index.html을 다운받는다.
win_nssm을 사용하여 nginx.exe를 서비스로 등록하여 재시작해준다.
# anp nginx_install.yml
window 노드에 nginx를 설치해준다.
192.168.1.15로 접속을 테스트해본다.
윈도우 노드 timezone 변경하기
tzutil /l | find "Korea" 명령어로 한국의 시간대 이름을 찾을 수 있다.
- name: Setup windows timezone
hosts: Win
gather_facts: no
tasks:
- name: set timezone to 'Korea Standard Time'
win_timezone:
timezone: Korea Standard Time
한국의 시간대 이름으로 설정하기 위한 yml 코드를 기존의 timezone.yml 파일에 추가한다.
윈도우의 변경된 시간을 확인하기 위해 virtual box에서 Node05에 대해 보이기를 클릭한다.
시간이 위와 같이 변경된 것을 볼 수 있다.
윈도우 노드에 NFS 클라이언트 설치하기
GUI로 NFS 클라이언트 설치하는 법 살펴보기
위와 같이 설치하면 cmd창에서 mount 명령어를 리눅스와 동일하게 사용이 가능해진다.
nfs.yml 파일 수정하기
- name: Setup for nfs windows clients
hosts: Win
gather_facts: no
tasks:
- name: mount feature on
win_feature:
name: NFS-Client
state: present
- name: mount nfs_shared
win_command: net use "z:" "\\192.168.1.10/home/vagrant/nfs_shared"
- name: windows reboot
win_reboot:
win_feature 모듈을 사용하여 NFS-Clinet 기능을 추가한다.
win_command 모듈에서 net use를 사용하면 영구적으로 nfs_shared 디렉토리와 영구적으로 마운트 시킬 수 있다.
mount 명령어는 일회성 마운트로 재부팅하면 마운트가 풀리게 된다.
윈도우에서 net use를 사용하면 알 수 없는 원인에 의해서 정상적으로 마운트 되지 않기 때문에 win_reboot을 통해 시스템을 재부팅하여 해결한다.
# anp nfs.yml -k
플레이북 작성을 마치면 위 명령어로 플레이북 구성을 시작한다.
구성을 마치고 윈도우 노드에 접속하여 확인해보면 Z 볼룸에 nfs_shared가 마운트된 것을 볼 수 있다.
'Ansible' 카테고리의 다른 글
Ansible 서버 Known_hosts에 node 등록 자동화 (0) | 2021.07.21 |
---|---|
Ansible 사용시 유용한 디버그 기능 (0) | 2021.07.20 |
기존 구성에 Window Server node 추가 및 서버 구성 (0) | 2021.07.17 |
기존 구성에 Ubuntu node 추가 및 서버 구성 (0) | 2021.07.16 |
Vagrant로 구성한 CentOS 관리하기 (0) | 2021.07.15 |