Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Menyelidiki Masalah Kontainer Kubernetes Dengan “Kubectl Debug”

Posted on August 8, 2022

Mungkin sulit untuk mendiagnosis masalah dengan menjalankan beban kerja Kubernetes. Anda mungkin beruntung dan menemukan penyebabnya di log aplikasi Anda, melalui perintah kubectl logs. Dalam beberapa kasus, sesi debug langsung tidak dapat dihindari, di mana Anda berinteraksi secara interaktif dengan Pod Anda untuk mengungkap masalah.

Perintah kubectl debug menyederhanakan tugas debug ini dengan menyediakan container ephemeral baru di dalam Pod Anda. Ini dapat digunakan untuk memeriksa lingkungan Pod sehingga Anda dapat mulai memecahkan masalah yang muncul di container yang ada.

Persiapan untuk Menggunakan Kubectl Debug

kubectl debug diluncurkan dengan Kubernetes dan Kubectl v1.18. Itu bergantung pada wadah sementara yang tersedia di cluster Anda. Wadah ephemeral menjadi fitur beta di Kubernetes v1.23 dan sekarang diaktifkan secara default. Anda harus mengaktifkan gerbang fitur secara manual jika cluster Anda menjalankan Kubernetes versi lama. Kontainer

Ephemeral dirancang untuk tugas sementara di mana Anda perlu menghubungkan sementara kontainer tambahan ke Pod yang ada. Ini ideal untuk operasi debug di mana Anda ingin memeriksa sebuah Pod secara akurat tanpa mempengaruhi instance container langsung.

Kebanyakan gambar container tidak memiliki alat debugging; memasangnya di dalam wadah yang sedang berjalan akan mengubah lingkungannya dan berpotensi menyebabkan efek samping. Memasang container ephemeral ke Pod Anda adalah cara yang lebih aman untuk debug yang memberi Anda lingkungan kerja yang bersih. Anda dapat menggunakan image yang lebih berat yang mencakup semua alat yang Anda butuhkan.

Meskipun container ephemeral menjadi bagian dari Pod host mereka, masih ada beberapa perbedaan yang harus diperhatikan. Kontainer ephemeral tidak mendukung port binding, probe, atau reservasi sumber daya karena sifatnya hanya sementara. Mereka tidak akan pernah dimulai ulang secara otomatis dan tidak dapat diubah setelah dibuat. Daftar lengkap kemampuan yang didukung tersedia di dokumentasi.

Menggunakan Kubectl Debug

Sebelum melanjutkan, buat penerapan dasar yang akan digunakan untuk tujuan pengujian:

$ kubectl create deployment nginx --image=nginx:latest 
deployment.apps/nginx Created

Selanjutnya gunakan get pod perintah untuk menemukan nama Pod deployment Anda:

$ kubectl get pods

n perintah kubectl untuk men-debug memulai sesi debug di dalam Pod Anda:

$ kubectl debug -it --image=ubuntu:20.04 
nginx-55649fd747-qsnr2

Sintaks perintah ini mirip dengan gabungan kubectl create dan kubectl debug. Argumen tanpa nama yang diberikan ke perintah mengidentifikasi Pod yang ada untuk dilampirkan. Argumen –image menentukan gambar yang akan digunakan untuk wadah baru. Kami menggunakan ubuntu:20.04 di sini untuk mendapatkan akses ke perintah yang sudah dikenal yang disertakan dalam distribusi Linux Ubuntu.

Bendera -it sama dengan –stdin –tty. Menyertakan argumen ini akan mengalokasikan TTY ke wadah, melampirkannya, dan menghubungkan aliran stdin terminal Anda. Ini memberi Anda shell interaktif di dalam container.

Sekarang Anda dapat melakukan tugas debug Anda dari dalam container sementara Anda.

Copying Pods

Cara lain untuk menggunakan kubectl debug adalah dengan argumen –copy-to. Ini membuat salinan dari Pod target dan menambahkan container ephemeral ke salinan tersebut. Pod asli dibiarkan utuh.

$ kubectl debug -it --image=ubuntu:20.04 --copy-to nginx-debug

Fitur ini memberi Anda jaminan lebih besar bahwa perubahan yang dibuat selama debugging tidak akan berdampak langsung pada Anda production application.

