28 Gerçek Zamanlı Terraform Mülakat Soruları ve Cevapları

Yayınlanan: 2022-03-11

İşte 28 Gerçek Zamanlı Terraform Mülakat Soruları ve Cevapları, bir liste ve röportajlarda sıkça sorulan önemli komutların açıklamalarıyla birlikte.

Bulut Teknolojilerinin kullanımındaki artış, DevOps dünyasında birçok fırsatın kapısını açmıştır. Gelecekte bulut teknolojileri mülakat soruları için ortak bir konu olacak ve temel bulut ve Kod Olarak Altyapı bilgisi, IAC araçları DevOps rolleri için bir zorunluluk olacak.

Terraform nedir?

Terraform, her bulut mühendisi tarafından kullanılan en popüler IAC araçlarından biridir. Hem bulut hem de şirket içi kaynakları insan tarafından okunabilir yapılandırma dosyalarında tanımlamamıza ve böylece bu kaynakları programlı olarak sağlamamıza olanak tanır. Terraform'un en dikkate değer özelliği, çoğu IAC aracının aksine, tek bir bulut sağlayıcıyla sınırlı olmamasıdır. Uygulamalarınızı aynı anda birden fazla bulut platformunda çalıştırmak için Terraform'u kullanabilirsiniz.

Terraform'un hangi teknolojileri desteklediğini merak ediyorsanız, işte küçük bir liste:

  • Amazon Web Servisleri (AWS)
  • Google Bulut Platformu (GCP)
  • Microsoft Azure
  • IBM Bulut
  • VMware vSphere
  • sunucu alanı
  • DijitalOkyanus
  • Oracle Bulut Altyapısı
  • yandex. Bulut
  • OpenStack.

DevOps Mühendisleri, Bulut Mimarları, Geliştiriciler veya Yöneticiler olarak kariyerinizde ilerlemek için Terraform mülakat sorularıyla yüzleşmeniz gerekecek. Terraform bilginizi geliştirmenize yardımcı olacak en iyi terraform mülakat sorularının bir listesini derledik.

Genel Terraform Mülakat Soruları ve Cevapları

#1. Terraform'dan ne anlıyorsunuz?

Terraform, HashiCorp tarafından oluşturulan açık kaynaklı bir IAC aracıdır. Birden çok bulut platformunda altyapınızı oluşturmak, güncellemek, silmek ve sürümlendirmek için kullanılır.

#2. DevOps için Terraform'u seçmenin nedenleri nelerdir?

Altyapı sağlamak için Terraform'u kullanmak insan hatalarına yer bırakmaz, dolayısıyla Bulut ve şirket içi altyapının kalitesini, tutarlılığını ve verimliliğini artırır. Terraform, JSON'a oldukça benzeyen ve öğrenmesi ve kullanması kolay HCL dilini kullanır. Cloudformation for AWS gibi bulut sağlayıcıları tarafından sunulan diğer IAC araçlarından farklı olarak, Terraform'u aynı anda birkaç bulut platformuyla kullanabiliriz. Bu, birden fazla IAC aracı öğrenme ihtiyacını ortadan kaldırır ve işbirliği kapsamını geliştirir.

#3. Terraform nasıl çalışır?

Terraform, Bulut Platformlarındaki API'lerle etkileşim kurmak ve kaynaklarımızı sağlamak için Terraform sağlayıcıları adı verilen eklentileri kullanır. Bir son kullanıcı olarak, terraform iş akışının üç adımı vardır.

Yaz : Altyapıyı kod olarak yazın.

Plan : Terraform'un uygulamadan önce yapacağı değişiklikleri önizleyin.

Apply : Altyapıyı sağlayın ve değişiklikleri uygulayın.

#4. Terraform bulutu ile ne demek istiyorsun?

Terraform Cloud, Terraform iş akışı için optimize edilmiş uzak bir ortamdır. Büyük ekiplerdeki kişilerin işbirliği yapmasına olanak tanıyan çalışma alanları ve durum kilitleme gibi özellikler sağlar.

#5. Terraform'da Devlet denince ne anlıyorsunuz?

Bir IAC aracı olarak terraform, yönetimi altındaki mevcut yapılandırma ve altyapı durumunu bilmelidir. Terraform, bu bilgiyi durum dosyası adı verilen bir dosyada saklar.

#6. Terraform State'in faydası nedir?

Terraform State, Terraform'un gerçek dünya kaynaklarını yapılandırmanızla eşleştirmesine, meta verileri takip etmesine ve karmaşık altyapılar için değişiklikleri planlarken performansı iyileştirmesine olanak tanır. Terraform'un kritik bir bileşenidir.

#7. Terraform Backend'den ne anlıyorsunuz?

Terraform arka ucu, Terraform Durum Anlık Görüntülerinin depolandığı platformdur. Varsayılan olarak, Terraform, durumu diskinizde yerel bir dosya olarak depolamak için yerel adlı bir arka uç kullanır. Desteklenen diğer tüm arka uçlar, bir tür uzak depolama hizmetidir.

#8. Terraform'da sağlayıcı nedir?

