Search

Ansible

우분투에 ansible설치

관리당하는 PC에서 할 것

1.
ansible에서 사용할 계정을 만든다
2.
Powershell 버전 확인
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. Try the new cross-platform PowerShell https://aka.ms/pscore6 PS C:\Users\vagrant> Get-Host | Select-Object Version Version ------- 5.1.19041.1237
PowerShell
복사
3.
.net 버전 확인
PS C:\Users\vagrant> Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match '^(?!S)\p{L}'} | Select PSChildName, version >> PSChildName Version ----------- ------- Client 4.8.04084 Full 4.8.04084 Client 4.0.0.0 PS C:\Users\vagrant>
PowerShell
복사
4.
WinRM Setup
PS C:\Users\vagrant> winrm qc
PowerShell
복사
5.
WinRM설정 확인
PS C:\Users\vagrant> winrm get winrm/config/Service Service RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) MaxConcurrentOperations = 4294967295 MaxConcurrentOperationsPerUser = 1500 EnumerationTimeoutms = 240000 MaxConnections = 300 MaxPacketRetrievalTimeSeconds = 120 AllowUnencrypted = true Auth Basic = true Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed DefaultPorts HTTP = 5985 HTTPS = 5986 IPv4Filter = * IPv6Filter = * EnableCompatibilityHttpListener = false EnableCompatibilityHttpsListener = false CertificateThumbprint AllowRemoteAccess = true PS C:\Users\vagrant> PS C:\Users\vagrant> winrm get winrm/config/Winrs Winrs AllowRemoteShellAccess = true IdleTimeout = 7200000 MaxConcurrentUsers = 2147483647 MaxShellRunTime = 2147483647 MaxProcessesPerShell = 2147483647 MaxMemoryPerShellMB = 2147483647 MaxShellsPerUser = 2147483647 PS C:\Users\vagrant> winrm enumerate winrm/config/Listener Listener Address = * Transport = HTTPS Port = 5986 Hostname = WIN10 Enabled = true URLPrefix = wsman CertificateThumbprint = F4D065F8FC6EE18F1F0FF9533584955D0C9B8E59 ListeningOn = 10.0.2.15, 127.0.0.1, 169.254.20.54, ::1, fe80::44a1:482d:5918:7cb4%4, fe80::d017:a935:ff50:4eb4%5
PowerShell
복사

관리할 PC (LINUX)에서 할 것

1.
windows폴더를 하나 만든다.
mkdir windows
Bash
복사
2.
inventory 파일을 생성한다
sudo vi windows/inventory
Bash
복사
3.
inventory파일 안에 다음 내용을 써 준다.
[windows] windows10 ansible_host=192.168.100.13 [windows:vars] ansible_user=ansible ansible_password=1234 ansible_port=5985 ansible_connection=winrm ansible_winrm_transport=basic ansible_winrm_server_cert_validation=ignore
Bash
복사
4.
windows폴더 안에 win_ping.yml 파일을 만들고 아래 내용을 써 준다.
--- - name: win_ping module demo hosts: windows become: false gather_facts: false tasks: - name: test connection ansible.windows.win_ping:
Bash
복사
5.
실행해서 테스트
ansible-playbook -i windows/inventory windows/win_ping.yml
Bash
복사
Windows서버에서 계속 아래처럼 나오면
—> Enable-PSRemoting -SkipNetworkProfileCheck -Force
mac에 ansible server 설치
brew install ansible
설치하면 ~/.ansible/ 폴더 안에 hosts파일을 만들어야 한다.
ansible-examples
ansible
최초
git clone 받기
이후
에이전트 서버 종료
게임서버 종료
git pull 받기 or 필요한 파일을 밀어 넣어주기
게임서버 시작
에이전트 서버 시작

win_git

WINDOWS에서 GIT을 사용하려면 아래 win_git을 설치해줘야 함.
관리 대상이 되는 PC /usr/share/ansible/plugins/module_utils 위치에 win_git.ps1를 복사해줄 것. 폴더 없으면 만들어서 복사
GIT은 대상이 되는 PC에 ansible계정에 SSH를 추가해준 뒤에 git을 한 번 실행시켜서 fingerprint를 등록해줘야 함
ansible-playbook -i windows/inventory windows/file_copy.yml