Vmware

Ansible Kullanarak VMware ESXI Üzerinde Port Grup Oluşturma

VMware Standard Switch kullandığınız ortamlarda port grup oluşturmalarını ansible üzerinden nasıl yapabiliriz bunun üzerine bir yazı olacak.

Genelde trunk çalışan portlara bağlı vswitch’ler üzerinde ilk kurulum sırasında yapılan port grup tanımlar harici çok fazla yeni talep gelmez . Fakat bazı durumlar da yeni başlayan projeler için özel subnet lerde ve yeni VLAN’arda çalışma talepleri gelebiliyor. Bu gibi durumlarda ilgili VLAN’ı vswitch üzerinde port grup olarak eklemeniz gerekecektir. Bu işi nasıl otomatize edebiliriz diye düşünüldüğünde ilk akla gelen şey PowerCLI fakat ben burada ansible kullanak istedim. Temel motivasyon ise GUI üzerinden RBAC özelliği sayesinde bu operasyonu kendim değil L1 deki arkadaşlar üzerinden yönetmek ve iş yükünü azaltmak. Bu sayede L1 seviyesindeki arkadaşlar hiçbir kullanıcı adı yada şifre bilmeden hatta platformun arayüzünü bile görmeden hızlıca istenilen port grubu oluşturabilecekler.

Bu açıdan faydalı bulacağınıza inanıyorum.

Ön Gereksinimler:

  1. Ansible uygulamasının kurulu olduğu sunucuya vmware tarafından geliltirilen bir framework olan PyVmomi nin kurulu olması lazım.
  2. Pyhton 2.6 üstü bir versiyonda çalışmanız gerekiyor

PvVmomi detayları için BURAYA tıklayabilirsiniz.

Host, username ve Password değişkenlerini playbook içerisinde default olarak tanımlıyorum fakat aynı host üzerinde birden fazla virtual switch var ise bunları dinamik olarak yönetmek için switch name, port grup name ve Vlan ID değişklenlerini template run edilince manuel olarak girilmesini talep edeceğiz.

Hemen işe playbook hazırlayarak başlıyoruz.

- name: Pyvmomi Uzerinden baglan
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
    hosts: farukdemoesx
    username: root
    password: buraya_sifre_girin
    dumpfacts: False
  tasks:
    - name: Add Management Network VM Portgroup
      vmware_portgroup:
        hosts: "{{ hosts }}"
        hostname: "{{ hosts }}"
        username: "{{ username }}"
        password: "{{ password }}"
        switch_name: "{{ vswitch_name }}"
        portgroup_name: "{{ portgroup_name }}"
        vlan_id: "{{ vlan_id }}"
        validate_certs: false

Playbook’umuz hazır olduktan sonra. AWX üzerinde ESXI Add Port Grup adında bir template oluşturuyoruz ve Playbook olarak hazırladığımız YAML dosyasını gösteriyoruz.

Edit Survey diyerek playbook içerisinde tanımladığımız değişkenleri template çalıştırılınca bize sorması için survey olarak ekliyoruz. Variable name kısmında playbook içerisinde tanımladığınız bire bir aynı variable tanımlarını girmek burada çok önemli.

Artık Template’imiz hazır.

Tempalet’imizi RUN ediyoruz ve daha önceden tanımladığımız survery sorularına cevap veriyoruz.

Playbook’umuz çalışıyor, jobs altından kontrol ediyoruz ve erhangi bir hata almadığımıza emin oluyoruz.

ESXI Host’umuza bağlanıp kontrol edebilirz. Gördüğünüz gibi Port grup başarılı bir şekilde eklenmiş.

About the author

Faruk TERZIOGLU

Faruk TERZIOGLU - 2003 senesinden beri aktif olarak bilgi teknolojileri sektöründe çalıyor. Uzmanlık alanları BT altyapı çözümleri ve yazılım tanımlı veri merkezi teknolojileri, Microsoft ailesi ürünleri, Açık kaynak kodlu sanallaştırma platformları ve uygulamaları olup bulut teknolojileri öncelikli ilgilendiği alanlar arasındadır. 2018 yılında Alibaba Cloud tarafından Bulut Teknolojileri Çözümleri alanında MVP, 2019 Yılında VMware tarafından vExpert ilan edilmiştir.

Leave a Comment