Tujuan
+-
+
- Belajar tentang Pod Kubernetes. +
- Belajar tentang Node Kubernetes. +
- Mengatasi masalah pada aplikasi-aplikasi yang di-deploy. +
Pod Kubernetes
+Ketika kamu membuat sebuah Deployment di Modul 2, Kubernetes membuatkan sebuah Pod untuk menempatkan instans aplikasimu. Pod merupakan sebuah abstraksi Kubernetes yang merepresentasikan sebuah grup yang terdiri dari satu atau lebih kontainer (seperti Docker), dan beberapa sumber daya bersama untuk kontainer-kontainer itu. Sumber daya tersebut termasuk:
+-
+
- Penyimpanan bersama, disebut Volume +
- Jaringan, sebagai satu alamat IP klaster unik +
- Informasi tentang bagaimana mejalankan tiap kontainer, seperti versi image kontainer atau porta spesifik yang digunakan +
Pod memodelkan sebuah "logical host" spesifik aplikasi dan dapat berisi beberapa kontainer aplikasi berbeda yang relatif terkait erat. Contohnya, sebuah Pod mungkin terdiri atas kontainer aplikasi Node.js dan juga kontainer berbeda yang bertugas menyediakan data untuk dipublikasikan ke server web Node.js. Kontainer-kontainer dalam sebuah Pod berbagi satu alamat IP dan ruang porta, selalu terletak bersama dan terjadwal bersama, dan berjalankan dalam satu konteks bersama (shared context) pada Node yang sama.
+ +Pod merupakan unit terkecil dalam platform Kubernetes. Ketika kita membuat sebuat Deployment, Deployment tersebut membuat Pod dengan kontainer-kontainer di dalamnya (bukannya dengan membuat kontainer secara langsung). Tiap Pod terikat langsung dengan Node di mana dia dijadwalkan dan tetap di sana sampai terminasi (berdasarkan restart policy) atau pengapusan. Jika terjadi kegagalan pada sebuah Node, Pod indentik akan dijadwalkan di Node lain dalam klaster.
+ +Ringkasan:
+-
+
- Pod +
- Node +
- Perintah utama kubectl +
+ Pod merupakan sebuah grup yang terdiri dari satu atau lebih kontainer aplikasi (seperti Docker) dan berisi penyimpanan bersama (volume), alamat IP dan informasi tentang bagaimana menjalankan mereka. +
++ +
Ikhtisar Pod
++ +
Node
+Sebuah Pod selalu berjalan dalam sebuah Node. Node merupakan sebuah mesin pekerja di Kubernetes dan dapat dimungkinkan mesin virtual ataupun fisik, tergantung dari klaster. Tiap Node dikelola oleh Master. Satu Node dapat memiliki beberapa pod, dan master Kubernetes otomatis menangani penjadwalan pod seluruh Node-Node dalam klaster. Penjadwalan otomatis oleh Master memperhitungkan tersedianya sumber daya tiap Node.
+ +Tiap Node Kuberbetes menjalankan setidaknya:
+-
+
- Kubelet, satu proses yang bertanggung jawab untuk berkomunikasi antara Master Kuberneter dan Node; ini juga mengelola Pod-Pod dan kontainer-kontainer yang berjalan di sebuah mesin. +
- Satu waktu larian kontainer (container runtime), seperti Docker, bertanggung jawab untuk menarik image kontainer dari registri, membuka kontainer, dan menjalankan aplikasi. +
Kontainer seharusnya hanya dijadwalkan bersama di satu Pod jika terkait erat dan membutuhkan sumber daya bersama seperti diska.
++ +
Ikhtisar Node
++ +
Mengatasi masalah dengan kubectl
+Dalam Modul 2, kamu menggunakan antarmuka baris perintah Kubctl. Kamu akan lanjut menggunakannya di Modul 3 untuk mendapatkan informasi tentang aplikasi-aplikasi yang di-deploy dan lingkungannya. Operasi yang paling umum dapat dilakukan dengan perintah kubectl berikut:
+-
+
- kubectl get - daftar sumber daya +
- kubectl describe - menampilkan detil informasi tentang suatu sumber daya +
- kubectl logs - mecetak log-log dari satu kontainer dalam sebuah pod +
- kubectl exec - eksekusi sebuah perintah pada satu kontainer dalam sebuah pod +
Kamu dapat menggunakan perintah ini kapan aplikasi-aplikasi di-deploy, apa status mereka saat ini, di mana mereka berjalan, dan apa konfigurasi mereka.
+ +Sekarang karena kita lebih mengetahui tentang klaster kita dan baris perintahnya, mari kita menjelajah aplikasi kita.
+ +Node merupakan mesin pekerja di Kubernetes dan bisa berupa VM ataupun mesin fisik, tergantung pada klaster. Beberapa Pod dapat berjalan dalam satu Node.
++ +