0Pricing
DevOps Bootcamp · Ders

Altyapı Güncellemelerini Otomatikleştirme

İnceleme ve onay adımlarıyla altyapı değişikliklerini güvenle planlayan, uygulayan ve yok eden iş akışlarını uygulayın.

Altyapı Güncellemelerini Otomatikleştirme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 3. 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.

IaC Güncellemeleri Neden Otomatikleştirilir?

Altyapıyı el ile yönetmek yavaş olabilir ve hatalara yol açabilir. Kod Olarak Altyapı (IaC), altyapınızı kodla tanımlayarak yardımcı olur.

GitHub Actions gibi araçlarla IaC güncellemelerini otomatikleştirmek tutarlılık ve hız sağlar, ayrıca insan hatalarını azaltır. Altyapınızın her zaman tanımıyla eşleşmesini sağlar.

IaC İş Akışının Yaşam Döngüsü

IaC otomasyonu açık bir yaşam döngüsünü izler: planlama, uygulama ve bazen yok etme. Her adım CI/CD işlem hattınıza entegre edilebilir.

  • Planlama: Önerilen değişiklikleri uygulamadan inceleyin.
  • Uygulama: Planlanan değişiklikleri altyapınıza uygulayın.
  • Yok etme: Altyapı kaynaklarını kaldırın (son derece dikkatli kullanın!).

GitHub Actions bu adımları güvenli biçimde yönetmenize yardımcı olur.

Terraform ile Değişiklikleri Planlama

Herhangi bir değişiklik yapmadan önce ne olacağını bilmeniz çok önemlidir. Terraform'ın plan komutu, altyapı değişikliklerini önizlemenize yardımcı olur.

Bu komut, istediğiniz durumu (koddan) altyapınızın mevcut durumuyla karşılaştırır ve hangi kaynakların ekleneceğini, değiştirileceğini veya yok edileceğini gösterir.

Basit bir Terraform projesinde şu komutları çalıştırmayı deneyin:

echo "Initializing Terraform..."
terraform init

echo "Running terraform plan..."
terraform plan

`terraform plan` İş Akışı

Kod ana dalınıza gönderildiğinde terraform plan komutunu otomatik olarak çalıştıran bir GitHub Actions iş akışı oluşturalım. Bu, önerilen değişiklikler hakkında anında geri bildirim almanızı sağlar.

Planın çıktısı doğrudan Çekme İsteği'nde veya iş akışı günlüklerinde incelenebilir.

name: 'Terraform Plan'

on:
  pull_request:
    branches:
      - main

jobs:
  terraform:
    name: 'Terraform Plan'
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Setup Terraform
      uses: hashicorp/setup-terraform@v3

    - name: Terraform Init
      id: init
      run: terraform init

    - name: Terraform Plan
      id: plan
      run: terraform plan -no-color

Ortamlarla El İle Onay

Altyapı değişikliklerini otomatik olarak uygulamak riskli olabilir. GitHub Environments, iş akışlarınıza el ile onay adımları eklemenizi sağlar.

Ortamlar (örneğin, "staging", "production") tanımlayabilir ve bir dağıtım işinin ilerleyebilmesi için belirli inceleyenlerin onayını veya bekleme sürelerini zorunlu kılan kurallar belirleyebilirsiniz.

Bu, hassas işlemlerden önce kritik bir insan incelemesi aşaması ekler.

Değişiklikleri Uygulama İş Akışı

Değişiklikleri güvenli biçimde uygulamak için korumalı bir GitHub Environment'ı hedefleyen bir iş akışı yapılandıracağız. İş duraklatılacak ve belirlenen ekip üyelerinin onayını bekleyecek.

Onaydan sonra terraform apply komutu çalıştırılacak ve altyapınız güncellenecek.

name: 'Terraform Apply'

on:
  workflow_dispatch:
    inputs:
      environment:
        description: 'Environment to deploy to'
        required: true
        default: 'staging'

jobs:
  terraform:
    name: 'Terraform Apply'
    runs-on: ubuntu-latest
    environment: ${{ github.event.inputs.environment }} # Target environment for approval

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Setup Terraform
      uses: hashicorp/setup-terraform@v3

    - name: Terraform Init
      id: init
      run: terraform init

    - name: Terraform Apply
      id: apply
      run: terraform apply -auto-approve

Altyapıyı Güvenle Yok Etme

terraform destroy komutu, Terraform yapılandırmanızda tanımlanan tüm kaynakları kalıcı olarak kaldırır. Bu, çok güçlü ve potansiyel olarak tehlikeli bir işlemdir.

