Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menunjukkan cara menggunakan peristiwa Kubernetes untuk memantau dan memecahkan masalah di kluster Azure Kubernetes Service (AKS).
Apa itu peristiwa Kubernetes?
Peristiwa adalah salah satu sumber yang paling menonjol untuk memantau dan memecahkan masalah di Kubernetes. Mereka menangkap dan merekam informasi tentang siklus hidup berbagai objek Kubernetes, seperti pod, simpul, layanan, dan penyebaran. Dengan memantau peristiwa, Anda dapat memperoleh visibilitas ke dalam aktivitas kluster Anda, mengidentifikasi masalah, dan memecahkan masalah secara efektif.
Peristiwa Kubernetes tidak bertahan di seluruh siklus hidup kluster Anda, karena tidak ada mekanisme retensi. Peristiwa hanya tersedia selama satu jam setelah peristiwa dibuat. Untuk menyimpan peristiwa untuk jangka waktu yang lebih lama, aktifkan Container Insights.
Objek peristiwa Kubernetes
Tabel berikut mencantumkan beberapa objek peristiwa Kubernetes utama:
| Nama bidang | Deskripsi |
|---|---|
| jenis | Jenis didasarkan pada tingkat keparahan peristiwa: Peristiwa peringatan menandakan situasi yang berpotensi bermasalah, seperti pod berulang kali gagal atau node kehabisan sumber daya. Mereka memerlukan perhatian, tetapi mungkin tidak mengakibatkan kegagalan langsung. Kejadian normal mewakili operasi rutin, seperti pod yang dijadwalkan atau peningkatan skala penyebaran. Mereka biasanya menunjukkan perilaku kluster yang sehat. |
| alasan | Alasan mengapa peristiwa tersebut dihasilkan. Misalnya, FailedScheduling atau CrashLoopBackoff. |
| message | Pesan yang dapat dibaca manusia yang menjelaskan peristiwa tersebut. |
| namespace | Namespace objek Kubernetes yang dikaitkan dengan peristiwa tersebut. |
| firstSeen | Tanda waktu ketika peristiwa pertama kali diamati. |
| lastSeen | Tanda waktu kapan peristiwa terakhir kali diamati. |
| PengendaliPelaporan | Nama pengontrol yang melaporkan peristiwa. Contohnya, kubernetes.io/kubelet. |
| objek | Nama objek Kubernetes yang dikaitkan dengan peristiwa tersebut. |
Untuk informasi selengkapnya, lihat dokumentasi resmi Kubernetes.
Melihat peristiwa Kubernetes
Cantumkan kubectl get events semua peristiwa di kluster Anda menggunakan perintah .
Dengan asumsi kluster Anda sudah dibuat dan tersedia (sesuai dengan prasyarat dokumen), dapatkan kredensial (perhatikan bahwa flag --overwrite-existing disetel untuk menghindari kesalahan kubeconfig):
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER --overwrite-existing
Sekarang cantumkan semua peristiwa di kluster Anda:
kubectl get events
Hasil:
LAST SEEN TYPE REASON OBJECT MESSAGE
xxm Normal Scheduled pod/my-pod-xxxxx Successfully assigned default/my-pod-xxxxx to aks-nodepoolxx-xxxxxxx-vmss000000
xxm Normal Pulled pod/my-pod-xxxxx Container image "nginx" already present on machine
xxm Normal Created pod/my-pod-xxxxx Created container nginx
xxm Normal Started pod/my-pod-xxxxx Started container nginx
...
Lihatlah peristiwa pod tertentu dengan terlebih dahulu menemukan nama pod dan kemudian menggunakan kubectl describe pod perintah .
Daftarkan pod dalam namespace saat ini.
kubectl get pods
Hasil:
NAME READY STATUS RESTARTS AGE
my-pod-xxxxx 1/1 Running 0 xxm
nginx-deployment-xxxxx 1/1 Running 0 xxm
...
Ganti <pod-name> di bawah ini dengan nama pod Anda yang sebenarnya. Untuk otomatisasi, berikut adalah contoh untuk pod pertama dalam daftar:
POD_NAME=$(kubectl get pods -o jsonpath="{.items[0].metadata.name}")
kubectl describe pod $POD_NAME
Praktik terbaik untuk memecahkan masalah dengan kejadian
Memfilter peristiwa untuk relevansi
Anda mungkin memiliki berbagai namespace dan layanan yang berjalan di kluster AKS Anda. Memfilter peristiwa berdasarkan jenis objek, namespace, atau alasan dapat membantu mempersempit hasil ke informasi yang paling relevan.
Misalnya, Anda dapat menggunakan perintah berikut untuk memfilter peristiwa dalam namespace default:
kubectl get events --namespace default
Mengotomatiskan pemberitahuan peristiwa
Untuk memastikan respons tepat waktu terhadap peristiwa penting di kluster AKS Anda, siapkan pemberitahuan otomatis. Azure menawarkan integrasi dengan layanan pemantauan dan pemberitahuan seperti Azure Monitor. Anda dapat mengonfigurasi pemberitahuan untuk dipicu berdasarkan pola peristiwa tertentu. Dengan cara ini, Anda segera diberi tahu tentang masalah penting yang memerlukan perhatian.
Meninjau peristiwa secara teratur
Biasakan meninjau peristiwa secara teratur di kluster AKS Anda. Pendekatan proaktif ini dapat membantu Anda mengidentifikasi tren, menangkap potensi masalah lebih awal, dan mencegah eskalasi. Dengan tetap berada di atas peristiwa, Anda dapat menjaga stabilitas dan performa aplikasi Anda.
Langkah selanjutnya
Setelah memahami peristiwa Kubernetes, Anda dapat melanjutkan perjalanan pemantauan dan pengamatan dengan mengaktifkan wawasan Kontainer.