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

  • Cek HP Anak, Apakah Ada Video Viral Cukur Kumis Bawah
  • Jika ATM Terpelanting, Apakah Saldo Aman?
  • Inilah 5 Rekomendasi Smartwatch Terbaik di Bawah Rp1 Jutaan
  • Siapa Daud Tony yang Ramal Jatuhnya Saham & Harga Emas-Perak?
  • Berapa Cuan Dari 1.000 Tayangan Reels Facebook Pro?
  • Apakah Jika Ganti Baterai HP, Data akan Hilang?
  • Apa itu Game Sakura School Simulator Solwa?
  • Hasil Benchmark Xiaomi Pad 8 Global Bocor! Siap-siap Masuk Indonesia Nih
  • KAGET! Ressa Rizky Rossano Akui Sudah Nikah & Punya Anak
  • Inilah Kronologi Ledakan Bom Rakitan SMPN 3 Sungai Raya, Kubu Raya Kalbar
  • Cara Mengatasi Error 208 BCA Mobile
  • Hapus Sekarang! Inilah Hornet, App LGBTQ Tembus Indonesia, Hati-hati
  • Berapa Lama Sih Ngecas HP 33 Watt? Ini Dia Penjelasannya!
  • Cara Cek Saldo Hana Bank Lewat SMS
  • Update Sistem Google Februari 2026: Apa yang Baru dan Perlu Kalian Tahu?
  • Membership FF Bulanan & Mingguan: Berapa DM yang Harus Kalian Siapkan?
  • Maksimal Ngecas HP Berapa Kali Sehari? Boleh 2 Kali Nggak, Sih?
  • Cara Mengatasi Error “Try Again, Open in Another App”
  • Sideload Android: Cara Pasang APK Tanpa Google Play Store (Panduan Lengkap 2026)
  • iPhone Jadi Kamera Vintage Modular? Proyek Kickstarter Ini Bikin Kagum!
  • Cara Mengatasi Video Nest Cam Bermasalah dan Video Hilang
  • iTunes Masih Jadi Rajanya Music? Ini Faktanya!
  • Google Home Smart Button Makin Canggih: Kini Otomatisasi Lebih Fleksibel!
  • F1: The Movie Raih Grammy! Tak Terduga, Kalahkan Bintang Country Ternama
  • Blokir Situs Judi Online: Lindungi Diri & Keluarga dari Dampak Negatif
  • Belanda Larang Anak di Bawah 16 Tahun Gunakan Media Sosial: Ini Detailnya!
  • Gemini Live Mendapat Desain Ulang ‘Floating UI’ yang Super Keren!
  • Galaxy S26 Kehilangan Magnet Qi2? Kebocoran Terbaru Bikin Penasaran!
  • DCT Coin: Crypto Legitim atau Penipuan? Bedah Tuntas, Harga & Fakta Penting!
  • Apple Rilis Update Terbaru untuk iOS, macOS, watchOS & Lainnya!
  • Arch Linux February ISO Released with Kernel Updates and Security Fixes
  • Fish Shell 4.4 Released: Enhanced Vi Mode & New Themes Explained
  • How to Create Local User Accounts in Windows 11 Without an Online Account 2026
  • How to Game on an ARM-Based Computer/Arduino
  • Minisforum MS-S1 MAX – 128GB RAM Review
  • Cara Membuat Podcast dari PDF dengan NotebookLlama dan Groq
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Google Code Wiki?
  • Cara Membuat Agen AI Otomatis untuk Laporan ESG dengan Python dan LangChain
  • Cara Membuat Pipeline RAG dengan Framework AutoRAG
  • 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
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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