20 Pertanyaan & Jawaban Wawancara Kubernetes Teratas yang Perlu Anda Ketahui di 2022

Diterbitkan: 2021-01-04

Kubernetes adalah salah satu alat orkestrasi container yang paling dicari di pasar saat ini. Open-source oleh Google pada tahun 2014, sistem ini telah muncul sebagai favorit di antara perusahaan seperti SoundCloud, SAP, The New York Times, eBay, Huawei, dan banyak lainnya.

Tetapi hanya ada beberapa ahli terampil untuk memenuhi permintaan besar akan profesional bersertifikat Kubernetes. Selain itu, prosedur pemilihan pekerjaan saat ini memberikan nilai yang sangat besar pada konsep teknis. Jadi, selalu disarankan untuk mempersiapkan jawaban Anda atas pertanyaan wawancara Kubernetes terlebih dahulu.

Ide dasar di balik Kubernetes adalah untuk mengabstraksi sumber daya komputer yang mendasarinya. Dibutuhkan mesin, penyimpanan, dan jaringan dari implementasi fisiknya. Tidak diragukan lagi, momentum di balik platform sedang meningkat. Kubernetes disebut sebagai sistem operasi cloud. Pelajari lebih lanjut tentang Kubernetes dan jaringannya.

Jika Anda berpikir untuk mengejar karir di bidang ini, lihat pertanyaan wawancara Kubernetes yang diberikan di bawah ini. Ambil langkah pertama itu dan kenali diri Anda dengan dasar-dasarnya!

Pertanyaan dan Jawaban Wawancara Kubernetes 2022

1. Definisikan Kubernetes.

Kubernetes lebih dari sekadar platform containerisasi. Ini mengotomatiskan tugas penerapan, penskalaan, dan penyeimbangan beban aplikasi. Selain itu, alat manajemen multi-kontainer ini bekerja dengan baik dengan sebagian besar penyedia cloud dan mendapat manfaat dari kontribusi komunitas sumber terbuka yang mahir. Kubernetes ditulis dalam bahasa pemrograman Go.

2. Sebutkan beberapa fitur utama Kubernetes.

    1. Penjadwalan otomatis – Penjadwal lanjutan untuk meluncurkan container pada node cluster.
    2. Penyembuhan sendiri – Dapat menjadwal ulang, mengganti, dan memulai kembali wadah yang telah mati.
    3. Rollout dan rollback otomatis – Mendukung rollout dan rollback.
    4. Penskalaan horizontal – Kemampuan penskalaan aplikasi ke atas atau ke bawah sesuai kebutuhan.
  1. Sebutkan perbedaan antara Kubernetes dan Docker Swarms.

Docker Swarm adalah alat untuk membangun wadah untuk manajemen siklus hidupnya. Kubernetes lebih luas daripada Docker Swarm karena dimaksudkan untuk mengatur cluster dan mengoordinasikan cluster node dalam skala besar. Meskipun Kubernetes sangat skalabel, Docker Swarm sekitar lima kali lebih cepat untuk diskalakan daripada Kubernetes. Selain itu, Docker Swarm melakukan penyeimbangan lalu lintas otomatis antara container yang berbeda, yang memerlukan intervensi manual di Kubernetes.

Tapi, Kubernetes memiliki kemampuan lain. Ini memiliki alat logging dan pemantauan built-in bersama dengan mekanisme rollback otomatis. Docker Swarm tidak dapat melakukan rollback otomatis dan penskalaan otomatis seperti Kubernetes.

4. Bagaimana penerapan aplikasi pada host berbeda dari penerapan pada wadah?

Saat Anda menerapkan aplikasi pada host, kernel sistem operasi memungkinkan banyak perpustakaan untuk diinstal di dalamnya. Semua aplikasi berbagi berbagai perpustakaan yang ada di sistem operasi itu. Namun, arsitektur penerapan aplikasi pada container sedikit berbeda.

Dalam arsitektur kemas, kernel adalah satu-satunya hal yang umum di antara aplikasi. Aplikasi lain tidak dapat mengganggu perpustakaan dan binari yang dibutuhkan oleh satu aplikasi. Jadi, mereka ada dalam isolasi dari sisa sistem. Misalnya, jika aplikasi tertentu membutuhkan Python, maka hanya aplikasi itu yang akan mendapatkan akses ke sana.

