우분투에 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파일을 만들어야 한다.
최초
•
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