Ürünlerimiz Çözümlerimiz İletişim EN

OpenStack’te Terraform ile Nasıl Özel Ortam Kurarsınız?

 

Bu yazı, Terraform ile OpenStack ortamını yönetmek için size yol göstermesi amacıyla yazılmıştır. Terraform, altyapı yönetimi için oldukça güçlü ve yetenekli bir otomasyon aracıdır ve Terraform’u AWS veya GCP gibi hemen hemen tüm bulut servis sağlayıcıları ile kullanabilirsiniz. Bu yazıda Terraform kurulumu, altyapısında OpenStack kullanılan SkyAtlas projesi üzerinden anlatılmıştır.


Öncelikle Terraform’u yükleyerek başlıyoruz. Linux’a nasıl kurulum yapıldığını aşağıda görüyorsunuz, fakat yine de en güncel kurulum şekli için Terraform web sitesini kontrol etmenizi öneririm.


$ wget https://releases.hashicorp.com/terraform/0.12.16/terraform_0.12.16_linux_amd64.zip
$ unzip terraform_0.12.16_linux_amd64.zip
$ sudo mv terraform /usr/local/bin/


Kimlik doğrulaması için bir RC dosyası kullanıyoruz. Bu dosyayı almak için SkyAtlas kontrol paneline giriş yapıyorum.



Ardından, açılır menüdeki Project sekmesine gidip, Compute sekmesini açarak, Access & Security bağlantısına tıklıyoruz. API Access sekmesinde Download OpenStack RC File’a tıklayıp dosyayı kaydediyoruz. (Her iki sürüm de Terraform tarafından desteklenmektedir.) Dosya adı PROJECT-openrc.sh biçiminde olacaktır; burada PROJECT, dosyayı indirdiğiniz projenin adıdır.



Dosyayı source ettiğinizde, hesap şifrenizi sorar. Doğru şifreyi girdikten sonra, ortam değişkenleri ve mevcut shell için kimlik bilgileriniz ayarlanır.


$ source PATH_OF_THE_RC_FILE.sh

Sonra Terraform yapılandırma dosyalarını GitLab’dan alıyoruz. Bu dosyalar, tüm değişkenlerin OpenStack RC dosyasıyla uyumlu olduğu platforma hazır örnek yapılandırmalar içeriyor.


$ git clone https://gitlab.com/itsmeoz/skyatlas_compute_cluster.git

İşlem bitince, kurulum yapmak istediğimiz (deploy) klasöre gidiyoruz:


$ cd instance_with_lb

Aşağıdaki örnekte, iki yük dengeleyici (load balancer), iki ayrı ağ (network) ve bu ağlara bağlı iki farklı sanal sunucu (instance) grubu kuracağız:



Terraform’un önce sağlayıcı eklentilerini indirmesi gerekiyor.


$ terraform init

Kuruluma (deployment) başlamadan önce bir planımız olsa güzel olurdu, değil mi? Terraform plan komutu, gerçekleştirilecek eylemler için çıktı sağlayacak bir yürütme planı oluşturur.


Aşağıdaki komutu kopyalayıp yapıştırmanız yeterlidir, zaten kaynak yaparsanız rc dosyanızla birlikte çalışır.


$ terraform plan 

\-var os_username=$OS_USERNAME
\-var os_project_name=$OS_PROJECT_NAME
\-var os_password_input=$OS_PASSWORD_INPUT
\-var os_auth_url=$OS_AUTH_URL
\-var os_region_name=$OS_REGION_NAME
\-var ssh_key_file=~/.ssh/id_rsa

Not: Yukarıdaki komut, ana dizininiz ~/.ssh/id_rsa’ altında bir ssh-key dosyanız olduğunu varsayar. Eğer yoksa veya farklı bir key dosyası kullanmak istiyorsanız, yolu (path) değiştirmek gerekir.


Terraform plan çıktısından memnunsanız, ortamınızı kurmaya hazırsınız demektir.


Uyarı: Buradan sonraki adımlar, maliyet yaratan kaynaklar oluşturabilir.


Ortamımızı kurmak için, şu komutu çalıştırıyoruz:


$ terraform apply 

\
-var os_username=$OS_USERNAME
\
-var os_project_name=$OS_PROJECT_NAME
\
-var os_password_input=$OS_PASSWORD_INPUT
\
-var os_auth_url=$OS_AUTH_URL
\
-var os_region_name=$OS_REGION_NAME
\
-var ssh_key_file=~/.ssh/id_rsa

İşlem bitince, tüm altyapıyı silebiliriz:


$ terraform destroy 

\
-var os_username=$OS_USERNAME
\
-var os_project_name=$OS_PROJECT_NAME
\
-var os_password_input=$OS_PASSWORD_INPUT
\
-var os_auth_url=$OS_AUTH_URL
\
-var os_region_name=$OS_REGION_NAME
\
-var ssh_key_file=~/.ssh/id_rsa

Uyarı: Terraform destroy komutunun, güvenlik nedeniyle, sanal sunucularınızın blok depolama alanlarını (volume) yok etmeyeceğini; eğer bunlara ihtiyacınız yoksa, kodu değiştirebileceğinizi veya bu blok depolama alanlarını elle silebileceğinizi unutmayın.


Video, işlemin adımlarını ve işlem sırasında karşılaşabileceğiniz olası hataları göstermektedir.



Yazan: Onur Özkan

Yayınlanma Tarihi: 16.01.2020
 
%d blogcu bunu beğendi: