Terraform nedir?
Terraform, sistem altyapınızı(infrastructure) inşa etmek, değiştirmek ve versiyonlamak için kullanılan geliştirilmeye hızla devam edilen güvenli ve verimli bir araçtır. Ayrıntılı bilgi ve gelişimi için bu sayfayı inceleyebilirsiniz.
Özellikle cloud provider’lardan aws kullanıyorsanız neredeyse tüm resource’ları (Infrastructure as Code) mantığı ile yönetebiliyorsunuz. Bunun yanında fiziksel makineleri,VM,network switchleri ve container’larıda yönetebilirsiniz. Ayrıca örnek vermem gerekirse CloudFlare,Atlas,DigitalOcean,Docker,Google Cloud,VMware vSphere,Azure,DNS gibi birçok provider ve in-house sistemleri yönetebilirsiniz. Tüm liste için bu sayfayı inceleyebilirsiniz.
Terraform Nasıl Kurulur?
Terraform şuan Mac OS X,FreeBSD,Linux,OpenBSD,Solaris,Windows sistemlerde kullanılabiliyor.Linux ve FreeBSD’de Arm işlemci desteğide var.
Ben kurulumu centos sistem üzerinde gerçekleştirdim fakat siz bu sistemlerden herhangi birinde kurulumu gerçekleştirebilirsiniz.
Bu sayfadan istediğimiz platform için kaynak dosyayı indirmemiz ve PATH ayarı yapmamız yeterli oluyor.
1 |
mkdir -p /usr/local/terraform/bin |
1 |
cd /usr/local/terraform/bin;wget https://releases.hashicorp.com/terraform/0.7.7/terraform_0.7.7_linux_amd64.zip |
Linux/Mac için örnek PATH düzenlemesi.
1 |
PATH=/usr/local/terraform/bin:/home/your-user-name/terraform:$PATH |
daha sonrasında kurulumu verify edebiliriz bunun için konsol’da
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ terraform usage: terraform [--version] [--help] <command> [<args>] Available commands are: apply Builds or changes infrastructure destroy Destroy Terraform-managed infrastructure get Download and install modules for the configuration graph Create a visual graph of Terraform resources init Initializes Terraform configuration from a module output Read an output from a state file plan Generate and show an execution plan push Upload this Terraform module to Atlas to run refresh Update local state file against real resources remote Configure remote state storage show Inspect Terraform state or plan taint Manually mark a resource for recreation validate Validates the Terraform files version Prints the Terraform version |
ekranını görüyorsak kurulum problemsiz tamamlanmıştır.
Örnek yapılandırma:
aws üzerinde instance oluşturmak.(Bunun için amazon hesabınızın olduğunu kabul ediyorum. Hesabınız yok ise bu adresten free tier hesap açabilirsiniz.)
1 2 3 4 5 6 7 8 9 10 |
provider "aws" { access_key = "ACCESS_KEY_HERE" secret_key = "SECRET_KEY_HERE" region = "us-east-1" } resource "aws_instance" "example" { ami = "ami-0d729a60" instance_type = "t2.micro" } |
tüm resource yönetimi için bu sayfayı inceleyebilirsiniz.
So, what do you think ?