Terraform ile nasıl örnek standalone sanal sunucu oluşturabilirim

Mantıksal olarak terraform dosyalarını yönetmek için ek yeni bir dosya olusturun, adına kolay anlaşılabilir olması için stadalonvm.tf verin.

ubuntu@terraformubuntu:~/vcd_lina_tenant$ tree
.
├── networks.tf
├── standalonvm.tf
├── terraform.tfstate
├── terraform.tfstate.backup
├── variables.tf
└── version.tf

Standalone sanal sunucu oluşturmak demek öncelikle olarak bir vApp oluşturmadan sanal sunucu oluşturmak anlamına geliyor.

standalonvm.tf dosyasını açın ve içersine aşağıdaki kod parçacağını ekleyin, ilgili parametreler aciklanmis olup ek parametreleri "terraform plan" dediğinizde veya 

#Standalone sanal sunucu oluşturalim
#https://registry.terraform.io/providers/vmware/vcd/latest/docs/resources/vm

    resource "vcd_vm" "DBServer1"{
      name="DBServer1"
      computer_name="DB1"
      description="TestStandaloneSanalSunucu"

#DorukCloud'da musterilerin hizli kurulum yapmalari için paylastirilmis kataloglardan biri ve o katalogdaki imajin adi verilmis

      catalog_name="Doruknet-Linux-Templates"
      template_name="vCD-Centos7-Minimal-Template"
      cpus=2
      memory=2048

#Zorunlu olmayan bir k/v fakat ozellikle sanal sunucularinizi kapatip acmaya gerek kalmadan ram/cpu eklemek icin kullanabilirsiniz

      cpu_hot_add_enabled=true
      memory_hot_add_enabled=true
      power_on=false

#Storage profile verilmesi zorunlu degil fakat birden fazla storage profile atanmis musteriler icin secimin nasil
#yapilabilecegini gostermek amaciyla eklenmistir.

      storage_profile="AllFlash7200-B-DSC-01"

#Sanal sunucuyu baglayacagimiz networku belirtin
#Asagida daha once terraform ile olusturulmus olan databasenetwork kaynaginda belirtilmis networke baglanacagimizi belirtiyoruz
#name burada birdegisken olarak geliyor ve DBNetwork1'i isaret ediyor...

    network{
      name=vcd_network_routed_v2.databasenetwork.name
      type="org"
      ip_allocation_mode="POOL"
    }

#Ozellestirme ise daha cok windows'lardaki sysprep gibi dersek bir cagirism yapabilir
#Burada kurmak istediğimiz Centos'un sifresinin otomatik atanmasini istiyoruz

    customization{
      enabled=true
      allow_local_admin_password=true
      auto_generate_password=true
    }

#Sunucu ile ilgili tag'lamanız gereken bilgiler var ise belirtebilirsiniz

    metadata={
      role="web"
      env="staging"
      version="v1"
      my_key="myvalue"
    }

}

Yazdığınız koda ait herhangi bir yazım hatası olup olmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz. İlgili komut aynı zamanda size insan'ın okuyabileceği şekilde :D state ve plan dosyasını çıktısını verecektir.

ubuntu@terraformubuntu:~/vcd_lina_tenant$ terraform show

Sırasıyla plan ve apply komutlarını işletin, plan parameteresini verdiğinizde daha yukarıda belirttiğim gibi set edebileceğiniz veya sonradan gözükecek diğer değişkenleride size listeleyecek, aşağıda ufak bir pasaj mevcut.

ubuntu@terraformubuntu:~/vcd_lina_tenant$ terraform plan

Terraform will perform the following actions:

  # vcd_vm.WebServer1 will be created
  + resource "vcd_vm" "WebServer1" {
      + accept_all_eulas               = true
      + catalog_name                   = "Doruknet-Linux-Templates"
      + computer_name                  = "Web1"
      + cpu_cores                      = (known after apply)
      + cpu_hot_add_enabled            = true
      + cpus                           = 2
      + description                    = "TestStandaloneSanalSunucu"
      + expose_hardware_virtualization = false
      + hardware_version               = (known after apply)
      + href                           = (known after apply)
      + id                             = (known after apply)
      + internal_disk                  = (known after apply)
      + memory                         = 2048
      + memory_hot_add_enabled         = true
      + metadata                       = {
          + "env"     = "staging"
          + "my_key"  = "myvalue"
          + "role"    = "web"
          + "version" = "v1"
        }
      + name                           = "WebServer1"
      + os_type                        = (known after apply)

Şimdi apply edip sanal sunucunun olustuğunu görelim

ubuntu@terraformubuntu:~/vcd_lina_tenant$ terraform apply

Aşağıdaki gibi ciktilar göreceksiniz

Plan: 1 to add, 0 to change, 0 to destroy.

Do you want to perform these actions?
  Terraform will perform the actions described above.
  Only 'yes' will be accepted to approve.

  Enter a value: yes

vcd_vm.WebServer1: Creating...
vcd_vm.WebServer1: Still creating... [10s elapsed]
vcd_vm.WebServer1: Still creating... [20s elapsed]
vcd_vm.WebServer1: Still creating... [30s elapsed]
vcd_vm.WebServer1: Still creating... [40s elapsed]
vcd_vm.WebServer1: Still creating... [50s elapsed]
vcd_vm.WebServer1: Still creating... [1m0s elapsed]

İşlem başarılı ile sonlandıktan sonra sanal sunucuyu DorukCloud VMware Cloud Director portalında görebilirsiniz.

Dikkat ederseniz cpu kaynağı halen "1" olarak gözüküyor, bunun güncellenmesi için tekrardan "terraform apply" komutunu çalıştırın.

Not : Örnek olarak verilen kod parçacıkları, değişkenler, UI üzerinde görülen isimler ve dosya isimleri çeşitli makalelerde değişiklik gösterebilir, tüm kod parçacıklarının son hali için github adresine bakabilirsiniz.

Geri bildirim

Bu makaleyle ilgili bir sorun bulursanız ve/veya hizmetlerimizden herhangi birini nasıl iyileştirebileceğimize dair bir fikriniz varsa, info@doruk.net adresine bir e-posta gönderin.

 

 

Bu cevap yeterince yardımcı oldu mu? 0 Bu dökümanı faydalı bulan kullanıcılar: (3 Oy)