Terraform ve GitHub Actions ile IaC
Altyapıyı hazırlamak ve yönetmek için Terraform'u GitHub Actions iş akışlarınıza nasıl entegre edeceğinizi anlayın.
Terraform ve GitHub Actions ile IaC, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Kod Olarak Altyapı (IaC)
Hoş geldiniz! Bu derste Kod Olarak Altyapı (IaC) konusunu ayrıntılı olarak inceleyeceğiz. Bu yaklaşım; sunucular, veritabanları ve ağlar gibi altyapınızı elle gerçekleştirilen işlemler yerine kod kullanarak yönetmek ve hazırlamak anlamına gelir.
Bunu altyapınız için yazılım yazmak gibi düşünebilirsiniz. Bu yaklaşım, tüm kurulumunuz için tutarlılık, tekrarlanabilirlik ve sürüm denetimi gibi birçok fayda sağlar.
IaC için Terraform'u Tanıyın
IaC için en popüler araçlardan biri, HashiCorp tarafından geliştirilen açık kaynaklı Terraform'dur.
Terraform, altyapı kaynaklarınızı insanların okuyabileceği yapılandırma dosyalarında tanımlamanıza olanak tanır. Ardından bu dosyaları kullanarak çeşitli bulut sağlayıcıları (AWS, Azure, GCP) ve diğer hizmetlerde kaynakları hazırlar ve yönetir.
Terraform'un HCL Sözdizimi
Terraform, HashiCorp Configuration Language (HCL) adı verilen kendi bildirimsel dilini kullanır. HCL, insanların kolayca okuyup yazabileceği şekilde tasarlanmıştır ve altyapı tanımlarınızı anlaşılır kılar.
Aşağıda bir AWS VPC'si (Sanal Özel Bulut) tanımlayan küçük bir HCL örneği yer alıyor:
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
tags = {
Name = "my-vpc"
}
}Terraform'un Temel İş Akışı
Terraform, altyapınızı yönetmek için tutarlı üç adımlı bir iş akışı izler:
terraform init: Çalışma dizininizi başlatır ve gerekli sağlayıcı eklentilerini indirir.terraform plan: Terraform'un altyapınızda yapacağı değişiklikleri gösteren bir yürütme planı oluşturur.terraform apply: Planda belirtilen değişiklikleri yürütür ve kaynaklarınızı hazırlar veya değiştirir.
GitHub Actions ile Otomasyon
Terraform'u GitHub Actions ile entegre etmek IaC stratejinizi güçlendirir. Altyapı dağıtım işlem hattınızdaki kritik adımları otomatikleştirmenizi sağlar.
GitHub Actions ile şunları yapabilirsiniz:
- Her çekme isteğinde
terraform plankomutunu otomatik olarak çalıştırabilirsiniz. - Altyapı değişikliklerinin incelenmesini ve onaylanmasını sağlayabilirsiniz.
- Kontrollü dağıtımlar için
terraform applykomutunu otomatikleştirebilirsiniz.
Terraform İş Akışı Dosyanız
Terraform için bir GitHub Actions iş akışı, deponuzun .github/workflows/ dizinindeki bir YAML dosyasında tanımlanır. Bu dosya, iş akışının ne zaman çalışacağını ve hangi adımları gerçekleştireceğini belirtir.
Aşağıda değişiklikleri planlayabilecek bir iş akışının temel yapısı yer alıyor:
name: 'Terraform CI'
on:
pull_request:
branches:
- main
jobs:
terraform:
name: 'Terraform'
runs-on: ubuntu-latest
steps:
# Your workflow steps will go here
Terraform Kurulumu ve Başlatma Adımı
Herhangi bir Terraform komutunu çalıştırmadan önce iş akışınızın kodunuzu alması, Terraform CLI'ı kurması ve çalışma dizinini başlatması gerekir.
hashicorp/setup-terraform eylemi bunu kolaylaştırır:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.5.x
- name: Terraform Init
run: terraform initTerraform Plan Adımı
terraform plan komutu, her IaC iş akışında kritik bir adımdır. Yapılandırma dosyalarınızda tanımlanan istenen duruma ulaşmak için hangi işlemlerin gerekli olduğunu belirlemek üzere bir "deneme çalıştırması" gerçekleştirir.
Bu adım, bulut ortamınızda gerçekten herhangi bir değişiklik yapılmadan önce önerilen değişiklikleri incelemenize olanak tanır.
- name: Terraform Plan
run: terraform plan
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}Hızlı Kontrol: Terraform Planı
Temel komutları anlamak, Terraform'u otomatik iş akışlarınızda etkili bir şekilde kullanmanın anahtarıdır.
Terraform Apply Kullanımında Dikkat Edilecekler
terraform apply komutu, altyapınızda gerçek değişikliklerin yapıldığı adımdır.
Otomatik işlem hatlarında terraform apply komutunu yalnızca plan çıktısı bir kişi tarafından incelendikten sonra veya yalnızca belirli dallarla (örneğin main ya da production) birleştirme yapıldığında tetiklemek yaygın bir uygulamadır. Bu, yanlışlıkla yapılan veya onaylanmamış altyapı değişikliklerini önler.
Terraform ve Actions ile IaC Özeti
Bu derste Kod Olarak Altyapı (IaC) yaklaşımının altyapıyı kod kullanarak yönetmeye nasıl yardımcı olduğunu inceledik. IaC için önde gelen araç olarak Terraform'a odaklandık; HCL sözdizimini ve temel init, plan, apply iş akışını öğrendik.
Ayrıca GitHub Actions'ın terraform init ve terraform plan adımlarını nasıl otomatikleştirebildiğini gördünüz. Böylece altyapı dağıtımlarınız daha güvenli, daha tutarlı ve CI/CD işlem hatlarınıza tamamen entegre hâle gelir.
Sıkça Sorulan Sorular
“Terraform ve GitHub Actions ile IaC” dersi ücretsiz mi?
Evet — “Terraform ve GitHub Actions ile IaC” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Terraform ve GitHub Actions ile IaC” dersinde ne öğreneceğim?
Altyapıyı hazırlamak ve yönetmek için Terraform'u GitHub Actions iş akışlarınıza nasıl entegre edeceğinizi anlayın. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Terraform ve GitHub Actions ile IaC” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Terraform ve GitHub Actions ile IaC
- Bulut Kaynaklarını Yönetme
- Altyapı Güncellemelerini Otomatikleştirme
- Terraform Durumunu ve Uzak Arka Uçları Yönetme