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

  • SEO LinkedIn: Inilah Alasan Kenapa LinkedIn Ads Lebih Efektif Buat Bisnis B2B Dibanding Platform Lain
  • Inilah Alasan Kenapa Kolom Komentar YouTube Kalian Sering Menghilang Secara Misterius!
  • Cara Kelola Auto-Posting Semua Media Sosial Kalian Pakai Metricool
  • Studi Kasus Sukses Instagram Maria Wendt Dapat 12 Juta View Instagram Per Bulan
  • ZenBook S16, Vivobook Pro 15 OLED, ProArt PX13, dan ROG Zephyrus G14, Laptop Bagus dengan Layar OLED!
  • Caranya Ngebangun Website Directory dengan Traffic Tinggi dalam Seminggu!
  • Cara Mengembangkan Channel YouTube Shorts Tanpa Wajah
  • Inilah Cara Menghitung Diskon Baju Lebaran Biar Nggak Bingung Saat Belanja di Mall!
  • Cara Jitu Ngebangun Bisnis SaaS di Era AI Pakai Strategi Agentic Workflow
  • Inilah Rincian Gaji Polri Lulusan Baru 2026, Cek Perbedaan Jalur Akpol, Bintara, dan Tamtama Sebelum Daftar!
  • Inilah 5 Channel YouTube Membosankan yang Diam-diam Menghasilkan Banyak Uang
  • Inilah Cara Pakai Google Maps Offline Biar Mudik Lebaran 2026 Nggak Nyasar Meski Tanpa Sinyal!
  • Inilah Alasan Mahkamah Agung Tolak Kasasi Google, Denda Rp202,5 Miliar Resmi Menanti Akibat Praktik Monopoli
  • Inilah Cara Daftar dan Syarat SPMB SMK Boarding Jawa Tengah 2026, Sekolah Gratis Sampai Lulus!
  • Inilah Daftar Sekolah Kedinasan 2026 untuk Lulusan SMK, Bisa Kuliah Gratis dan Berpeluang Besar Langsung Jadi CPNS!
  • Inilah Pajak TER: Skema Baru PPh 21 yang Nggak Bikin Pusing, Begini Cara Hitungnya!
  • Inilah Jadwal Resmi Jam Buka Tol Jogja-Solo Segmen Prambanan-Purwomartani Saat Mudik Lebaran 2026
  • Inilah Cara Mendapatkan Witherbloom di Fisch Roblox, Rahasia Menangkap Ikan Paling Sulit di Toxic Grove!
  • Kenapa Indomart Point Bisa Kalahkan Bisnis Kafe?
  • Inilah Cara Mendapatkan Rotten Seed di Fisch Roblox, Lokasi Rahasia di Toxic Grove Buat Unlock Toxic Lotus!
  • Inilah Cara Zakat Crypto Kalian Bisa Jadi Pengurang Pajak Berdasarkan Aturan Resmi Pemerintah!
  • Inilah Perbandingan Airwallex vs Payoneer 2026: Jangan Sampai Profit Kalian Ludes Gara-Gara Biaya Admin!
  • Inilah Roadmap 7 Tahap Bangun Bisnis Digital dari Nol Biar Nggak Cuma Putar-Putar di Tempat!
  • Inilah Cara Tetap Gajian dari YouTube Meski View Masih Ratusan, Penasaran?
  • Inilah Alasan Akun TikTok Affiliate GMV 270 Juta Kena Banned Permanen!
  • Inilah Bahaya Astute Beta Server APK, Jangan Sembarang Klik Link Download FF Kipas 2026!
  • Inilah Bahaya Nonton Film di LK21 dan IndoXXI, Awas Data Pribadi dan Saldo Rekening Kalian Bisa Ludes!
  • Inilah Kronologi & Video Lengkap Kasus Sejoli Tambelangan Sampang Viral, Ternyata Gini Awal Mulanya!
  • Inilah Alasan Kenapa Koin Nego Neko Shopee Nggak Bisa Dipakai Bayar Full dan Cara Rahasia Dapetinnya!
  • Inilah Cara Menjawab Pertanyaan Apakah di Sekolahmu Sudah Ada IFP/PID dengan Benar dan Profesional
  • What is the 99% Deletion Bug? Understanding and Fixing Windows 11 File Errors
  • How to Add a Password to WhatsApp for Extra Security
  • How to Recover Lost Windows Passwords with a Decryptor Tool
  • How to Fix Python Not Working in VS Code Terminal: A Troubleshooting Guide
  • Game File Verification Stuck at 0% or 99%: What is it and How to Fix the Progress Bar?
  • How to Training Your Own YOLO26 Object Detection Model!
  • How to Build a Full-Stack Mobile App in Minutes with YouWare AI
  • How to Create Consistent Characters and Cinematic AI Video Production with Seedance
  • How to Find Your Next Viral Product Using PiPiAds AI Like a Pro!
  • Create Your Own Netflix-Style Documentaries Using AIQORA in Minutes!
  • 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