본문 바로가기

인프라/앤서블(Ansible)45

[ANSIBLE] 윈도우 업데이트 목록 추출하기 젠킨스를 통해서 윈도우 업데이트 목록을 추출할 수 있다. - hosts: all gather_facts: no vars: ansible_connection: winrm ansible_winrm_server_cert_validation: ignore ansible_winrm_scheme: http ansible_become: false ansible_winrm_transport: basic ansible_port: 5985 tasks: - name: windows update list win_shell: | Get-HotFix | ForEach-Object { [PSCustomObject]@{ FullName = hostname HotFixID = $_.HotFixID Date = (Get-Date $_... 2024. 3. 8.
[ANSIBLE] winrm or requests is not installed: No module named 'winrm' 해결방법 개요 ansible 신규 설치 후 윈도우 서버에 ansible playbook 수행시 다음과 같은 에러가 발생한다 winrm or requests is not installed: No module named 'winrm' 원인 ansible에서 구동되는 python버전과 서버에 설치된 python버전이 달라 pip을 통한 pywinrm 설치시 모듈이 없다고 인식하기 때문이다 위 내역을 보면 ansible python3.11.5를 사용한다고 나와있는데 서버에는 python3.6 pip를 사용하고 잇는 것이다. 그래서 다음과 같이 처리하였다. 해결방법 아래 명령어 수행 # python3.11설치 sudo dnf install python3.11 curl https://bootstrap.pypa.io/get-.. 2024. 2. 7.
[ANSIBLE] 앤서블 윈도우 task timeout 설정하기 playbook내 각 윈도우 task가 있다고 가정하면 한 task가 실행한 후 10~20초정도 멈췄다가 다음 task를 수행해야할 때가 있다. 방법은 pause 모듈을 사용하면 된다. - name: pause pause: seconds: 40 아래 코드는 exec cmd 테스크가 실행된 후 pause 테스크를 통해 40초 쉬었다가 get list of running processes를 수행하는 플레이북이다. --- - hosts: all gather_facts: no vars: ansible_connection: winrm ansible_winrm_server_cert_validation: ignore ansible_winrm_scheme: http ansible_become: false ansible.. 2023. 12. 11.
[ANSIBLE] 앤서블 그룹내 특정 호스트 제외하고 실행하기 앤서블 그룹내에 특정 호스트를 제외하고 실행하고 싶다. 예를들어 test_group이 아래와 같이 구성되어 있고 이중 AA를 제외 하고싶다. AA BB CC --limit 'test_group01:!AA' 옵션에서 으로 AA 호스트를 제외 처리 할 수 있다. ansible-playbook /data/ansible/win_ping.yml -i /data/ansible/hosts -f 20 -u test -k --limit 'test_group01:!AA' 앤서블 그룹내 호스트 2개이상 제외 처리하고 싶을 때 앤서블 그룹내 호스트를 2개이상 제외 처리하고 싶을때는 &연산자를 사용하며 !호스트명 을 써줘야한다. ansible-playbook /data/ansible/win_ping.yml -i /data/an.. 2023. 10. 5.
[ansible] 앤서블 윈도우 서버 파일 배포 실행하기 다수의 윈도우 서버에 배치파일이나 파워쉘스크립트를 배포하고 배포한 파일을 실행시킬 수 있다. 취약점점검파일을 배포 및 실행할 때 유용하게 사용할 수 있다. 윈도우 파일 배포는 win_copy 모듈을 사용했고 배포된 파일 실행은 win_shell 모듈을 사용하였다. 기본적으로 win_shell 모듈은 배치스크립트 실행이며, powershell 명령어나 파일을 실행하려면 앞에 powershell.exe를 붙여줘야한다. exec_status 변수를 추가하여 단순히 파일 배포만 하거나 파일 배포 후 스크립트파일 실행을 할 수 있도록 when으로 조건문을 추가하였다. --- - name: win_copy module demo hosts: all become: false gather_facts: false vars.. 2023. 9. 21.
반응형