Mengenal Node dalam Kubernetes

node dalam kubernetes

Penggunaan kubernetes sebagai platform manajemen orkestrasi container semakin meluas, dan satu elemen kunci yang memainkan peran integral dalam ekosistem ini adalah “node”. Node dalam kubernetes merujuk pada mesin fisik atau virtual di mana container dijalankan. 

Memahami konsep node menjadi penting dalam mengoptimalkan distribusi dan kinerja aplikasi yang dijalankan dalam lingkungan kubernetes. Melalui artikel ini, terdapat pembahasan secara rinci tentang definisi, komponen hingga manajemen dan keamanan node dalam ekosistem kubernetes.

kubernetes node

Definisi Node dalam Kubernetes

Kubernetes Node merupakan mesin pelaksana yang menjalankan beban kerja pada platform kubernetes. Mesin ini dapat berupa perangkat keras fisik (bare metal) atau mesin virtual (VM). Setiap node memiliki kemampuan untuk menjadi host satu atau lebih pod.

Pengelolaan node  dilakukan oleh suatu kontrol bidang, yang secara otomatis mengurus penerapan dan penjadwalan pod di seluruh node dalam cluster kubernetes. Saat melakukan penjadwalan pod, kontrol bidang melakukan evaluasi terhadap sumber daya yang tersedia di setiap node. Pada setiap node, terdapat dua komponen utama yang beroperasi, yaitu kubelet dan runtime container.

Komponen Utama Node dalam Kubernetes

Ada tiga komponen utama dari node kubernetes yang perlu dikenali. Di antaranya yaitu:

  • Kubelet

Kubelet bertugas mengurus pelaksanaan pod pada node kubernetes. Ini menerima instruksi dari server API dan memerintahkan runtime container untuk memulai atau menghentikan kontainer sesuai kebutuhan.

  • Kube-Proxy

Ini adalah proksi jaringan yang berjalan pada tiap node kubernetes. Tugasnya adalah menjaga aturan jaringan di setiap node. Aturan jaringan ini memungkinkan komunikasi jaringan antara node dan pod. Kube-proxy bisa meneruskan lalu lintas secara langsung atau menggunakan filter paket pada lapisan sistem operasi.

  • Runtime Container

Lapisan perangkat lunak ini bertanggung jawab atas eksekusi kontainer. Ada beberapa runtime container yang didukung oleh kubernetes, seperti Containers, CRI-O, Docker, dan berbagai implementasi lain dari Container Runtime Interface (CRI) pada Kubernetes.

 

4 Operasi Dasar pada Node Kubernetes

Ada 4 operasi umum pada node kubernetes. Di antaranya adalah sebagai berikut:

1. Menambahkan Node ke Cluster

  • Pendaftaran Node: Node dapat didaftarkan secara manual atau otomatis oleh kubelet. Kontrol bidang akan memvalidasi node baru yang sehat untuk menjalankan pod.
  • Definisi Kapasitas Node: Administrasi perlu menetapkan kapasitas saat membuat node secara manual agar penjadwalan pod sesuai dengan kapasitas yang ada.

2. Memodifikasi Objek Node

Penggunaan label pada node dan pemilih node dapat mengatur penjadwalan pod serta menandai node yang tidak dapat dijadwalkan.

3. Memeriksa Status Node

  • Deskripsi Node: Perintah `kubectl describe nodes` memberikan informasi seperti HostName, InternalIP, ExternalID, kondisi, dan peristiwa yang terkait dengan node.
  • Deskripsi Pods: Perintah `kubectl describe pods` memberikan detail pod yang berjalan pada node, termasuk status siap, status kontainer, dan log aktivitas.

4. Pengontrol Node

  • Penetapan Alamat CIDR: Pengontrol node menetapkan blok CIDR saat node didaftarkan.
  • Pembaruan Daftar Node: Daftar node internal diperbarui secara teratur untuk memastikan kapasitas terpenuhi.
  • Pemantauan Kesehatan Node: Pengontrol node memeriksa kesehatan node, memperbarui kondisi, dan mengelola pod saat node tidak dapat dijangkau.

Operasi ini penting untuk memantau, menambah, dan memodifikasi node dalam cluster Kubernetes demi menjaga performa dan ketersediaan aplikasi yang dijalankan.

Manajemen Node Kubernetes

Manajemen terkait node dalam kubernetes tentu berkaitan dengan node status dalam kubernetes memberikan informasi berguna seperti alamat node, kondisi, kapasitas/allokasinya, dan informasi sistem. Ini juga memberikan rincian yang diperlukan untuk membantu penjadwal kubernetes memetakan pod ke node yang paling cocok. Namun, untuk menjaga kesehatan node dan efisiensi optimal dalam kluster, Anda akan bekerja dengan tiga alat kubernetes lainnya, yaitu:

  • Kubectl

Yaitu Command-Line Interface (CLI) asli kubernetes untuk menjalankan perintah terhadap cluster Kubernetes melalui control plane dan API Kubernetes. Ini memberikan kemampuan untuk list node, deskripsi status node, debugging interaktif, memperlihatkan penggunaan sumber daya node, dan operasi lainnya.

  • Node Controller

Komponen kontrol plane ini memiliki tiga peran utama; menetapkan alamat CIDR, memperbarui daftar node internal, dan memonitor kesehatan node.

  • Kubelet

Agent Kubernetes yang mengelola pod di setiap node dan mengirimkan informasi ke dan dari kontrol plane.

Keamanan node kubernetes

Keamanan Node Kubernetes

Dua komponen utama, kubelet dan kube-proxy, memiliki kerentanan yang perlu diatasi dengan mengupgrade versi dan menerapkan patch terbaru secara teratur. Disarankan untuk menerapkan tindakan otentikasi yang kuat untuk membatasi akses ke kubelet yang tidak diautentikasi secara default.

Langkah-langkah untuk memperkuat keamanan node meliputi memastikan konfigurasi host sesuai dengan standar CIS Benchmark, mengontrol akses ke port sensitif, serta membatasi akses administratif ke node kubernetes. Isolasi beban kerja sensitif juga disarankan untuk mencegah penyerang mengakses aplikasi sensitif melalui runtime container yang sama. Upaya isolasi menggunakan kontrol seperti kumpulan node, namespace, toleransi, dan noda dapat membantu dalam menjaga keamanan infrastruktur kubernetes.

Kesimpulan

Kubernetes menggunakan “Node” sebagai mesin untuk menjalankan container, dengan komponen utama seperti kubelet, kube-proxy, dan runtime container. Pentingnya pemantauan, pengaturan, dan keamanan Node memengaruhi performa aplikasi dalam cluster kubernetes. Manajemen node memanfaatkan alat seperti Kubectl, Node Controller, dan upaya keamanan seperti penerapan patch terbaru, otentikasi kuat, dan isolasi untuk menjaga keamanan infrastruktur.

Apakah Anda Sedang Mencari Layanan Kubernetes?

Setelah memahami pentingnya Node dalam Kubernetes, inilah saatnya untuk menjelajahi KubeRaya dari CloudRaya. Dengan KubeRaya, nikmati skalabilitas dan efisiensi tingkat tinggi yang siap untuk dideploy kapan saja dan di mana saja. Jangan lewatkan kesempatan untuk meningkatkan infrastruktur IT Anda dengan KubeRaya – pilihan cerdas untuk solusi Kubernetes Anda, yuk registrasi sekarang!

Facebook
Twitter
LinkedIn

Ready, Set, Cloud

Ready, Set, Cloud