5. Apa yang Anda pahami tentang orkestrasi kontainer? Mengapa Anda membutuhkannya?

Misalkan ada 4-5 layanan mikro untuk suatu aplikasi. Sekarang, layanan mikro ini akan berada dalam wadah individual. Jadi, orkestrasi kontainer akan diperlukan untuk memungkinkan layanan berkomunikasi satu sama lain dan bekerja sama untuk memenuhi kebutuhan server. Prosesnya seperti orkestra musik di mana instrumen yang berbeda dimainkan secara harmonis untuk membuat komposisi.

6. Apa itu Kubelet?

Kubelet adalah layanan agen yang menjalankan pod. Pod tidak lain adalah sekelompok container yang di-deploy pada host yang sama atau memiliki beberapa sumber daya yang sama, seperti IP tunggal, volume, dll. Kubelet bekerja berdasarkan deskripsi container yang disediakan di PodSpec. Tujuan utamanya adalah untuk berjalan di setiap node, memastikan bahwa container dalam keadaan sehat dan berjalan, dan selanjutnya memungkinkan komunikasi antara node master dan pekerja.

Baca: Pertanyaan dan Jawaban Wawancara Full Stack

7. Apa peran cluster di Kubernetes?

Kubernetes memungkinkan Anda untuk menerapkan manajemen status yang diperlukan dengan memberi makan layanan cluster dari konfigurasi tertentu. Kemudian, layanan cluster ini menjalankan konfigurasi tersebut di infrastruktur. Langkah-langkah berikut terlibat dalam proses:

  • File penyebaran berisi semua konfigurasi untuk dimasukkan ke dalam layanan cluster.
  • File penerapan dimasukkan ke dalam API.
  • Sekarang, layanan cluster menjadwalkan pod di lingkungan
  • Layanan cluster juga memastikan bahwa jumlah pod yang berjalan benar

Jadi, cluster Kubernetes pada dasarnya terdiri dari API, node pekerja, dan proses Kubelet dari node tersebut.

8. Untuk apa Kubectl digunakan?

Kubectl adalah alat untuk mengontrol cluster Kubernetes. Sebenarnya, "ctl" adalah singkatan dari kontrol. Ini adalah antarmuka baris perintah yang memungkinkan Anda meneruskan perintah ke cluster dan mengelola komponen Kubernetes.

9. Tentukan Mesin Kontainer Google.

Google Container Engine (GKE) adalah platform pengelolaan yang mendukung container dan cluster Docker yang berjalan dalam layanan cloud publik Google. Ini adalah mesin sumber terbuka berdasarkan Kubernetes.

10. Jelaskan penggunaan node di Kubernetes.

Sebuah node menyediakan layanan yang diperlukan untuk menjalankan pod. Juga dikenal sebagai antek, node dapat berjalan pada mesin fisik atau virtual tergantung pada cluster. Di Kubernetes, sebuah node adalah mesin pekerja utama, dan komponen master mengelola setiap node dalam sistem.

Sekarang setelah Anda mengetahui dasar-dasarnya, mari kita lihat beberapa pertanyaan dan jawaban wawancara Kubernetes untuk mendapatkan kejelasan.

11. Apa saja dua komponen utama arsitektur Kubernetes?

Node master dan node pekerja membentuk arsitektur Kubernetes. Kedua komponen memiliki beberapa layanan bawaan di dalamnya. Misalnya, komponen master memiliki kube-controller-manager, kube-scheduler, etcd, dan kube-apiserver. Node pekerja memiliki layanan seperti runtime container, kubelet, dan kube-proxy yang berjalan di setiap node.

Baca: Pertanyaan & Jawaban Wawancara React

12. Tentukan kube-apiserver dan kube-scheduler.

Kube-apiserver adalah front-end dari panel kontrol node maser yang mengekspos semua komponen API. Ini membangun komunikasi antara node Kubernetes dan komponen master. Kube-scheduler mengelola beban kerja node pekerja. Itu melacak pemanfaatan sumber daya untuk memastikan bahwa penjadwalan dilakukan pada node yang sesuai.

13. Jelaskan secara singkat peran Manajer Kontroler Kubernetes.

