
Packer를 사용하여 Windows Server 2019 및 Ansible을 프로비저너로 기반으로 AMI를 구축합니다.
이것은 provisioners
내 부분 입니다 packer-build.json
.
"provisioners": [
{
"type": "ansible",
"playbook_file": "./provisioners/ansible/ansible_playbook.yml",
"user": "Administrator",
"use_proxy": false,
"extra_arguments": ["-e", "ansible_winrm_server_cert_validation=ignore"]
}
]
이것은 나의 ansible_playbook.yml
:
---
- name: Jenkins node playbook
hosts: all
tasks:
- include_tasks: update_system.yml
- include_tasks: install_dependencies.yml
- include_tasks: create_user.yml
적어도 그것을 확인 update_system.yml
하고 install_dependencies.yml
성공적으로 실행할 수 있습니다.
이것은 나의 create_user.yml
:
---
- name: Ensure user jenkins is present
ansible.windows.win_user:
name: jenkins
password: ***REDACTED***
state: present
groups:
- Users
.
.
.
이 시점에서 오류가 발생합니다.
amazon-ebs: TASK [사용자 jenkins가 있는지 확인] ************************************** ****
amazon-ebs: 치명적: [기본값]: 도달할 수 없습니다! => {"changed": false, "msg": "basic: 삭제 표시된 레지스트리 키에 대해 잘못된 작업이 시도되었습니다. (확장 오류 데이터: {'transport_message': '서버에서 잘못된 HTTP 응답이 반환되었습니다. 코드 500 ', 'http_status_code': 500, 'wsmanfault_code': '2147943418', 'fault_code': 's:Receiver', 'fault_subcode': 'w:InternalError'})", "unreachable": true}
"삭제 표시된 레지스트리 키에 대해 시도된 불법 작업"에 대한 인터넷 검색 결과 유용한 정보가 나오지 않았습니다.
이 질문을 작성하는 동안 문제를 재현하고 더 빠른 결과를 얻기 위해 ansible_playbook.yml
다음에서 변경했습니다.
---
- name: Jenkins node playbook
hosts: all
tasks:
- include_tasks: update_system.yml
- include_tasks: install_dependencies.yml
- include_tasks: create_user.yml
에게
---
- name: Jenkins node playbook
hosts: all
tasks:
- include_tasks: create_user.yml
- include_tasks: update_system.yml
- include_tasks: install_dependencies.yml
그래서 create_user.yml
우선적으로.
결과: 오류를 더 이상 재현할 수 없습니다.
그런 다음 원래 구성으로 복원했는데 더 이상 오류가 발생하지 않았습니다.
그것은 나에게 전혀 이해가 되지 않으며 나는 그것을 신뢰하지 않습니다. 처럼 들리는데하이젠버그나에게.
이 오류는 무엇이며, 이 오류가 다시 발생하지 않도록 하려면 어떻게 해야 합니까?
@세미콜론update_system.yml
및 의 내용에 대해 댓글로 질문했습니다 install_dependencies.yml
.
---
- name: Install all critical and security updates
win_updates:
category_names:
- CriticalUpdates
- SecurityUpdates
state: installed
register: update_result
- name: Reboot host if required
win_reboot:
when: update_result.reboot_required
---
- name: Install AWS CLI
win_shell: Import-Module AWSPowerShell
- name: install the Win32-OpenSSH service
win_chocolatey:
name: openssh
package_params: /SSHServerFeature
state: present
- name: Install required software
win_chocolatey:
name: '{{ item }}'
state: present
loop:
- openjdk11
- maven
- git
- ghostscript
- imagemagick
- nodejs
- nuget.commandline
- visualstudio2017buildtools