28 Pertanyaan dan Jawaban Wawancara Terraform Waktu Nyata

Diterbitkan: 2022-03-11

Berikut adalah 28 Pertanyaan dan Jawaban Wawancara Terraform Real-time dengan daftar dan penjelasan tentang perintah penting yang sering ditanyakan dalam wawancara.

Maraknya penggunaan Teknologi Cloud telah membuka banyak peluang di dunia DevOps. Di masa depan, teknologi cloud akan menjadi topik umum untuk pertanyaan wawancara, dan pengetahuan dasar tentang cloud dan Infrastruktur sebagai Kode, alat IAC akan menjadi keharusan untuk peran DevOps.

Apa itu Terraform?

Terraform adalah salah satu alat IAC paling populer yang digunakan oleh setiap insinyur cloud. Ini memungkinkan kami untuk menentukan sumber daya cloud dan lokal dalam file konfigurasi yang dapat dibaca manusia dan dengan demikian menyediakan sumber daya ini secara terprogram. Fitur Terraform yang paling menonjol adalah, tidak seperti kebanyakan alat IAC di luar sana, ini tidak terbatas pada satu penyedia cloud. Anda dapat menggunakan Terraform untuk menjalankan aplikasi Anda di beberapa platform cloud secara bersamaan.

Jika Anda bertanya-tanya teknologi apa yang didukung terraform, berikut adalah daftar kecilnya:

  • Layanan Web Amazon (AWS)
  • Google Cloud Platform (GCP)
  • Microsoft Azure
  • IBM Cloud
  • VMware vSphere
  • Ruang server
  • DigitalOcean
  • Infrastruktur Cloud Oracle
  • Yandex. Awan
  • Tumpukan Terbuka.

Untuk melanjutkan karir Anda sebagai Insinyur DevOps, Arsitek Cloud, Pengembang, atau Administrator, Anda harus menghadapi pertanyaan wawancara Terraform. Kami telah menyusun daftar pertanyaan wawancara terraform teratas yang akan membantu Anda meningkatkan pengetahuan Anda tentang Terraform.

Pertanyaan dan Jawaban Wawancara Terraform Umum

#1. Apa yang Anda pahami tentang Terraform?

Terraform adalah alat IAC sumber terbuka yang dibuat oleh HashiCorp. Ini digunakan untuk membuat, memperbarui, menghapus, dan membuat versi infrastruktur Anda di berbagai platform cloud.

#2. Apa alasan memilih Terraform untuk DevOps?

Menggunakan Terraform untuk menyediakan infrastruktur tidak menyisakan ruang untuk kesalahan manusia, sehingga meningkatkan kualitas, konsistensi, dan efisiensi Cloud dan infrastruktur lokal. Terraform menggunakan bahasa HCL, yang cukup mirip dengan JSON dan mudah dipelajari dan digunakan. Berbeda dengan alat IAC lain yang ditawarkan oleh penyedia cloud seperti Cloudformation for AWS, kita dapat menggunakan Terraform dengan sejumlah platform cloud secara bersamaan. Ini menghindari kebutuhan untuk mempelajari beberapa alat IAC dan meningkatkan cakupan kolaborasi.

#3. Bagaimana cara kerja Terraform?

Terraform menggunakan plugin yang disebut penyedia Terraform untuk berinteraksi dengan API di Platform Cloud dan menyediakan sumber daya kami. Sebagai pengguna akhir, alur kerja terraform memiliki tiga langkah.

Tulis : Buat infrastruktur sebagai kode.

Rencana : Pratinjau perubahan yang akan dilakukan Terraform sebelum mendaftar.

Apply : Menyediakan infrastruktur dan menerapkan perubahan.

#4. Apakah yang Anda maksud: awan terraform

Terraform Cloud adalah lingkungan jarak jauh yang dioptimalkan untuk alur kerja Terraform. Ini menyediakan fitur seperti ruang kerja dan penguncian status, yang memungkinkan orang dalam tim besar untuk berkolaborasi.

#5. Apa yang Anda pahami tentang State in Terraform?

Sebagai alat IAC, terraform harus mengetahui status konfigurasi dan infrastruktur saat ini di bawah pengelolaannya. Terraform menyimpan informasi ini dalam file yang disebut file negara.

#6. Apa keuntungan dari Terraform State?

Terraform State memungkinkan Terraform untuk memetakan sumber daya dunia nyata ke konfigurasi Anda, melacak metadata, dan meningkatkan kinerja saat merencanakan perubahan untuk infrastruktur yang kompleks. Ini adalah komponen penting dari Terraform.

#7. Apa yang Anda pahami tentang Terraform Backend?

Backend Terraform adalah platform tempat Snapshots Terraform State disimpan. Secara default, Terraform menggunakan backend yang disebut lokal untuk menyimpan status sebagai file lokal di disk Anda. Semua backend lain yang didukung adalah semacam layanan penyimpanan jarak jauh.

