Skip to main content

Mengenal CRI-O sebagai Container Runtime untuk Kubernetes

CRI-O merupakan salah satu container runtime yang bisa digunakan untuk kubernetes yang bersifat free dan open sources. CRIO menjadi salah satu alternatif container runtime yang bisa digunakan pada kubernetes selain Docker.

Aristektur

CRI-O architecture

Arsitektur diatas merupakan penerapan cri-o pada environment kubernetes dimana flownya sebagai berikut

  • Kubernetes akan meminta kubelet untuk membuat pod
    • pod adalah entitas terkecil didalam kubernetes dimana pada pod terdapat satu atau lebih container yang saling berbagi sumber daya seperti IPC, NET dan PID namespace dan berjalan didalam cgroup yang sama
  • Kemudian kubelet akan meneruskan permintaan ke CRI-O melalui kubernetes CRI (Container Runtime Interface) untuk menjalankan pod baru
  • CRI-O mengunakan library containers/image untuk pull image dari sebuah image registry
  • hasil download image akan di ekstrak kedalam filesistem root container, dimana akan disimpan pada filesistem COW mengunakan library containers/storage
  • setelah rootfs terbuat untuk container, maka CRI-O akan mengenerate file json spesifikasi runtime OCI (Open Container Initiative) yang menjelaskan cara menjalankan container mengunakan tools OCI generator
  • CRIO kemudian menjalankan OCI compatible runtime mengunakan spesifikasi yang sudah digenerate sebelumnya untuk menjalankan sebuah proses container, dimana default OCI runtime adalah runc
  • setiap container akan dimonitor oleh proses conmon terpisah. proses conmon mengunakan pty pid 1 dari proses contianer untuk menangani logging kontainer dan mencatat exit code pada proses kontainer
  • Networking pada pod akan dibuat mengunakan CNI, dimana terdapat banyak CNI yang bisa digunakan dengan CRIO seperti calico, flannel, weave dan lain-lain

Read More

How to renew or recreate a node’s certificate in Openshift 4.x / OKD 4.x

kasus ini biasanya terjadi ketika sebuah node  meminta approval certificate namun tidak diapprove oleh admin (mungkin karena lupa atau tidak tau ada permintaan approval)

Biasanya node openshift akan meminta approval certificate pada waktu tertentu, jika suatu certificate tidak diapprove terkadang node yg bersangkutan akan error dan tidak melakukan request ulang secara otomatis, jadi kita perlu melakukan trigger pada node yg error untuk meminta approval certificate ulang, biasanya akan muncul error seperti dibawah ini

Read More

Install Red Hat Advanced Cluster Security (StackRox) on Openshift 4.8

Red Hat OpenShift Advanced Cluster Security

pada ekosistem kontainer salah satu hal yang perlu dipertimbangkan adalah melindungi aplikasi/layanan dan infrastruktur. pada tulisan ini kita akan membahas terkait StackRox Kubernetes Security Platform dimana ini akan mengotomasi dan menerapkan complaiance/standar pada deployment kontainer.

StackRox merupakan salah satu produk container security yang cukup populer, mungkin selain itu ada Aquasec dll, dimana pada bulan Februari 2021 Red Hat sudah mengakuisisi StackRox dan berubah namanya menjadi Red Hat Advanced Cluster Security (RHACS).

Biasanya kalau kita membahas tentang kontainer maka biasanya berikatan dengan DevOps atau agile, dimana itu biasanya hanya memfokuskan pada kecepatan development dan deployment dengan memanfaatkan CI/CD Automation, namun kurang memperhatikan dari faktor keamanan atau dengan kata lain (DeSecOps), maka untuk mengatasi hal tersebut kita bisa memanfaatkan tools container security seperti StackRox (RHACS) dimana fungsinya lumayan banyak seperti :

  1. Visibility
  2. Vulnerability Management
  3. Compliance
  4. Network Segmentation
  5. Risk Profiling
  6. Configuration Management
  7. Threat Detection
  8. Incident Response

Read More

Upgrade Openshift 4.6 ke 4.7.21

Upgrade OCP Cluster pada versi 4.x sangat mudah dengan adanya cluster operator dimana kita hanya perlu memilih channel kemudian upgrade ke versi yang ingin kita gunakan dimana pada tulisan ini saya akan upgrade openshift cluster saya dari versi 4.6.39 ke 4.7.21

*Note: Mohon maaf jika tulisan ini kurang lengkap karena ini hanya buat catatan pribadi saya aja

Hal yang perlu diperhatikan pada saat upgrade OCP versi 4.x ini ada beberapa diantaranya adalah:

Pada saat memilih channel perlu diperhatikan karena terdapat 3 channel dan masing2 channel memiliki fungsi sendiri

  1. Candidate
  2. Fast
  3. Stable
  4. Eus

Read More

Extend Filesystem root / sysroot pada Openshift CoreOS (RHCOS) 4.6

Pada openshift versi 4, semua node harus mengunakan sistem operasi Redhat CoreOS.

CoreOS merupakan sistem operasi yang digunakan secara khusus untuk lingkungan kontainer dan bersifat immutable. Dalam hal ini saya akan membahas extend storage pada salah satu node openshift

Note: Tulisan ini berlaku untuk Redhat Openshift(Redhat CoreOS) ataupun OKD (Fedora CoreOS)

  1. Extend virtual Disk pada vcenter (Edit Setting)

merubah kapasitas dari 120 GB menjadi 200 GB

Read More

install Wazuh 4.1 All in One Deployment pada Centos 7

Wazuh merupakan software yang bersifat opensource dan gratis yang berfungsi untuk monitoring security terutama untuk solusi threat prevention/detection, integrity monitoring, incident response dan compliance.

Arsitektur

pada dasarnya secara arsitektur wazuh mengunakan Elastic stack (Elastic search, Kibana) sebagai media untuk menyimpan log dan alert, namun pada wazuh terdapat wazuh manager dan wazuh agent untuk melakukan manipulasi log kedalam elasticsearch.

Read More

Menggunakan NFS untuk StorageClass pada OpenShift

Storage Class dapat mempermudah user untuk pneggunaan storage pada container orchestration. Dengan Storage Class, user hanya perlu membuat sebuah Persisten Volume Claim (PVC) dan tanpa perlu sentuhan sedikitput di ranah Persistent Volume atatu NFS server untuk menggunakan layanan storage.

Pada tutorial ini kita menggunakan Kubernetes Incubator untuk membangun Storage Class dan automatic storage provisioning
Berikut adalah requirement yg dibutuhkan :

  1. Red Hat OpenShift
  2. NFS Server

Read More

Cara melakukan start container Docker otomatis setelah Reboot.

 

Seringkali ketika kita melakukan restart vm/server/desktop yang trinstall Docker maka container yang kita jalankan sebelumnya pada Daemon akan secara Stop. Untuk mengatasi masalah ini, kita dapat menggunakan cara berikut:

Sebenarnya Docker sendiri sudah memiliki fitur tersebut dengan menggunakan option –restart dengan flag unless-stopped 

Ketika pertama kali menaikkan container kita dapat melakukannya dengan cara seperti betikut: Read More