Terraform'daki sağlayıcılar, Terraform'un bulut sağlayıcıları, SaaS sağlayıcıları ve diğer API'lerle etkileşime girmesine izin veren eklentilerdir. Örneğin, AWS'de altyapı sağlamak için Terraform kullanmayı planlıyorsak, yapılandırma dosyalarımızda bir AWS sağlayıcısı bildirmemiz gerekecektir.

#9. Terraform Sağlayıcılarını kim korur?

Sağlayıcılar, Terraform'un kendisinden ayrı olarak dağıtılır. Bir Terraform kullanıcısı olarak herkes kendi sağlayıcılarını geliştirebilir. Açıkça Hashicorp tarafından sağlanan bazı standart sağlayıcılar vardır.

#10. Sentinel nedir?

Sentinel, Terraform tarafından dağıtılan kaynaklar için standart yapılandırmaları zorlamak için kullanılan bir kod aracı olarak bir politikadır. Kuruluşlar tarafından uyumluluk ve yönetişim amaçlarıyla kullanılabilir.

#11. Terraform'daki modüllerden ne anlıyorsunuz?

Terraform modülü, kaynakları sağlamak ve yapılandırmak için birlikte kullanılan birden çok kaynak için standart bir kapsayıcıdır. Örneğin, kuruluşunuz için standart bir VPC ve Alt Ağlar ve İnternet Ağ Geçitleri gibi diğer kaynakları sağlayan bir "VPC modülü" oluşturabilirsiniz. Modüller, Genel modül kaydı aracılığıyla genel olarak ve Özel Modül kaydı aracılığıyla özel olarak paylaşılabilir.

#12. Modülleri terraform'da kullanmanın faydası nedir?

Terraform modülleri, bir kaynak kümesinin üstünde mantıksal soyutlama oluşturmamıza izin verir. Modülleri kullanmak, kaynaklar için standart bir yapılandırmayı sürdürmemize ve yeniden kullanmamıza olanak tanır. Kaynakları standart bir şekilde sağlamak için sürümleri oluşturulabilir ve ekiplerinizin üyeleriyle paylaşılabilir.

#13. Özel Modül Kaydı nedir?

Özel Modül Kayıt Defteri Terraform Bulut özelliği, Terraform modüllerini kuruluşumuz genelinde paylaşmamıza olanak tanır.

İleri Terraform Mülakat Soruları ve Cevapları

#14. Verileri bir modülden diğerine nasıl aktarabiliriz?

Modül konfigürasyon dosyalarında çıktı blokları tanımlayarak bir modülden veri aktarabiliriz. Bu veriler daha sonra bir parametre olarak hedef modüle aktarılabilir.

#13. Terraform'da bağımlılıkları nasıl tanımlayabilirsiniz?

Terraform yerleşik bağımlılık yönetimine sahiptir. Terraform'un kaynaklar arasında iki tür bağımlılığı vardır: örtük ve açık bağımlılıklar.

Adından da anlaşılacağı gibi örtük bağımlılıklar, Terraform tarafından otomatik olarak algılanır. Bu, bir "A kaynağının" çıktısının "kaynak B"de kullanıldığı zamandır. Terraform, "kaynak B"nin yalnızca "kaynak A"dan sonra oluşturulması gerektiğini otomatik olarak algılar.

Açık bağımlılıklar, iki kaynağın herhangi bir çıktıyı paylaşmadan dahili olarak birbirine bağımlı olduğu durumlarda belirtilebilir. Bu, yapılandırma bloğundaki bağımlı_on parametresi kullanılarak yapılabilir.

#14. Terraform'da Sağlayıcılar nelerdir?

Sağlayıcılar, kaynak oluşturma veya yok etme işleminin bir parçası olarak komut dosyalarını yürütmek için kullanılan Terraform kaynaklarıdır. Terraform'da iki tür Sağlayıcı vardır:

  • local-exec: Terraform'u çalıştıran makinede bir komut dosyası çağırır.
  • remote -exec: Oluşturulduktan sonra uzak bir kaynak üzerinde bir komut dosyası çağırır.

Sağlayıcılar yalnızca Terraform'da son çare olarak kullanılmak içindir.

#15. Terraform'daki harici veri bloğu nedir?

Tıpkı local-exec sağlayıcısı gibi, Terraform çalıştıran makinelerde komut dosyalarını çalıştırmak için harici veri bock kullanılabilir. Sağlayıcı ve harici veri bloğu arasındaki fark, dış veri bloğundaki komut dosyalarının verileri JSON biçiminde döndürebilmesi, ancak hazırlayıcıların herhangi bir çıktı döndürememesidir. Harici veri bloklarının da son çare olması amaçlandığını ve daha iyi bir alternatif varsa kullanılmaması gerektiğini belirtmek önemlidir.

#16. Terraform bulutunu kullanan iki kişi, aynı çalışma dizinini kullanarak nasıl iki farklı altyapı seti oluşturabilir?

Farklı çalışma alanları kullanarak. Bu kullanıcılar, Terraform çalıştırmalarını iki ayrı çalışma alanında başlatabilir. Her çalışma alanının kendine ait bir durum dosyası vardır, bu nedenle kaynaklar çakışmadığı sürece her iki kullanıcı da aynı kodu kullanarak iki farklı altyapı grubunu başarıyla sağlayabilir.

