Point Pembelajaran  :

  • Menjelaskan Arsitekture dari kontainer linux
  • Install Podman untuk mengelola kontainer
Mengenal Sejarah Container
Container sebenarnya sudah ada sejak lama, misalnya Solaris 9 sudah memperkenalkan teknologi container yang diberi nama zones( 1 solaris terdapat Zones 1, Zones 2 dst sesuai kebutuhan ). kelemahannya teknologi zones ini hanya bisa di jalankan di sistem operasi solaris. Di linux juga ada namnya LXC linux yaitu Container untuk linux namun penerapannya cukup lumayan susah.  Vserver merupakan teknologi yang menjadi cikal bakal dari berkembangnya  Container. Sampai saat ini Container sudah sangat populer.

Semua inovasi dan fitur teknologi containerisasi berfokus pada konsep dasar: 
  • Memungkinkan proses berjalan terisolasi saat masih mengakses sumber daya sistem. Konsep ini adalah dasar dari wadah teknologi dan dasar untuk semua implementasi kontainer.
  •  Kontainer satu dengan yang lainnya menggunakan sumber daya ssesuai yang dibutuhkan. Misal pada Case kontainer memiliki beberapa replika dari layanan yang sama (misalnya,server database) di host yang sama. Setiap replika memiliki sumber daya yang terisolasi (sistem file, port, memori), jadi layanan tidak perlu menangani berbagi sumber daya. Isolasi menjamin layanan itu tidak merusak layanan atau wadah lain di host yang sama, atau dalam sistem yang mendasarinya.


Namespaces
Namespaces merupakan salah satu Ide dari visualisasi Container.  Kernel dapat mengisolasi sumber daya sistem tertentu, biasanya terlihat oleh semua proses, dengan menempatkan sumber daya dalam namespace. Di dalam namespace, hanya proses yang menjadi anggota namespace itu dapat melihat sumber daya tersebut. Namespaces dapat menyertakan sumber daya seperti jaringan antarmuka, daftar ID proses, mount point, sumber daya IPC, dan nama host sistem informasi

Control groups (cgroups)
Mempartisis sekumpulan proses dan juga child child proses yang ada ke dalam kelompok untuk mengelola dan membatsi resource yang dikonsumsi. Tujuan dari cgroups adalah mencegah dalam satu proses menggunakan terlalu banyak resource dari Host.

Seccomp
Membatsi bagaimana proses dapat mengggunakan system calls.

SELinux
kernel linux menggunakan SELinux(Security-Enhanced Linux) untuk melindungi masing - masing proses atau proses satu dengan yang lainnya dan melindungi sitem host dari proses yang sedang berjalan. Proses berjalan sebagai tipe SELinux memilki akses terbatas ke sumber daya sistem host. SELinux dapat membantu di layer aplikasi yang memberikan perlindungan terhadap data yang dimiliki, sebagai contoh misal kita memiliki web server bisa mengakses seperti folder /tmp untuk melakukan eksploitasi namun dengan SELinux folder /tmp dapat disembunyakin agar tidak bisa di akses dari luar.

Istilah  Penting Arsitektur Linux Container 
Containers :  Lingkungan tersendiri dari user-space untuk menjalankan aplikasi yang terisolasi dari aplikasi lain di atas OS yang sama.
Image : Blue print dari Container atau template untuk membangun container yang di dalamnya memiliki sebuah runtime environment dan semua library maupun file konfigurasi.

Image Repository
Tempat kumpulan images - images yang dapat digunakan secara public maupun private.

• Katalog Kontainer Red Hat [https://registry.redhat.io]
• Docker Hub [https://hub.docker.com]
• Red Hat Quay [https://quay.io/]
• Google Container Registry [https://cloud.google.com/container-registry/]
• Amazon Elastic Container Registry [https://aws.amazon.com/ecr/]

Mengelola Kontainer dengan Podman
Podman adalah tool open source untuk mengelola container, image container, dan berinteraksi dengan image registry. Deafult interaksi ketika mencari image dengan podman  jika di lokal tidak maka akan mencari ke https://registry.redhat.io. Podman menggunakan format khusus yang ditentukan oleh Open Container Initiative(OCI) yang merupakan spesifikasi untuk menentukan format image standard, berbasis community, dan no-proprierty (tanpa hak milik) image format.

Podman menyimpan local images di local file-system. Disini bertujuan untuk menghindari arsitektur client/server atau menjalankan daemons di mesin lokal. Podman memiliki command yang hampir sama dengan Docker CLI. Podman kompatible dengan kubernetes.

Untuk melakukan installasi dari Podman di Red Hat Enterprise Linux, Fedora atau sisten berbasis RPM, yaitu dengan run sudo yum install podman or sudo dnf install podman


  

No comments:

Post a Comment