Di Kubernetes, berbagai proses berjalan di master node, dan mereka dikompilasi bersama dalam bentuk Manajer Kontroler Kubernetes. Ini adalah daemon yang menyematkan pengontrol, termasuk yang berikut:

  • Node Controller: Mengelola status, yaitu membuat, memperbarui, dan menghapus node
  • Pengontrol Replikasi: Memelihara pod untuk setiap objek replikasi
  • Akun layanan dan pengontrol token: Berkaitan dengan akun default dan token akses API untuk ruang nama baru
  • Pengontrol titik akhir: Menjaga objek titik akhir (pod dan layanan)
  1. Apa yang dilakukan manajer pengontrol cloud?

Cloud Controller Manager (CCM) adalah daemon yang memungkinkan penyematan loop kontrol khusus cloud. Ini mengabstraksi kode vendor khusus cloud dari kode inti Kubernetes. Ini juga membantu mengelola komunikasi dengan layanan cloud yang mendasarinya. Desainnya didasarkan pada mekanisme plugin, artinya vendor cloud mengintegrasikan kode mereka dengan CCM menggunakan plugin.

15. Apa peran penyeimbang beban?

Penyeimbang beban menyediakan cara standar untuk mendistribusikan lalu lintas jaringan di antara berbagai layanan backend, sehingga memaksimalkan skalabilitas. Tergantung pada lingkungan kerja, ada dua jenis penyeimbang beban – Internal atau Eksternal.

Internal Load Balancer dapat secara otomatis menyeimbangkan beban dan mengalokasikan konfigurasi yang diperlukan ke pod. Di sisi lain, External Load Balancer memandu lalu lintas beban eksternal ke pod backend. Di Kubernetes, kedua metode load balancing beroperasi melalui fitur kube-proxy.

16. Bagaimana cara menjalankan Kubernetes secara lokal?

Anda dapat menjalankan Kubernetes secara lokal menggunakan alat Minikube. Ini menjalankan cluster node tunggal di dalam mesin virtual di laptop Anda. Jadi, ini memberikan cara yang efisien bagi pengguna yang baru memulai dan ingin mencoba Kubernetes.

17. Apa itu Heapster?

Heapster adalah alat pemantauan kinerja dan pengumpulan metrik yang didukung secara native di cluster Kubernetes. Ini berjalan seperti pod lain di cluster, menemukan semua node dan menanyakan informasi dari node Kubernetes. Alat manajemen kontainer ini bekerja melalui agen di mesin.

18. Apa itu ETCD di Kubernetes?

Etcd adalah penyimpanan untuk konfigurasi, status, dan metadata kluster Kubernetes. Itu ditulis dalam bahasa pemrograman Go dan mewakili status cluster pada titik waktu tertentu. Datastore ini berfungsi sebagai tulang punggung sistem terdistribusi.

19. Apa yang Anda pahami dengan pemantauan sumber daya kontainer?

Dari perspektif pengguna, sangat penting untuk memahami pemanfaatan sumber daya pada lapisan dan level abstraksi yang berbeda, seperti pod kontainer, layanan, dan seluruh cluster. Setiap level dapat dipantau menggunakan berbagai alat, yaitu:

  • Grafana
  • tumpukan
  • InfluxDB
  • Penasehat
  • Prometheus
  1. Bagaimana Anda bisa memastikan keamanan lingkungan Anda saat menggunakan Kubernetes?

Anda dapat mengikuti dan menerapkan langkah-langkah keamanan berikut saat menggunakan Kubernetes:

  • Batasi akses ETCD
  • Batasi akses langsung ke node
  • Tentukan kuota sumber daya
  • Semuanya harus dicatat di lingkungan produksi
  • Gunakan gambar dari repositori resmi
  • Buat aturan dan kebijakan ketat untuk sumber daya
  • Lakukan pemindaian keamanan dan kerentanan yang berkelanjutan
  • Terapkan pembaruan keamanan secara teratur

Dapatkan Kursus Pengembangan Perangkat Lunak dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.

Membungkus

Dalam artikel ini, kami membahas pertanyaan wawancara Kubernetes yang penting untuk membantu Anda mewujudkan tujuan karir Anda. Jadi, ikuti tantangan belajarnya, dan jangan lupa untuk merevisinya!

Jika Anda ingin mempelajari dan menguasai Kubernetes, DevOps, dan lainnya, lihat Program PG Eksekutif IIIT-B & upGrad di Program Pengembangan Perangkat Lunak Stack Penuh.

Persiapkan Karir Masa Depan

Daftar Sekarang untuk Magister Rekayasa Perangkat Lunak