#8. Apa itu provider di Terraform?

Penyedia di Terraform adalah plugin yang memungkinkan Terraform untuk berinteraksi dengan penyedia cloud, penyedia SaaS, dan API lainnya. Misalnya, jika kami berencana menggunakan Terraform untuk menyediakan infrastruktur di AWS, kami perlu mendeklarasikan penyedia AWS dalam file konfigurasi kami.

#9. Siapa yang mengelola Penyedia Terraform?

Penyedia didistribusikan secara terpisah dari Terraform itu sendiri. Sebagai pengguna Terraform, siapa pun dapat mengembangkan penyedia mereka sendiri. Ada beberapa penyedia standar yang dikelola secara eksplisit oleh Hashicorp.

# 10. Apa itu Sentinel?

Sentinel adalah kebijakan sebagai alat kode yang digunakan untuk menerapkan konfigurasi standar untuk sumber daya yang digunakan oleh Terraform. Ini dapat digunakan oleh organisasi untuk tujuan kepatuhan dan tata kelola.

#11. Apa yang Anda pahami tentang modul di Terraform?

Modul Terraform adalah wadah standar untuk beberapa sumber daya yang digunakan bersama untuk menyediakan dan mengonfigurasi sumber daya. Misalnya, Anda dapat membuat “modul VPC” untuk organisasi Anda yang menyediakan VPC standar dan sumber daya lain seperti Subnet dan Gateway Internet. Modul dapat dibagikan secara publik melalui registri modul Publik dan secara pribadi melalui registri Modul Pribadi.

# 12. Apa manfaat menggunakan modul di terraform?

Modul Terraform memungkinkan kita untuk membuat abstraksi logis di atas kumpulan sumber daya. Menggunakan modul memungkinkan kita untuk memelihara dan menggunakan kembali konfigurasi standar untuk sumber daya. Mereka dapat diversi dan dibagikan dengan anggota tim Anda untuk menyediakan sumber daya dengan cara standar.

# 13. Apa itu Registri Modul Pribadi?

Fitur Private Module Registry Terraform Cloud memungkinkan kami untuk berbagi modul Terraform di seluruh organisasi kami.

Pertanyaan dan Jawaban Wawancara Terraform Tingkat Lanjut

#14. Bagaimana kita bisa mengekspor data dari satu modul ke modul lainnya?

Kita dapat mengekspor data dari modul dengan mendefinisikan blok output dalam file konfigurasi modul. Data ini kemudian dapat ditransfer sebagai parameter ke modul tujuan.

# 13. Bagaimana Anda bisa mendefinisikan dependensi di Terraform?

Terraform memiliki manajemen ketergantungan bawaan. Terraform memiliki dua jenis dependensi antara sumber daya - dependensi implisit dan eksplisit.

Dependensi implisit, seperti namanya, dideteksi oleh Terraform secara otomatis. Ini adalah saat output dari "sumber daya A" digunakan dalam "sumber daya B". Terraform secara otomatis mendeteksi bahwa "sumber daya B" perlu dibuat hanya setelah "sumber daya A"

Ketergantungan eksplisit dapat ditentukan dalam kasus di mana dua sumber daya saling bergantung secara internal tanpa berbagi output apa pun. Ini dapat dilakukan dengan menggunakan parameter depend_on di blok konfigurasi.

#14. Apa itu Penyedia di Terraform?

Penyedia adalah sumber daya Terraform yang digunakan untuk menjalankan skrip sebagai bagian dari pembuatan atau penghancuran sumber daya. Ada dua jenis Penyedia di Terraform:

  • local-exec: Memanggil skrip pada mesin yang menjalankan Terraform.
  • remote- exec: Memanggil skrip pada sumber daya jarak jauh setelah dibuat.

Penyedia hanya dimaksudkan untuk digunakan sebagai upaya terakhir di Terraform.

#15. Apa blok data eksternal di Terraform?

Sama seperti penyedia lokal-exec, bock data eksternal dapat digunakan untuk menjalankan skrip pada mesin yang menjalankan Terraform. Perbedaan antara penyedia dan blok data eksternal adalah bahwa skrip di blok data eksternal dapat mengembalikan data dalam format JSON, sedangkan penyedia tidak dapat mengembalikan output apa pun. Penting untuk dicatat bahwa blok data eksternal juga dimaksudkan sebagai pilihan terakhir dan tidak boleh digunakan jika ada alternatif yang lebih baik.

#16. Bagaimana dua orang yang menggunakan awan Terraform dapat membuat dua set infrastruktur yang berbeda menggunakan direktori kerja yang sama?

Dengan menggunakan ruang kerja yang berbeda. Pengguna ini dapat mulai menjalankan Terraform di dua ruang kerja terpisah. Setiap ruang kerja memiliki file statusnya sendiri, jadi selama sumber daya tidak tumpang tindih, kedua pengguna dapat berhasil menyediakan dua set infrastruktur yang berbeda menggunakan kode yang sama.

