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 Rencana Gila China Balap AS ke Bulan Sebelum 2030
  • Inilah Spesifikasi Resmi Macbook Pro M5 yang Masuk Indonesia
  • Nonton Drama Bisa Dapat Cuan? Simak Cara Main Yudia APK Biar Nggak Salah Langkah!
  • Cuma Nonton Drama Pendek Bisa Cair Saldo DANA? Cobain Aplikasi Melolo, Begini Caranya!
  • Nonton Drama Bisa Dapat Cuan? Jangan Senang Dulu, Simak Fakta Mengejutkan Aplikasi Cash Drama Ini!
  • Ini Video Asli Bocil Block Blast 1 VS 3 di TikTok, Awas Jangan Asal Klik Link Sembarangan!
  • Instapop Terbukti Membayar atau Cuma Tipuan? Cek Faktanya Sebelum Kalian Buang Waktu Main Game!
  • Geger Video Botol Coca Cola 24 Detik di TikTok, Jangan Asal Klik! Ini Fakta Sebenarnya
  • Apa itu Video Botol Makarizo Viral? Ini Faktanya
  • Apa itu Merge Fruit Master? Ini Pengertian dan Cara Main Game yang Katanya Bisa Menghasilkan Saldo
  • Apa itu Shortbox? Ini Pengertian dan Cara Menghasilkan Uang di Aplikasinya
  • Masih Bingung Bedanya CRM dan ERP? Ini Tips Cari Software CRM dan ERP Terbaik
  • Begini Cara Hapus Akun DANA Premium Secara Permanen!
  • Bukan Cuma Mitos! Ternyata Dinasti Song Punya Tempat Nongkrong Mirip PIK, Begini Isinya
  • Bukan Fiksi! Ini Bukti Manusia Punya ‘Kekuatan Super’ Akibat Mutasi Genetik dan Lingkungan
  • Dikelilingi Cincin Api, Kok Kalimantan Malah Nggak Punya Gunung Berapi? Ini Jawabannya!
  • Misteri Newgrange: Kuburan Batu 5.000 Tahun yang Menyimpan Peta Galaksi, Kok Bisa?
  • Transformasi Ekstrem Pesawat IL-96: Ganti 4 Mesin Jadi 2 Mesin Raksasa PD-35, Emang Bisa?
  • Apakah Aplikasi Cash Reels Penipu?
  • Ini Daftar Kode Redeem Fish It Roblox Terbaru Januari 2026 buat Panen Hadiah!
  • Main Game Dapat Duit? Cek Dulu Fakta Shop Shelf Master Sebelum Nyesel!
  • Monitor Putih Sejutaan Spek Dewa, Acer S243y Bikin Ngiler!
  • Kapsul Luar Angkasa China Ini Bisa Mendarat Selembut Awan, SpaceX Bakal Ketar-ketir?
  • Kereta Maglev 500 KM/Jam: Proyek Gila 1.100 Triliun dari Jepang
  • Kenapa Perusahaan China Mulai Ungguli Amerika di Sektor AI dan Otomotif
  • Mau Beli iPhone 17 Tapi Budget Mepet? Ini Daftar Alternatif iPhone yang Masih Layak Dibeli
  • Apa itu OFTV? Pengertian OnlyFans TV: Platform Streaming Gratis Tanpa Iklan dari OnlyFans
  • Heboh Video 5 Menit Elga Puruk Cahu, Kok Bisa Seviral Itu? Ini Link Downloadnya?
  • Cara Mengatasi Masalah Windows Deactivated Setelah Kloning Disk
  • Investasi Bitnest Janjikan Profit Stabil, Yakin Aman? Cek Dulu Faktanya Sebelum Nyesel!
  • Apa itu Cosmic Desktop: Pengertian dan Cara Pasangnya di Ubuntu 26.04?
  • Apa Itu Auvidea X242? Pengertian Carrier Board Jetson T5000 dengan Dual 10Gbe
  • Elementary OS 8.1 Resmi Rilis: Kini Pakai Wayland Secara Standar!
  • Apa Itu Raspberry Pi Imager? Pengertian dan Pembaruan Versi 2.0.3 yang Wajib Kalian Tahu
  • Performa Maksimal! Ini Cara Manual Update Ubuntu ke Linux Kernel 6.18 LTS
  • Tutorial Membuat Game Dengan LangChain
  • X Terancam Sanksi Eropa Gara-Gara AI Grok Bikin Deepfake Anak Kecil
  • Nano Banana 2 Flash Itu Apa Sih? Ini Penjelasan Lengkapnya
  • Inilah Cara Install dan Pakai ChatGPT Atlas Browser, Pesaing Baru di Dunia Web
  • Inilah Cara Mengamankan Aplikasi LLM dengan AI Guardrails agar Tidak Halusinasi dan Bocor Data
  • Jadi Subscriber OnlyFans? Ini Risiko Fatal yang Mengintai Kalian!
  • Apa Itu CVE-2025-14733? Ini Pengertian Vulnerability Kritis di WatchGuard Firebox
  • Apa itu CVE-2020-12812? Ini Pengertian dan Bahaya Bug 2FA Bypass di Fortinet
  • Trust Wallet Hack? Ini Penjelasan Lengkap Mengenai Serangan Sha1-Hulud
  • Geger Tren Botol Golda di TikTok! Begini Cara Nonton Video Aslinya Tanpa Kena Tipu
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