Bu komut yalnızca geçici bir test ortamını kaldırmak gibi belirli ve kontrollü durumlarda kullanılmalıdır. Devam etmeden önce her zaman iki kez kontrol edin!

Güçlü el ile onay aşamaları ve birden çok doğrulama olmadan `destroy` işlemini asla otomatikleştirmeyin.

echo "Preparing to destroy infrastructure..."
terraform init
terraform plan -destroy
read -p "Are you absolutely sure you want to destroy ALL resources? (yes/no): " CONFIRM
if [ "$CONFIRM" = "yes" ]; then
  echo "Destroying infrastructure..."
  terraform destroy -auto-approve
else
  echo "Destroy operation cancelled."
fi

Denetimli Altyapı Yok Etme

`destroy` işlemi için bile ek bir koruma katmanı sağlamak üzere GitHub Environments'tan yararlanabiliriz. Bu, uygun yetkilendirme olmadan hiç kimsenin üretim kaynaklarını yanlışlıkla veya kötü niyetle yok edememesini sağlar.

İş akışı onay gerektirmeli ve yalnızca el ile, ideal olarak belirli roller tarafından tetiklenebilmelidir.

name: 'Terraform Destroy'

on:
  workflow_dispatch:
    inputs:
      environment:
        description: 'Environment to destroy'
        required: true
        default: 'staging'

jobs:
  terraform:
    name: 'Terraform Destroy'
    runs-on: ubuntu-latest
    environment: ${{ github.event.inputs.environment }} # Target environment for approval

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    - name: Setup Terraform
      uses: hashicorp/setup-terraform@v3

    - name: Terraform Init
      id: init
      run: terraform init

    - name: Terraform Destroy
      id: destroy
      run: terraform destroy -auto-approve

IaC Otomasyonu İçin En İyi Uygulamalar

Güçlü ve güvenli bir IaC işlem hattı sağlamak için:

  • Kod İncelemeleri: IaC değişiklikleri için her zaman kod incelemesi zorunlu olsun.
  • En Az Ayrıcalık: İş akışı belirteçlerine ve hizmet hesaplarına yalnızca gerekli en düşük izinleri verin.
  • Durum Kilitleme: Eşzamanlı değişiklikleri önlemek için IaC aracınızın (Terraform gibi) durum kilitleme kullandığından emin olun.
  • Küçük, Artımlı Değişiklikler: Büyük ve tek parça altyapı güncellemelerinden kaçının.
  • Environment'ları Ayırma: Farklı onay kurallarına sahip ayrı ortamlar (dev, staging, prod) kullanın.

IaC İş Akışı Kontrolü

Kaynakları planlama, uygulama ve yok etme işlemleriyle IaC güncellemelerini otomatikleştirmeyi öğrendiniz. Şimdi bu süreçlerin güvenliğini sağlama konusundaki anlayışınızı test edelim.

Özet: Otomatik IaC Güncellemeleri

Bu derste Infrastructure as Code iş akışlarınızı GitHub Actions kullanarak nasıl otomatikleştireceğinizi öğrendiniz. Şunları ele aldık:

  • Değişiklikleri güvenli biçimde önizlemek için terraform plan çalıştırma.
  • Altyapıyı uygulamadan veya yok etmeden önce el ile onay aşamaları için GitHub Environments kullanma.
  • Denetimli terraform apply ve terraform destroy işlemleri için iş akışları oluşturma.
  • Güvenli ve güvenilir IaC otomasyonu için temel en iyi uygulamalar.

IaC'yi otomatikleştirmek, bulut kaynaklarınızı verimli ve güvenli bir şekilde yönetmenize yardımcı olur!

Sıkça Sorulan Sorular

“Altyapı Güncellemelerini Otomatikleştirme” dersi ücretsiz mi?

Evet — “Altyapı Güncellemelerini Otomatikleştirme” 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.

“Altyapı Güncellemelerini Otomatikleştirme” dersinde ne öğreneceğim?

İnceleme ve onay adımlarıyla altyapı değişikliklerini güvenle planlayan, uygulayan ve yok eden iş akışlarını uygulayı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 3. dersidir.

“Altyapı Güncellemelerini Otomatikleştirme” 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

  1. Terraform ve GitHub Actions ile IaC
  2. Bulut Kaynaklarını Yönetme
  3. Altyapı Güncellemelerini Otomatikleştirme
  4. Terraform Durumunu ve Uzak Arka Uçları Yönetme
← DevOps Bootcamp Sayfasına Dön