Hizmet sağladığımız ortamlar her geçen gün büyümekte ve ortamımıza yeni  sunucular eklenmektedir.
Yeni  sunucuları her defasında iso bağlayıp kurmak ve yapılandırmak uzun sürebilmektedir.
Bu durumda ihtiyaçlarımız doğrultusunda template hazırlayıp süreci hızlandırabiliriz.
Template’i hazırladık ve ihtiyacımız olan yeni  sunucuları kurmaya hazır durumdayız. Ancak template’i kullanarak klonladığımız sunucularda ip verme ve domaine alma gibi işlemleri şuan için manuel yapmaktayız.
Bu işlemleri manuel yapmak yerine belirli konfigürasyonları kullanarak otomatize etmek süreci dahada iyi bir hale getirecektir.

İşte bu noktada bize ansible yardımcı olmaktadır. Ansible community.vmware modulü ile vmware ortamlarımızı yönetebilmekteyiz.
Ben bu makalede örnek olarak Windows  Server 2019 template’i oluşturarak sunucu deploy işlemini inceliyor olacağım.

Öncelikle normal bir sunucu kurulumu gerçekleştirerek  VMware tools yüklemeliyiz. Ardından ihtiyacınız olan diğer yapılandırmalarıda sırayla yapabilirsiniz. Ben sunucu kurulumuna burada yer vermeyeceğim. Aşağıdaki link üzerinden inceleyebilirsiniz.

Template oluşturma hk: https://azurearcjumpstart.com/azure_arc_jumpstart/azure_arc_servers/vmware/vmware_terraform_winsrv/vmware_winsrv2k19_template

NOT: Yapılandırma işlemleri tamamlandıktan sonra sunucuya sysprep atmadan shutdown yapmanız gerekmektedir.
Sysprep işlemini pyvmomi paketi gerçekleştirmektedir.

Gereksinimler

dnf install ansible-core
dnf install python3.12-requests
dnf install python3.12-pip
pip3 install pyvmomi
ansible-galaxy collection install community.vmware

ansible –version komutuyla yüklü olan ansible versiyonunu görüntüleyebilirsiniz.

ansible-galaxy collection list komutu ile yüklü modülleri görüntüleyebiliriz.

vars.yml dosyasında oluşturulacak olan sunucuya ait parametreler bulunmaktadır. İhtiyaçlarına göre düzenleyebilirsiniz.

deployvm.yml playbook içinde bulunan parametrelerimiz aşağıdaki gibidir;

vi password.yml komutu ile yeni bir yml dosyası açılarak vcenter_password ve domain_adminpassword bilgileri girilir.

ansible-vault encrypt password.yml komutu ile password.yml içindeki bilgiler şifrelenir. Burada girilen şifre unutulmamalıdır. Playbook çalıştırılırken kullanılacaktır.

Şifreleme işleminden sonra password.yml dosyasının içeriği aşağıdaki gibi görüntülenmektedir.

ansible-playbook deployvm.yml –ask-vault-pass komutu ile deploy işlemi başlatılır. Komutun sonuna -vvv eklenerek detaylı log aktif edilebilir.

Belirlemiş olduğumuz parametrelere göre konfigürasyon işlemi başlatılmıştır.

Aşağıdaki logda sysprep işlemine ait detaylar bulunmaktadır.

Sunucudaki yapılandırma işlemleri başarılı bir şekilde tamamlanmıştır.

Bu makalede ansible ile sunucu deploy ve yapılandırma işlemini inceledik. Sağlıkla kalın…

reference:https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/installing_and_using_dynamic_programming_languages/assembly_installing-and-using-python_installing-and-using-dynamic-programming-languages#proc_installing-additional-python-3-packages_assembly_installing-and-using-python
reference:https://docs.ansible.com/ansible/latest/collections/community/vmware/vmware_guest_module.html#ansible-collections-community-vmware-vmware-guest-module-parameter-customization-joinworkgroup
reference: https://docs.ansible.com/ansible/5/user_guide/vault.html

Yazar: Mutlu BALIK