Asas Kubernetes · Pelajaran

Pengelogan dengan kubectl logs

Akses dan analisis log kontena secara terus daripada kelompok Kubernetes anda menggunakan kubectl.

Pelajaran 1 daripada 411 langkah

Pengelogan dengan kubectl logs ialah pelajaran Asas Kubernetes percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Asas Kubernetes, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Asas Kubernetes merangkumi sejumlah 4 pelajaran.

Mengapa Log Penting dalam Kubernetes

Dalam Kubernetes, memahami perkara yang dilakukan oleh aplikasi anda adalah penting. Log ibarat diari aplikasi anda yang merekodkan peristiwa, ralat dan kemas kini status.

Log penting untuk:

  • Penyahpepijatan: Mengenal pasti punca masalah apabila sesuatu tidak berjalan dengan betul.
  • Pemantauan: Memerhati kesihatan dan prestasi aplikasi.
  • Pengauditan: Menjejaki tindakan dan perubahan dari semasa ke semasa.

Log Bekas Diterangkan

Apabila aplikasi dalam bekas berjalan, biasanya aplikasi itu menulis output ke aliran output piawai (stdout) dan ralat piawai (stderr). Kubernetes mengumpulkan aliran ini untuk setiap bekas.

Aliran ini kemudiannya disediakan melalui API Kubernetes, membolehkan anda mengaksesnya dengan mudah tanpa perlu menggunakan SSH untuk masuk ke nod atau bekas individu.

Memperkenalkan kubectl logs

Arahan kubectl logs ialah alat utama anda untuk mengakses log daripada bekas yang berjalan dalam Pod Kubernetes anda. Arahan ini mudah digunakan dan menawarkan beberapa pilihan yang berkuasa.

Penggunaan paling asas hanya memerlukan anda menentukan nama Pod yang ingin diperiksa.

Mencipta Pod yang Menjana Log

Untuk melihat kubectl logs berfungsi, bayangkan kita telah menggunakan Pod ringkas yang terus-menerus mengeluarkan mesej ke output piawainya. Ini akan mensimulasikan aplikasi sebenar yang menjana log.

Berikut ialah YAML untuk Pod tersebut (anda boleh menggunakannya dengan kubectl apply -f):

apiVersion: v1
kind: Pod
metadata:
  name: busybox-logger
spec:
  containers:
  - name: busybox-container
    image: busybox
    command: ['sh', '-c', 'while true; do echo "$(date) - Hello from BusyBox"; sleep 5; done']
  restartPolicy: Always

Melihat Log Pod Asas

Setelah Pod busybox-logger anda berjalan (semak dengan kubectl get pods), anda boleh mendapatkan lognya menggunakan perintah asas kubectl logs.

Perintah ini akan memaparkan semua entri log yang direkodkan sehingga ketika itu.

kubectl logs busybox-logger

Menstrim Log Masa Nyata

Untuk penyahpepijatan langsung, anda sering perlu melihat log semasa ia berlaku, sama seperti tail -f di Linux. Bendera -f atau --follow melakukan perkara ini.

Perintah ini menstrim entri log baharu secara berterusan daripada bekas.

kubectl logs -f busybox-logger

Log daripada Bekas Sebelumnya

Jika bekas dalam Pod anda ranap dan dimulakan semula, kubectl logs secara lalai memaparkan log daripada tika *semasa* yang sedang berjalan.

Untuk melihat log daripada tika *sebelumnya* bagi bekas yang telah ditamatkan, gunakan bendera --previous atau -p. Ini amat berguna untuk menyahpepijat sebab bekas mungkin gagal.

kubectl logs -p busybox-logger

Log daripada Bekas Tertentu

Sesetengah Pod boleh menjalankan berbilang bekas (contohnya, aplikasi utama dan bekas sisi untuk pengelogan atau pemantauan). Jika Pod anda mempunyai lebih daripada satu bekas, anda mesti menentukan log bekas yang hendak dilihat menggunakan bendera -c atau --container.

kubectl logs my-multi-container-pod -c my-sidecar-container

Menapis dan Mengehadkan Keluaran Log

Kadang-kadang anda hanya memerlukan bahagian tertentu daripada log atau hanya entri terkini. Anda boleh menggabungkan kubectl logs dengan perintah Linux standard atau menggunakan bendera terbina dalam:

  • Tapis dengan grep: Salurkan keluaran kepada grep untuk mencari kata kunci tertentu.
  • Hadkan baris dengan --tail: Paparkan hanya N baris terakhir log.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5

Cabaran Perintah Log

Anda mempunyai Pod bernama my-app-pod dengan dua bekas: frontend dan backend. Bekas backend baru-baru ini ranap dan dimulakan semula. Anda ingin melihat log daripada tika sebelumnya bekas backend.

Ringkasan Log dan Penyahpepijatan

Tahniah! Anda telah mempelajari asas penting untuk mengakses dan menganalisis log bekas menggunakan kubectl logs. Perintah berkuasa ini amat penting untuk memahami dan menyelesaikan masalah aplikasi anda yang berjalan dalam Kubernetes.

Perintah utama yang perlu diingati:

  • kubectl logs <pod-name>: Mendapatkan log asas.
  • kubectl logs -f <pod-name>: Menstrim log dalam masa nyata.
  • kubectl logs -p <pod-name>: Melihat log daripada tika bekas sebelumnya.
  • kubectl logs -c <container> <pod-name>: Menyasarkan log daripada bekas tertentu.
Percuma untuk bermula

Pelajari Asas Kubernetes dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Pengelogan dengan kubectl logs” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Asas Kubernetes, termasuk “Pengelogan dengan kubectl logs”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Asas Kubernetes merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengelogan dengan kubectl logs”?

Akses dan analisis log kontena secara terus daripada kelompok Kubernetes anda menggunakan kubectl. Anda berlatih Asas Kubernetes menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Asas Kubernetes?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Asas Kubernetes di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Pengelogan dengan kubectl logs” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Asas Kubernetes ini?

Ya. Setiap pelajaran Asas Kubernetes menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Pengelogan dengan kubectl logs
  2. Metrik dengan Prometheus & Grafana
  3. Pemeriksaan Kesihatan: Prob Keaktifan & Kesediaan
  4. Penjejakan Teragih dan Peristiwa
← Kembali ke Asas Kubernetes