티스토리 뷰

반응형

Ansible로 Windows 업데이트를 진행할 수 있는 모듈인 win_updates 모듈이 존재합니다

 

일반적인 상황으로는 아래처럼 진행할 것 같습니다.

1. Windows 서버에서 업데이트 할 KB 번호 확인

2. Playbook 작업

---
- hosts: WINBB1RD
  tasks:
  - name: Install only particular updates based on the KB numbers
    ansible.windows.win_updates:
      category_names: '*'
      accept_list:
      - KB4535680
      reboot: true
    register: updatePatch
  - debug: var=updatePatch

 

3. Playbook 실행

4. Playbook 결과

설치가 되었다고 출력됩니다.

5. Windows Server 업데이트 결과

하지만 그대로....

 

문제 파악

4번과 5번을 비교하면, Ansible로는 업데이트가 성공되었다고 하지만, Windows Server에서는 안된 상태입니다.

하지만 안된 이유는 Ansible 문제가 아닌 Windows 모듈 문제였습니다.

PSWindowsUpdate라는 모듈을 설치해주면 정상 작동하며, 서버를 통해 직접 모듈을 설치하거나 Playbook으로 설치를 진행해주면 됩니다.

하지만 PSWindowsUpdate 모듈이 설치되지 않은 상태에서 ansible의 win_updates로 업데이트를 한 패치는 Playbook으로 업데이트가 되지 않은 상태입니다. 추후 확인이 된다면 공유드리겠습니다.

아래 내용은 Ansible을 이용하여 바로 모듈을 설치하는 Playbook을 사용하여 진행하도록 하겠습니다.

해결 방법

1. 업데이트 할 KB 번호 확인

 

2. Playbook 작업

---
- hosts: WINBB1RD
  gather_facts: false
  tasks:
  - name: Install PSWindowsUpdates
    win_shell: Install-Module -Name PSWindowsUpdate -Force
  - name: Install only particular updates based on the KB numbers
    ansible.windows.win_updates:
      category_names: '*'
      accept_list:
      - KB5015811
      reboot: true
    register: updatePatch
  - debug: var=updatePatch

 

2. Playbook 실행

 

3. Playbook 결과

 

4. Windows Server 업데이트 결과

반응형

'프로그래밍 > Ansible' 카테고리의 다른 글

[AAP2.x] Ansible Runner - kr  (0) 2022.08.02
[AAP2.x] Automation Mesh란? - kr  (0) 2022.07.31
winrm or requests is not installed: No module named 'winrm'  (0) 2022.07.22
2. Ansible 설치(on CentOS7)  (0) 2022.03.07
1. Ansible이란?  (0) 2022.02.22
댓글