Pengelogan dengan kubectl logs
Akses dan analisis log kontena secara terus daripada kelompok Kubernetes anda menggunakan kubectl.
Pengelogan dengan kubectl logs ialah pelajaran Kem Intensif DevOps 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 Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps 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: AlwaysMelihat 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-loggerMenstrim 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-loggerLog 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-loggerLog 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-containerMenapis 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 kepadagrepuntuk 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=5Cabaran 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.
Pelajari Kem Intensif DevOps 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
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Pengelogan dengan kubectl logs” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, 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 Kem Intensif DevOps 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 Kem Intensif DevOps 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 Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps 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 Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps 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
- Pengelogan dengan kubectl logs
- Metrik dengan Prometheus & Grafana
- Pemeriksaan Kesihatan: Prob Keaktifan & Kesediaan
- Penjejakan Teragih dan Peristiwa