Menyalin Pod juga memungkinkan Anda mengaktifkan proses berbagi namespace. Ini membuat proses yang ada di Pod Anda terlihat oleh container ephemeral Anda. Itu tidak dapat digunakan dengan wadah yang ada karena bidang spec.shareProcessNamespace mereka biasanya akan disetel ke false. Menjalankan kubectl debug dengan flag –copy-to dan –share-processes akan mengaktifkan proses berbagi pada Pod yang disalin, membuat prosedur ini jauh lebih intuitif:

$ kubectl debug -it --image=ubuntu:20.04 --copy-to nginx-debug --share-processes

Daftar proses yang terlihat oleh wadah Ubuntu singkat Anda sekarang akan menyertakan proses NGINX:

$ ps ax 
PID USER TIME COMMAND 
1 root 0:00 /jeda 9 root 0:00 nginx : master process nginx -g daemon off;

Proses ini masih berjalan di container NGINX terpisah di dalam Pod Anda. Berbagi namespace juga menyediakan akses ke sistem file container target melalui /proc:

$ ls /proc/9/root/etc/nginx 
conf.d fastcgi_params mime.types modules nginx.conf ...

Menyalin Pod dengan cara ini oleh karena itu merupakan alat debugging yang kuat. Anda dapat dengan mudah memeriksa file dan proses Pod menggunakan wadah terpisah yang disiapkan dengan alat yang sudah dikenal.

Argumen Opsional

Bendera –copy-to selalu membiarkan Pod asli tetap utuh secara default. Anda dapat membuat operasi bertindak sebagai pengganti alih-alih menggunakan –replace. Ini akan menghentikan Pod.

$ kubectl debug pertama -it --image=ubuntu:20.04 --copy-to nginx-debug --replace 
nginx-555649fd747-qsnr2

Kubernetes akan menjadwalkan Pod yang disalin ke Node. Ini bisa menjadi masalah jika Anda ingin memastikan lingkungan pengujian yang konsisten. Menambahkan –same-node akan menjadwalkan salinan ke Node Pod yang ada, menghilangkan perbedaan yang mungkin ada antara mesin di cluster.

$ kubectl debug Anda -it --image=ubuntu:20.04 --copy-to nginx-debug - -same-node

Opsi lain yang berguna adalah –env untuk mengatur variabel lingkungan tambahan di dalam wadah sementara Anda. Anda mungkin perlu menggunakan ini untuk mengonfigurasi alat debugging atau mengganti nilai yang diwarisi dari Pod.

$  kubectl debug -it --image=ubuntu:20.04 --copy-to nginx-debug --env EDITOR=/usr/bin/ nano

Terakhir, ingat bahwa container yang dibuat oleh kubectl debug tidak harus interaktif. Anda dapat dengan mudah menjalankan perintah satu kali terhadap Pod Anda menggunakan sintaks seperti kubectl exec. Argumen –attach didukung untuk mengontrol apakah shell Anda terhubung ke container saat Anda tidak menjalankan dengan -i (–stdin).

$ kubectl debug --image=ubuntu:20.04 --copy-to nginx-debug --share-processes --attach true nginx-555649fd747-qsnr2 -- ls /proc/9/root/etc/nginx conf.d 
fastcgi_params mime.types modules nginx.conf ...

Kesimpulan

Ephemeral container dan perintah kubectl debug menyediakan pengalaman debug yang disederhanakan untuk beban kerja Kubernetes. Anda dapat menjalankan perintah di dalam Pod menggunakan image yang berbeda dengan container biasa Anda. Ini memungkinkan Anda mengakses alat debug yang tidak disertakan dalam image.

kubectl debug aplikasi Anda juga dapat membuat salinan Pod dan membagikan prosesnya dengan yang asli. Mekanisme ini memungkinkan Anda memeriksa proses di container Pod target, dari container ephemeral terpisah yang Anda kendalikan sepenuhnya. Ini menyediakan opsi debugging yang lebih canggih ketika Anda perlu menginterogasi proses yang sedang berjalan.

