Apakah itu Kubernetes POD?

Kubernetes, POD, Worker Node, Master Node, Container Engine, Dockers, CRI-O

POD adalah sebuah kumpulan yang terdiri dari satu atau lebih Container yang saling bekerja sama.

Kubernetes POD adalah unit Computing terkecil yang bisa dibuat di dalam Kubernetes.

POD dibuat di atas sebuah Node; lebih dari satu POD dapat berbagi suatu Node yang sama. ContainerContainer yang terdapat di dalam POD memiliki jaringan dan storage resource yang sama dengan Host Node tersebut, termasuk spesifikasi untuk menentukan bagaimana Container tersebut harus di jalankan.

POD merupakan sebuah analogi, karena didesain untuk berfungsi seperti tanaman kacang polong.

Meskipun sebuah POD dapat terdiri dari banyak Container, biasanya setiap POD hanya menampung satu Container, atau sekumpulan Container berjumlah sedikit yang terintegrasi dengan erat.

Pengguna Kubernetes harus menghosting aplikasi Container bersama yang terintegrasi secara mendalam di sebuah POD; tanpa Container, aplikasi atau layanan ini harus berjalan di mesin virtual atau fisik yang sama.

POD diisolasi dengan namespace Linux atau cgroups. Untuk tiap POD, satu aplikasi di dalamnya dapat diisolasi lebih lanjut.

Operator dapat mengekspos informasi tentang POD, Node dan / atau Container dengan menggunakan environment variable.  Environment Variable dari POD akan menunjukkan aplikasi yang berada di dalam Container POD.

Di dalamnya dapat ditemukan resource yang dibutuhkannya, atau cara mengkonfigurasi komponen di dalamnya. Informasi ini ditransfer ke dalam Container saat aplikasi di jalankan (runtime). Meskipun Node juga berisi variable environment, tetapi informasi ini tidak ditransfer ke Container. Environment Variable ini bersifat statis dan ditentukan oleh pengguna.

Kubernetes POD Management

Kubernetes dapat menjalankan Docker Container runtime serta CoreOS rkt dan CRI-O, yang merupakan singkatan dari Kubelet Container Runtime Interface. CRI-O menggunakan runtime yang comply dengan Open Container Initiative.

Pengguna dapat membuat POD secara manual, tetapi biasanya Kubernetes Controller lah yang membuat POD dan replikanya untuk memastikan high availability dan horizontal scaling. Misalnya, Saat pengguna meminta tiga instance baru di sebuah POD, Kubernetes akan membuat tiga POD sebagai resource di level API. Scheduler akan menemukan Node yang sesuai untuk setiap POD dan menempatkan POD tersebut di Node yang tepat.

Container dalam sebuah POD memiliki IP dan port address yang sama. Mereka dapat menemukan satu sama lain melalui localhost. Aplikasi di dalam satu POD yang sama, dapat mengakses shared storage volume yang berada di dalam POD tersebut.

POD juga memfasilitasi komunikasi antara Container dengan menggunakan komunikasi standar seperti share memori POSIX atau semaphore SystemV. Container di satu POD memiliki IP address yang berbeda dari Container di POD lain, dan tidak dapat berkomunikasi menggunakan protokol IPC. Namun, komunikasi antara Kubernetes POD ke POD yang lain dapat terjadi dengan mudah melalui network service.

Misalnya, jika front-end suatu aplikasi berada dalam POD di satu Node, back-end dapat berada di Node yang sama, di node yang berbeda, dalam 10 instance tersebar di berbagai Node, dan POD front-end hanya terhubung ke sebuah service yang merepresentasikan POD atau POD back-end.

Bagaimana cara menggunakan POD?

Dalam environment Kubernetes, POD biasanya bersifat sementara bersama dengan Container aplikasi. Pengguna mendesain sebuah POD; dibuatkan identifikasi unik dan resource allocation; dan sistem akan menjadwalkan pendeployannya ke Node yang sesuai, disertakan dengan pengaturan seputar kualitas layanan. POD tersebut akan menggunakan Node tersebut hingga sesi tersebut dihentikan atau POD tersebut dihapus.

Saat Node dimatikan, POD yang terpasang di Node tersebut akan dijadwalkan untuk dihapus, mengikuti periode waktu tunggu tertentu. POD individual yang ditandai dengan ID unik, tidak akan dijadwalkan ulang ke Node baru.

POD tersebut dapat disalin dan diganti dengan POD yang identik. Pengguna kemudain dapat mendaur ulang nama dan ID yang sama untuk POD baru.

Source: Kubernetes POD Definition 

  • Virtualisasi Cloud Computing
    Virtualisasi Cloud Computing Adalah Virtualisasi merupakan sebuah proses abstraksi yang mengacu pada proses abstraksi yang berasal dari sumber daya computer, dimana teknik yang dilakukan adalah menyembunyikan karakteristik fisik serta mengubahnya …
  • Mencegah Ransomware pada SAP
    Pada Rabu, 31 Agustus 2022 Datacomm Cloud Business (DCB) sebagai salah satu unit divisi dari PT Datacomm Diangraha kembali menyelenggarakan seminar. Kali ini topik yang dibawakan yaitu mencegah ransomware pada …
  • Cloud Native dan Keunggulannya
    Dewasa ini, adopsi teknologi cloud menjadi suatu hal yang banyak dilakukan oleh perusahaan. Seiring dengan perkembangannya, teknologi cloud ini bukan lagi mengandalkan pada konsep cloud secara konvensional atau yang biasa …
  • Perbedaan Object, Block, dan File Storage
    Media penyimpanan atau storage merupakan suatu perangkat digital yang penggunaannya dekat sekali dalam kehidupan sehari-hari untuk menyimpan berbagai data penting. Keberadaan dari teknologi berupa storage ini merupakan suatu hal yang …
  • SAP FICO
    System Application and Product in data processing (SAP) merupakan suatu software Enterprise Resource Planning (ERP) yang keberadaannya menjadi sebuah solusi untuk banyak perusahaan dalam hal membantu mereka mencapai efisiensi yang …