#17. Birden çok mühendis aynı durum dosyasını kullanarak altyapıyı dağıtmaya başladığında ne olur?

Terraform, “durum kilitleme” adı verilen çok önemli bir özelliğe sahiptir. Bu özellik, bir çalıştırma sırasında durum dosyasında hiçbir değişiklik yapılmamasını sağlar ve durum dosyasının bozulmasını önler. Tüm Terraform Arka Uçlarının durum kilitleme özelliğini desteklemediğini unutmamak önemlidir. Bu özellik bir gereklilik ise doğru arka ucu seçmelisiniz.

#18. Terraform'da boş kaynak nedir?

Bir terraform null kaynağı, standart bir terraform kaynak bloğu gibi çalışan ancak herhangi bir kaynak oluşturmayan bir yapılandırmadır. Bu kulağa tuhaf ve işe yaramaz bir kaynak gibi gelebilir, ancak çeşitli durumlarda Terraform'daki sınırlamaları aşmak için yararlı olabilir.

#19. Aynı sağlayıcıyı Terraform'da farklı konfigürasyonlarla nasıl kullanabilirsiniz?

Sağlayıcı bloğunda takma ad bağımsız değişkeni kullanarak.

#20. Kaynak içermeyen bir Terraform yapılandırma dosyanız var. terraform apply komutunu çalıştırdığınızda ne olur?

Terraform tüm kaynakları yok edecek. terraform apply komutuyla boş bir çalıştırma başlatmak, terraform yok etme çalıştırmasını başlatmakla tamamen aynıdır.

#21. Bir kaynak terraform'da başarıyla oluşturulduysa ancak sağlama sırasında başarısız olursa ne olur?

Bu olası olmayan bir senaryodur, ancak bu olduğunda, kaynak kusurlu olarak işaretlenir ve terraform çalıştırmasını yeniden başlatarak yeniden oluşturulabilir.

# 22. TF_LOG değişkeninin hangi değeri EN ayrıntılı günlük kaydını sağlar?

TRACE, TF_LOG değişkeninin en ayrıntılı ve varsayılan değeridir.

#23. Mevcut kaynakları Terraform Yönetimi altında nasıl içe aktarabilirsiniz?

terraform import komutunu kullanarak.

#24. Terraform yürütme planını önizlemek için hangi komut kullanılabilir?

terraform plan komutu, Terraform'un altyapıda yapacağı değişikliklerin uygulama planını oluşturur.

#25. Terraform durumunu gerçek gerçek dünya altyapısıyla uzlaştırmak için hangi komut kullanılabilir?

terraform apply -refresh-only komutu, Terraform durumunu gerçek gerçek dünya altyapısıyla uzlaştırmak için kullanılır. Artık kullanımdan kaldırılan terraform refresh komutunun yeni alternatifidir.

#26. Terraform Cloud kullanırken çalışma alanları arasında geçiş yapmak için hangi komut kullanılabilir?

terraform workspace select <workspace-name> komutu, farklı bir çalışma alanı seçmek için kullanılır.

# 27. Terraform yapılandırma dosyalarında sözdizimi doğrulaması yapmak için hangi komut kullanılır?

terraform validate komutu, bir konfigürasyonun sözdizimsel olarak geçerli ve dahili olarak tutarlı olup olmadığını doğrulamak için kullanılır.

#28. Terraform bulutunda yeni çalışma alanları oluşturmak için hangi komut kullanılır?

terraform workspace new <workspace-name> komutu, yeni bir çalışma alanı oluşturmak için kullanılır.

Teknik görüşmeler için diğer bazı önemli terraform komutları.

  • terraform init: Uzak arka uçları başlatır; yapılandırmanızda tanımlanan sağlayıcıları ve uzak modülleri indirir.
  • terraform init -upgrade: indirilen mevcut sağlayıcıları yükseltmek için kullanılır.
  • terraform planı: altyapı oluşturma veya güncelleme için yürütme planını oluşturur.
  • terraform application: Kullanıcıdan onay istendikten sonra altyapıyı oluşturur veya günceller.
  • terraform application –auto-onay: altyapıyı oluşturur veya günceller; kullanıcı onayı aşaması atlanır.
  • terraform yok et: Kullanıcıdan onay istendikten sonra altyapıyı siler.
  • terraform destroy –auto-onay: altyapıyı siler; kullanıcı onayı aşaması atlanır.
  • terraform fmt : yapılandırma dosyaları için geçerli dizini tarar ve bunları HCP kurallı stiline ve biçimine göre biçimlendirir.
  • terraform fmt –recursive: yapılandırma dosyaları için geçerli dizini ve alt dizinleri tarar ve bunları HCP kurallı stiline ve biçimine göre biçimlendirir.
  • terraform show: bir durum veya plan dosyasından insan tarafından okunabilir bir çıktı sağlar.

Umarım yukarıdaki bilgiler bir Terraform işi almanıza yardımcı olur.