#17. Apa yang terjadi ketika beberapa insinyur mulai menerapkan infrastruktur menggunakan file status yang sama?

Terraform memiliki fitur yang sangat penting yang disebut "penguncian negara" . Fitur ini memastikan bahwa tidak ada perubahan yang dilakukan pada file status selama proses dan mencegah file status rusak. Penting untuk dicatat bahwa tidak semua Terraform Backends mendukung fitur penguncian status. Anda harus memilih backend yang tepat jika fitur ini merupakan persyaratan.

#18. Apa itu sumber daya nol di Terraform?

Sumber daya null terraform adalah konfigurasi yang berjalan seperti blok sumber daya terraform standar tetapi tidak membuat sumber daya apa pun. Ini mungkin terdengar seperti sumber daya yang aneh dan tidak berguna, tetapi dapat berguna dalam berbagai situasi untuk mengatasi keterbatasan di Terraform.

#19. Bagaimana Anda bisa menggunakan penyedia yang sama di Terraform dengan konfigurasi yang berbeda?

Dengan menggunakan argumen alias di blok penyedia.

#20. Anda memiliki file konfigurasi Terraform tanpa sumber daya. Apa yang terjadi ketika Anda menjalankan perintah terraform apply ?

Terraform akan menghancurkan semua sumber daya. Memulai proses kosong dengan perintah terraform apply sama persis dengan memulai proses penghancuran terraform.

#21. Apa yang terjadi jika sumber daya berhasil dibuat di terraform tetapi gagal selama penyediaan?

Ini adalah skenario yang tidak mungkin, tetapi ketika ini terjadi, sumber daya ditandai sebagai tercemar dan dapat dibuat ulang dengan memulai ulang proses terraform.

#22. Nilai variabel TF_LOG yang memberikan logging verbose PALING?

TRACE adalah yang paling verbose dan nilai default dari variabel TF_LOG .

#23. Bagaimana Anda bisa mengimpor sumber daya yang ada di bawah Manajemen Terraform?

Dengan menggunakan perintah terraform import .

#24. Perintah mana yang dapat digunakan untuk melihat pratinjau rencana eksekusi terraform?

Perintah terraform plan menghasilkan rencana eksekusi dari perubahan yang akan dilakukan Terraform pada infrastruktur.

#25. Perintah mana yang dapat digunakan untuk mendamaikan keadaan Terraform dengan infrastruktur dunia nyata yang sebenarnya?

Perintah terraform apply -refresh-only digunakan untuk merekonsiliasi status Terraform dengan infrastruktur dunia nyata yang sebenarnya. Ini adalah alternatif baru untuk perintah terraform refresh , yang sekarang tidak digunakan lagi.

#26. Perintah mana yang dapat digunakan untuk beralih antar ruang kerja saat menggunakan Terraform Cloud?

Ruang terraform workspace select <workspace-name> perintah digunakan untuk memilih ruang kerja yang berbeda.

#27. Perintah mana yang digunakan untuk melakukan validasi sintaks pada file konfigurasi terraform?

Perintah terraform validate digunakan untuk memverifikasi apakah konfigurasi valid secara sintaksis dan konsisten secara internal.

#28. Perintah mana yang digunakan untuk membuat ruang kerja baru di cloud Terraform?

Perintah terraform workspace new <workspace-name> digunakan untuk membuat ruang kerja baru.

Beberapa perintah terraform penting lainnya untuk wawancara teknis.

  • terraform init: Menginisialisasi backend jarak jauh; penyedia unduhan dan modul jarak jauh yang ditentukan dalam konfigurasi Anda.
  • terraform init -upgrade: digunakan untuk memutakhirkan penyedia unduhan yang ada.
  • rencana terraform: menghasilkan rencana eksekusi untuk pembuatan atau pembaruan infrastruktur.
  • terraform apply: membuat atau memperbarui infrastruktur setelah meminta konfirmasi dari pengguna.
  • terraform apply –auto-approve: membuat atau memperbarui infrastruktur; tahap persetujuan pengguna dilewati.
  • terraform destroy: menghapus infrastruktur setelah meminta konfirmasi dari pengguna.
  • terraform destroy –auto-approve: menghapus infrastruktur; tahap persetujuan pengguna dilewati.
  • terraform fmt : memindai direktori saat ini untuk mencari file konfigurasi dan memformatnya menurut gaya dan format kanonik HCP.
  • terraform fmt –recursive: memindai direktori saat ini serta subdirektori untuk file konfigurasi dan memformatnya sesuai dengan gaya dan format kanonik HCP.
  • terraform show: menyediakan output yang dapat dibaca manusia dari file status atau rencana.

Saya harap informasi di atas membantu Anda mendapatkan pekerjaan Terraform.