Itulah berita seputar Cara Menyelidiki Masalah Kontainer Kubernetes Dengan “Kubectl Debug”, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Inilah Ketentuan Lengkap TKA Susulan 2026 SD dan SMP, Cek Syarat dan Jadwal Resminya Di Sini!
  • Inilah Kurikulum Berbasis Cinta Madrasah: Panduan Lengkap dan Link Download PDF Terbaru 2026
  • Inilah Kronologi Mencekam Kecelakaan KA Argo Bromo Anggrek Tabrak KRL di Bekasi Timur yang Bikin Jalur Kereta Lumpuh Total
  • Inilah Alasan Kenapa Hari Libur dan Tanggal Penting Selalu Ditulis Pakai Warna Merah di Kalender
  • Inilah Cara Daftar Jalur Prestasi Politeknik PU Semarang 2026, Kesempatan Kuliah di Kampus Kementerian PU!
  • Inilah Cara Cek Bansos PKH dan BPNT 2026 Lewat HP, Lengkap dengan Jadwal Cair dan Besaran Dananya!
  • Inilah Alasan Kemdiktisaintek Bakal Tutup Banyak Jurusan Kuliah yang Nggak Relevan dengan Industri
  • Inilah Status Libur Hari Pendidikan Nasional 2026 dan Sejarah Penting di Baliknya
  • Inilah Daftar Libur Mei 2026 yang Bikin Full Senyum, Siapkan Rencana Liburan Kalian Sekarang!
  • Inilah Daftar Universitas Terbaik di Jepang Versi THE Asia University Rankings 2026, Kampus Mana yang Jadi Incaran Kalian?
  • Inilah Alasan Kenapa Kemdiktisaintek Bakal Tutup Sejumlah Prodi dan Fokus ke 8 Industri Strategis
  • Inilah Sosok Richard Aldrich McCurdy, Penguasa Asuransi yang Terjerat Skandal di Masa Gilded Age
  • Inilah Alasan Suhu Bumi Naik Drastis dan Cara Kita Menghadapi Ancaman Cuaca Ekstrem
  • Apa itu Pasukan Perdamaian PBB?
  • Inilah 25 Universitas Paling Internasional di Dunia 2026, Ternyata Kampus di Asia Mulai Merajai!
  • Inilah 10 PTS Terbaik di Indonesia Versi Webometrics 2026 yang Bisa Jadi Referensi Kalian
  • Inilah Cara Daftar Kuliah di Universitas Al-Azhar Mesir 2026 Lewat Jalur Resmi Kemenag
  • Inilah Daftar 20 PTN Terbaik Indonesia Versi Webometrics 2026, Kampus Impian Kalian Ada Nggak?
  • Inilah Profil Donny Sucahya, Sosok Pengusaha Muda yang Viral Karena Bisnis dan Pernikahannya
  • Inilah Alasan Kenapa Belalang Daun Bisa Berubah Warna dari Pink ke Hijau, Ternyata Mirip Daun!
  • Inilah Kenapa eBay Error dan Mengenal The Hacktivist Group 313 yang Mengklaim Bertanggung Jawab Atas Gangguan Global Tersebut
  • Inilah Alasan Kenapa eBay Error dan Sampai Kapan Gangguan Ini Berlangsung
  • Inilah Sosok Karyn Putri dan Alasan Video Viral IKEA Bikin Geger Netizen Soal Etika Self Service
  • Inilah Cara Mengatasi Error 3302 Pinterest di iPhone Biar Bisa Save Gambar Lagi
  • Inilah Jadwal Maintenance Pokemon HOME 27 April 2026 dan Alasan Kenapa Kalian Nggak Bisa Login Sementara
  • Inilah Cara Mengatasi Error Code 4 YouTube dan Penyebab Video Tidak Bisa Diputar
  • Inilah Cara Daftar Program Bina BNI Kanwil 08, Peluang Karir Perbankan Menarik Buat Kalian Para Fresh Graduate!
  • Inilah Arti Kenapa Nyak yang Lagi Viral, Simak Penjelasan Lengkap dan Cara Pakainya!
  • Inilah Arti Haji Mabrur dan Mabruroh Serta Kumpulan Doa dan Tradisi Walimatul Safar yang Penting Kalian Pahami
  • Inilah BUSSID Mod Terbaru 2026, Rahasia Bikin Pengalaman Berkendara Jadi Lebih Realistis dan Seru!
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to Master Claude & NotebookLM to Boost Research and Productivity
  • How to create professional design prototypes and presentations with the power of Claude Design & Figma
  • How to Master Claude Code 2.0: The Ultimate Guide to AI Automation
  • How to Create Consistent AI-Generated Short Films and Assets with Seedance 2.0
  • How to create stunning sci-fi AI movie visuals like a pro With Seedance 2.0
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme