실습 Ansible - Windows 모듈 개발 - 1
페이지 정보
작성자 snow 작성일 24-12-06 09:15 조회 153 댓글 0본문
Ansible Windows 모듈 개발 - 1
이 게시글에서는 Ansible Windows 모듈 개발에 대한 문서를 살펴보고, 예시만 안내드리는 글입니다.
1. Windows 환경 설정
Ansible Windows 모듈은 PowerShell로 작성되며 Windows 호스트에서 실행되어야 합니다. 따라서 Python 모듈 개발과는 달리 Windows 전용 환경 구성이 필요합니다. Windows 평가판 이미지를 Microsoft에서 다운로드할 수 있지만, Ansible 사용을 위해 추가적인 설정이 필요합니다. 가장 쉬운 방법은 Vagrant와 VirtualBox를 사용하여 가상 머신(VM)을 설정하는 것입니다.
Vagrant를 사용하면 미리 생성된 운영 체제 이미지를 배포할 수 있으며, 이를 box라고 부릅니다. 예제에서는 packer-windoze 저장소의 Vagrant box를 사용합니다. 해당 box는 Vagrant Cloud에 업로드되어 있으며, 사용하기 위해 필요한 소프트웨어는 다음과 같습니다.
- Vagrant
- VirtualBox
2. Windows 서버 생성
Windows Server 2016 인스턴스를 생성하려면 다음 명령을 실행하세요:
```bash
vagrant init jborean93/WindowsServer2016
vagrant up
```
위 명령을 실행하면 Vagrant Cloud에서 box를 다운로드하고 VirtualBox에 인스턴스를 생성합니다. 처음 실행 시 sysprep 프로세스를 거치며 WinRM 리스너가 자동으로 구성됩니다. 이 과정이 완료되면 Ansible로 사용할 준비가 완료됩니다.
3. Ansible 인벤토리 작성
새로 생성된 Windows VM에 연결하기 위해 다음과 같은 Ansible 인벤토리 파일을 작성합니다:
```ini
[windows]
WindowsServeransible_host=127.0.0.1
[windows:vars]
ansible_user=vagrant
ansible_password=vagrant
ansible_port=55986
ansible_connection=winrm
ansible_winrm_transport=ntlm
ansible_winrm_server_cert_validation=ignore
```
포트 55986은 Vagrant가 자동으로 전달하는 포트입니다. 만약 충돌이 발생하면 Vagrant가 다른 포트를 사용하며, 해당 정보를 출력에 표시합니다.
4. 복합 환경 설정
단일 인스턴스뿐만 아니라 도메인 환경을 설정하기 위해 다음 파일들을 사용할 수 있습니다:
- Vagrantfile
- inventory.yml
- main.yml
이 환경은 다음 구성을 포함합니다:
- Windows Server 2016을 실행하는 도메인 컨트롤러
- 각 주요 버전에 대해 도메인에 연결된 5개의 자식 호스트
- 도메인 이름: domain.local
- 로컬 관리자 계정: vagrant/vagrant
- 도메인 관리자 계정: vagrant-domain@domain.local / VagrantPass1
환경을 프로비저닝하려면 다음 명령을 실행하세요:
```bash
git clone https://github.com/jborean93/ansible-windows.git
cd vagrant
vagrant up
```
이 명령을 통해 설정이 완료됩니다. 설정 중 문제가 발생하면
vagrant provision
명령으로 프로비저닝 단계를 다시 실행할 수 있습니다.
5. 마무리
이 가이드는 Ansible Windows 모듈 개발의 환경 설정과 초기 단계에 대한 개요를 제공합니다. 추가적으로 모듈 테스트와 디버깅 방법은 실제 프로젝트 환경에 따라 다를 수 있으니 세부적인 요구사항을 고려하여 적용하시기 바랍니다.
관련링크
댓글목록 0
등록된 댓글이 없습니다.