1. Ana Sayfa
  2. DevOps
  3. Ansible ile Windows Sunucu Yönetimi

Ansible ile Windows Sunucu Yönetimi

ansible-windows

Bu yazım da size Windows sunucuya login bile olmadan bir kontrol makinası üzerinden nasıl Windows sunucuları konfigüre edip yönetebileceğimizi göstereceğim. ile ilgili olarak ’a giriş niteliğinde olan şu ve şu yazıları da inceleyebilirsiniz.

Ansible Linux sunucuları ssh ile Windows sunucuları da kullanarak yönetir. İlk olarak size ’den bahsetmek istiyorum. Vista/Server 2008 ve sonrası için adminlere uzaktan script çalıştırmamızı sağlayan özelliktir. , SOAP temelli WS-Management implemantasyonu olduğu için non-Windows ortamlar ile kullanılabilir. suncularda defaultta yüklü olarak gelir ancak Ansible kontrol makinasının connection kurması için enable edilip listener ve service konfigürasyon ayarları yapılmalıdır. Bunun için Ansible tarafından hazırlanan script’ı github’dan indirip kullanabilirsiniz. Bu script ile default portlar için http(5985) ve https(5986) listenerlar oluşturup basic authentication için service create edilir.

Resim -1

Listenerları ve servisi aşağıdaki komutlar ile kontrol edebilirsiniz.

winrm enumerate winrm/config/Listener

Resim -2

winrm get winrm/config/Service

winrm get winrm/config/Winrs

Resim -3

WinRM bağlantısını kontol etmek için remote sunucularda aşağıdaki komutlar çalıştırılabilir.

Linux => nc -z -w1 <IP or host name> 5985;echo $?

windows => Test-WSMan -ComputerName <IP or host name>

Resim – 4

/etc/ansible/hosts dosyamızı aşağıdaki gibi güncelliyorum. Variableları envanter dosyasında verilebileceğimiz gibi playbook içinde de tanımlayabiliriz.

[windows]

192.168.50.53

[windows:vars]

ansible_user=mshowto
ansible_password=Password1
ansible_connection=winrm
ansible_winrm_cert_validation=ignore

Ansible engine ile Python için winrm modülü yüklü halde gelmiyor bunun için pip ile yüklememiz gereklidir. Benim sunucumda pip daha önceden yüklü olmadığı için önce pip’i yükleyip ardından pip yardımıyla modülünü yükleyeceğim.

yum -y install python-pip

yum install python-devel

yum groupinstall ‘development tools’

pip install pywinrm

Şimdi ihtiyacımız olan gereksinimleri tamamladık. Ad-Hoc komut ile Ansible kontrol makinamızdan windows sunucuya komut gönderim testini yapalım.

Resim -5

Ben basit bir örnek olması için win_ modülünü kullanarak Windows sunucu üzerine notepad++ ve putty yükledim. Windows için paket yöneticisidir. Buradan paketleri inceleyebilirsiniz.

[root@ansible-master ansible]

# cat package.yml

– hosts: windows

  tasks:

  –  name: gerekli paketleri yükleme

  win_chocolatey:

    name: ‘{{ item }}’

    state: present

  with_items:

   – putty

   – notepadplusplus

Resim – 6

Çalıştırdığımız playbook Windows serverımız üzerinde iki tane değişiklik yaptı ve playbooktaki paketleri indirip sunucumuza kurdu. İhtiyaçlarınıza uygun Windows modüllerine bu linkten erişebilirsiniz. Göreceğiniz gibi birçok işlemi Windows sunucuya login bile olmadan Ansible kontrol makinası üzerinden yapabiliriz.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://www.mshowto.org

TAGs: Ansible, , Linux, , , WinRM, Chocolatey, pywinrm,

Yorum Yap

Yazar Hakkında

2016 yılında Yıldız Teknik Üniversitesi Elektronik ve Haberleşme Mühendisliğinden mezun oldum. Sonrasında Bilge Adamda 6 aylık sistem ve ağ uzmanlığı eğitimi alıdım. Bu eğitimde Microsoft On-Prem ürünlerini tecrübe ettim. Sonrasında da Vakifbank'ta Cloud & Linux Administrator olarak işe başladım. Storage ve sanallaştırma ekibindeyim. Storage tarafında EMC ve Hitachi ürünlerini SAN tarafında ise Brocade switchlerin yönetimini yapmaktayım. Bunlara ek olarak VMware ürünleri,ağırlıklı olarak Cisco UCS fiziksel sunucular ve Linux işletim sistemleri ile ilgilenmekteyim. VMware ürünlerinden de özellikle vRealize Orchestrator üzerine çalışmaktayım. Linuxlara işletim sistemi seviyesinde destek olmanın yanında Ansible üzerine yoğunlaşmış durumdayım.

Yorum Yap

Yorumlar (1)

  1. 8 ay önce

    Günün birinde Ansible Tower kullanmak isterseniz Windows sunucualarda erişimde sıkıntı kimlik doğrulamada sıkıntı yaşayabilirsiniz. Çözümü için aşağıdaki komut işinize yarayacaktır.

    winrm set winrm/config/service ‘@{AllowUnencrypted=“true”}’