0Pricing
DevOps Bootcamp · Pelajaran

Logging dengan kubectl logs

Akses dan analisis log container langsung dari cluster Kubernetes menggunakan kubectl.

Logging dengan kubectl logs adalah pelajaran DevOps Bootcamp gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Mengapa Catatan Penting di Kubernetes

Di Kubernetes, memahami aktivitas aplikasi Anda sangat penting. Catatan ibarat buku harian aplikasi yang merekam kejadian, kesalahan, dan pembaruan status.

Catatan tersebut penting untuk:

  • Penelusuran Kesalahan: Menemukan sumber masalah ketika terjadi kesalahan.
  • Pemantauan: Mengawasi kesehatan dan kinerja aplikasi.
  • Audit: Melacak tindakan dan perubahan dari waktu ke waktu.

Penjelasan Catatan Kontainer

Saat aplikasi dalam kontainer berjalan, biasanya aplikasi tersebut menulis keluaran ke aliran keluaran standar (stdout) dan kesalahan standar (stderr). Kubernetes mengumpulkan aliran ini untuk setiap kontainer.

Aliran ini kemudian tersedia melalui API Kubernetes, sehingga Anda dapat mengaksesnya dengan mudah tanpa harus menggunakan SSH ke node atau kontainer individual.

Memperkenalkan kubectl logs

Perintah kubectl logs adalah alat utama Anda untuk mengakses catatan dari kontainer yang berjalan dalam Pod Kubernetes. Perintah ini mudah digunakan dan menyediakan beberapa opsi yang andal.

Penggunaan paling dasar cukup dengan menentukan nama Pod yang ingin Anda periksa.

Membuat Pod Penghasil Catatan

Untuk melihat cara kerja kubectl logs, bayangkan kita telah menerapkan Pod sederhana yang terus-menerus menampilkan pesan ke keluaran standarnya. Ini akan mensimulasikan aplikasi nyata yang menghasilkan catatan.

Berikut YAML untuk Pod tersebut (Anda dapat menerapkannya menggunakan 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 Dasar

Setelah Pod busybox-logger Anda berjalan (periksa dengan kubectl get pods), Anda dapat mengambil log-nya menggunakan perintah dasar kubectl logs.

Perintah ini akan menampilkan semua entri log yang tercatat hingga saat itu.

kubectl logs busybox-logger

Mengalirkan Log secara Real-time

Untuk penelusuran kesalahan secara langsung, Anda sering perlu melihat log saat peristiwa terjadi, mirip dengan tail -f di Linux. Opsi -f atau --follow melakukan hal tersebut.

Opsi ini terus mengalirkan entri log baru dari container.

kubectl logs -f busybox-logger

Log dari Container Sebelumnya

Jika sebuah container di dalam Pod Anda mengalami kerusakan dan dimulai ulang, secara bawaan kubectl logs menampilkan log dari instans yang sedang berjalan.

Untuk melihat log dari instans container sebelumnya yang telah dihentikan, gunakan opsi --previous atau -p. Opsi ini sangat berguna untuk menelusuri alasan container mungkin gagal.

kubectl logs -p busybox-logger

Log dari Container Tertentu

Beberapa Pod dapat menjalankan beberapa container (misalnya, aplikasi utama dan sidecar untuk pencatatan log atau pemantauan). Jika Pod Anda memiliki lebih dari satu container, Anda harus menentukan log container mana yang ingin dilihat menggunakan opsi -c atau --container.

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

Memfilter & Membatasi Keluaran Log

Terkadang Anda hanya memerlukan bagian tertentu dari log atau hanya entri terbaru. Anda dapat menggabungkan kubectl logs dengan perintah Linux standar atau menggunakan opsi bawaan:

  • Memfilter dengan grep: Salurkan keluaran ke grep untuk menemukan kata kunci tertentu.
  • Membatasi baris dengan --tail: Tampilkan hanya N baris terakhir dari log.
kubectl logs busybox-logger | grep "Hello"
kubectl logs busybox-logger --tail=5

Tantangan Perintah Log

Anda memiliki Pod bernama my-app-pod dengan dua container: frontend dan backend. Container backend baru saja mengalami kerusakan dan dimulai ulang. Anda ingin melihat log dari instans sebelumnya container backend.

Ringkasan Log & Penelusuran Kesalahan

Selamat! Anda telah mempelajari dasar-dasar mengakses dan menganalisis log container menggunakan kubectl logs. Perintah yang andal ini sangat penting untuk memahami dan mengatasi masalah pada aplikasi yang berjalan di Kubernetes.

Perintah penting yang perlu diingat:

  • kubectl logs <pod-name>: Mengambil log dasar.
  • kubectl logs -f <pod-name>: Mengalirkan log secara real-time.
  • kubectl logs -p <pod-name>: Melihat log dari instans container sebelumnya.
  • kubectl logs -c <container> <pod-name>: Menargetkan log dari container tertentu.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Logging dengan kubectl logs” gratis?

Ya — teks lengkap “Logging dengan kubectl logs” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Logging dengan kubectl logs”?

Akses dan analisis log container langsung dari cluster Kubernetes menggunakan kubectl. Kamu berlatih DevOps Bootcamp dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Logging dengan kubectl logs” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Logging dengan kubectl logs
  2. Metrik dengan Prometheus & Grafana
  3. Pemeriksaan Kesehatan: Probe Keaktifan & Kesiapan
  4. Pelacakan Terdistribusi dan Peristiwa
← Kembali ke DevOps Bootcamp