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

  • SALAH! MIT Ungkap AI Tidak Ganti Karyawan Karena Efisiensi
  • Inilah Inovasi Terbaru Profesor UI: Pelumas Mobil dari Minyak Nabati!
  • Daftar Sekarang! Beasiswa S2 di Italia dari IYT Scholarship 2026 Sudah Dibuka
  • Sejarah Hantavirus dan Perkembangannya Sampai ke Indonesia
  • Kementerian Pendidikan: Mapel Bahasa Inggris Wajib di SD Mulai 2027!
  • Ketua Fraksi PKB MPR-RI: Kemenag Respon Cepat Pendidikan Santri Ndolo Kusumo Pati yang Terdampak
  • Viral Video Sejoli Di Balai Kota Panggul Trenggalek, Satpol PP Janji Usut
  • Video Viral Wakil Wali Kota Batam Tegur Keras Pasir Ilegal
  • LPDP Buka Peluang Beasiswa S3 Prancis 2026, Simak Syaratnya!
  • Inilah Panduan Lengkap dan Aturan Main Seleksi Penerimaan Murid Baru (SPMB) SMA dan SMK Negeri Jawa Tengah Tahun 2026
  • Inilah Syarat dan Cara Daftar MOFA Taiwan Fellowship 2027
  • RESMI! Inilah Macam Jalur di SPMB Sekolah Tahun Ajaran 2026
  • Ini Loh Rute Terbaru TransJOGJA Per Mei 2026, Jangan Salah Naik!
  • Inilah Jadwal Operasional MRT Jakarta Per Mei 2026, Berubah Dimana?
  • Inilah Syarat dan Mekanisme Seleksi Siswa Unggul ITB Jalur Talenta (OSN, Seniman, Hafidz, Atlet dll) 2026/2027
  • Inilah Daftar Saham Farmasi di BEI Per Mei 2026, Pilih Mana?
  • Kesehatan Mental Itu Penting: Inilah Isi Chat Terakhir Karyawan Minimarket Sukabumi Bundir
  • Inilah Kampus Swasta Terbaik Jurusan Farmasi di Area Malang Raya
  • Cara Login EMIS 4.0 Kemenag Terbaru 2026 Pakai Akun Lembaga dan PTK Guru Madrasah Aktivasi
  • Survei Parpol Terbaru: Gerindra Unggul, PDIP Ketiga, PKB 5%
  • PKB Resmi Jalin Kerjasama dengan Institut Teknologi & Sains NU Kalimantan
  • Inilah Urutan Terbaru Pangkat TNI Angkatan Darat! (Update 2026)
  • Inilah Panduan Lengkap Operator Sekolah Mengelola SPTJM e-Ijazah dan Menghindari Kesalahan Fatal Data Kelulusan
  • Inilah Syarat dan Penilaian Seleksi Siswa Unggul ITB Jalur UTBK
  • Download Video Viral Guru Bahasa Inggris? Awas Berisi Virus!
  • PKB Minta Kasus C4bul Pendiri Ponpes Pati Tidak Ada Ampunan & Tuntutan Maksimal
  • Inilah Kronologi Video Viral Preman vs Sopir Di Sumedang
  • Ini Alasan UKP Pariwisata Disindir Konten Kreator Drone Gunung Rinjani
  • Inilah Kronologi Viral Video Dugaan Asusila Pegawai Disdik Pasuruan di Mobil Dinas
  • Polisi Polda Sumut Resmi Dipecat: Dari Video Viral Sampai Sidang Etik Ini Kronologinya
  • How to build a high-performance private photo cloud with Immich and TrueNAS SCALE
  • How to Build an Endgame Local AI Agent Setup Using an 8-Node NVIDIA Cluster with 1TB Memory
  • How to Master Windows Event Logs to Level Up Your Cybersecurity Investigations and SOC Career
  • How to Build Ultra-Resilient Databases with Amazon Aurora Global Database and RDS Proxy for Maximum Uptime and Performance
  • How to Build Real-Time Personalization Systems Using AWS Agentic AI to Make Every User Feel Special
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • 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