{"id":2804,"date":"2021-10-25T16:46:19","date_gmt":"2021-10-25T09:46:19","guid":{"rendered":"https:\/\/www.routecloud.net\/blog\/?p=2804"},"modified":"2021-10-25T16:46:20","modified_gmt":"2021-10-25T09:46:20","slug":"mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes","status":"publish","type":"post","link":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/","title":{"rendered":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes"},"content":{"rendered":"\n<p>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. <\/p>\n<h4 id=\"architecture\">Aristektur<\/h4>\n<p><img src=\"https:\/\/cri-o.io\/assets\/images\/architecture.png\" alt=\"CRI-O architecture\" \/><\/p>\n<p>Arsitektur diatas merupakan penerapan cri-o pada environment kubernetes dimana flownya sebagai berikut<\/p>\n<ul>\n<li>Kubernetes akan meminta kubelet untuk membuat pod\n<ul>\n<li>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<\/li>\n<\/ul>\n<\/li>\n<li>Kemudian kubelet akan meneruskan permintaan ke CRI-O melalui kubernetes CRI (Container Runtime Interface) untuk menjalankan pod baru<\/li>\n<li>CRI-O mengunakan library containers\/image untuk pull image dari sebuah image registry<\/li>\n<li>hasil download image akan di ekstrak kedalam filesistem root container, dimana akan disimpan pada filesistem COW mengunakan library containers\/storage<\/li>\n<li>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<\/li>\n<li>CRIO kemudian menjalankan OCI compatible runtime mengunakan spesifikasi yang sudah digenerate sebelumnya untuk menjalankan sebuah proses container, dimana default OCI runtime adalah <strong>runc<\/strong><\/li>\n<li>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<\/li>\n<li>Networking pada pod akan dibuat mengunakan CNI, dimana terdapat banyak CNI yang bisa digunakan dengan CRIO seperti calico, flannel, weave dan lain-lain<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h4 id=\"architecture\">Komponen<\/h4>\n<p>CRI-O terbuat dari beberapa komponen yang terdapat pada github diantaranya adalah<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/opencontainers\/runtime-tools\">OCI compatible runtime<\/a><\/li>\n<\/ul>\n<p>CRI-O mendukung runtime yang kompatibel dengan OCI dan sudah teruji dengan <strong>runc<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/containers\/storage\">containers\/storage<\/a><\/li>\n<\/ul>\n<p>ini digunakan untuk mengatur layer dan membuat file sistem root untuk kontianer pada sebuah pod dan dapat di implementasikan pada tipe file sistem seperti : overlayfs, deveicemapper, AUFS dan btrfs dengan defaultnya adalah Overlayfs<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/containers\/image\">containers\/image<\/a><\/li>\n<\/ul>\n<p>ini digunakan untuk download atau pull image dari registry. utnuk saat ini mendukung docker <a href=\"https:\/\/docs.docker.com\/registry\/spec\/manifest-v2-1\/\">schema 2\/version 1<\/a> dan <a href=\"https:\/\/docs.docker.com\/registry\/spec\/manifest-v2-2\/\">schema 2\/version 2<\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/containernetworking\/cni\">networking (CNI)<\/a><\/li>\n<\/ul>\n<p>pada Container Network Interface digunakan untuk seting jaringan pada pod.\u00a0 beberapa plugin CNI seperti Flannel, Weave dan Openshift-SDN telah diuji dengan CRI-O dan berfungsi sesuai harapan<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/containers\/conmon\">container monitoring (conmon)<\/a><\/li>\n<\/ul>\n<p>conmon merupakan tools dialan CRIO yang digunakan untuk memantau kontainer, menangani logging dari proses kontainer serta mendeteksi adanya Out of memory (OOM)<\/p>\n<ul>\n<li>untuk security disediakan beberapa inti kernel pada linux<\/li>\n<\/ul>\n<p><span class=\"VIiyi\" lang=\"id\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"0\" data-number-of-phrases=\"1\">Kebijakan pemisahan keamanan kontainer disediakan oleh serangkaian tools termasuk SELinux, Capabilities, seccomp, dan kebijakan pemisahan keamanan lainnya sebagaimana ditentukan dalam Spesifikasi OCI.<\/span><\/span><\/p>\n<h4 id=\"architecture\">Package Distribusi<\/h4>\n<p>CRI-O dibangun untuk native package managers mengunakan <a href=\"https:\/\/build.opensuse.org\" rel=\"nofollow\">openSUSE&#8217;s OBS<\/a><\/p>\n<p>CRI-O mengikuti siklus <a href=\"https:\/\/kubernetes.io\/docs\/setup\/release\/version-skew-policy\/#supported-versions\" rel=\"nofollow\">Kubernetes support cycle<\/a> dari tiga rilis minor. CRI-O mendukung beberapa sistem operasi seperti berikut:<\/p>\n<pre class=\"lang:default decode:true \">Fedora 31+\nopenSUSE\nCentOS 8\nCentOS 8 Stream\nCentOS 7\nDebian Unstable\nDebian Testing\nDebian 10\nRasbian 10\nxUbuntu 20.10\nxUbuntu 20.04\nxUbuntu 18.04\n<\/pre>\n<p>untuk install bisa memilih sistem operasi diatas dengan export variable seperti ini <code>export VERSION=1.19<\/code> atau jika ingin sampai level subproject bisa mengunakan <code>export VERSION=1.19:1.19.1<\/code><\/p>\n<h4 id=\"architecture\">Panduan Instalasi<\/h4>\n<p>OpenSUSE<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo zypper install cri-o<\/code><\/pre>\n\n\n\n<p>Fedora 31 atau yang lebih baru<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf module enable cri-o:$VERSION\nsudo dnf install cri-o<\/code><\/pre>\n\n\n\n<p>*Note: pada fedora hanya mendukung versi minor contohnya <code>VERSION=1.18<\/code>, dan tidak mendukung versi patch seperti <code>VERSION=1.18.3<\/code><\/p>\n<p>Sistem operasi berbasis Yum seperti Centos<\/p>\n<table  class=\" table table-hover\" style=\"border-collapse: collapse; width: 100%; height: 92px;\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px;\">Sistem Operasi<\/td>\n<td style=\"width: 50%; height: 23px;\">$OS<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px;\">Centos 8<\/td>\n<td style=\"width: 50%; height: 23px;\"><code>CentOS_8<\/code><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px;\">Centos 8 Stream<\/td>\n<td style=\"width: 50%; height: 23px;\"><code>CentOS_8_Stream<\/code><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px;\">Centos 7<\/td>\n<td style=\"width: 50%; height: 23px;\"><code>CentOS_7<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>kemudian jalankan perintah seperti dibawah ini dengan akses root<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export VERSION=1.22\nexport OS=CENTOS_7\ncurl -L -o \/etc\/yum.repos.d\/devel:kubic:libcontainers:stable.repo https:\/\/download.opensuse.org\/repositories\/devel:\/kubic:\/libcontainers:\/stable\/$OS\/devel:kubic:libcontainers:stable.repo\ncurl -L -o \/etc\/yum.repos.d\/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo https:\/\/download.opensuse.org\/repositories\/devel:kubic:libcontainers:stable:cri-o:$VERSION\/$OS\/devel:kubic:libcontainers:stable:cri-o:$VERSION.repo\nyum install cri-o<\/code><\/pre>\n\n\n\n<p>Sistem operasi berbasis APT<\/p>\n<table  class=\" table table-hover\" style=\"width: 63.786%; height: 216px;\">\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Sistem Operasi<\/td>\n<td style=\"width: 51.0811%; height: 24px;\">$OS<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Debian Unstable<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>Debian_Unstable<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Debian Testing<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>Debian_Testing<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Debian 10<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>Debian_10<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Raspberry Pi OS<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>Raspbian_10<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Ubuntu 20.04<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>xUbuntu_20.04<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Ubuntu 19.10<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>xUbuntu_19.10<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Ubuntu 19.04<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>xUbuntu_19.04<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 46.7568%; height: 24px;\">Ubuntu 18.04<\/td>\n<td style=\"width: 51.0811%; height: 24px;\"><code>xUbuntu_18.04<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span class=\"VIiyi\" lang=\"id\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"0\" data-number-of-phrases=\"2\">Jika menginstal cri-o-runc (disarankan), Anda harus menginstal libseccomp &gt;= 2.4.1.<\/span> <\/span><\/p>\n<p><span class=\"VIiyi\" lang=\"id\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"1\" data-number-of-phrases=\"2\">*Note: Ini tidak tersedia di distro berbasis Debian 10(buster) atau di bawahnya, jadi backport buster perlu diaktifkan:<\/span><\/span><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo 'deb http:\/\/deb.debian.org\/debian buster-backports main' > \/etc\/apt\/sources.list.d\/backports.list\napt update\napt install -y -t buster-backports libseccomp2 || apt update -y -t buster-backports libseccomp2<\/code><\/pre>\n\n\n\n<p>kemudian jalankan perintah seperti dibawah ini dengan akses root<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"deb &#91;signed-by=\/usr\/share\/keyrings\/libcontainers-archive-keyring.gpg] https:\/\/download.opensuse.org\/repositories\/devel:\/kubic:\/libcontainers:\/stable\/$OS\/ \/\" > \/etc\/apt\/sources.list.d\/devel:kubic:libcontainers:stable.list\necho \"deb &#91;signed-by=\/usr\/share\/keyrings\/libcontainers-crio-archive-keyring.gpg] https:\/\/download.opensuse.org\/repositories\/devel:\/kubic:\/libcontainers:\/stable:\/cri-o:\/$VERSION\/$OS\/ \/\" > \/etc\/apt\/sources.list.d\/devel:kubic:libcontainers:stable:cri-o:$VERSION.list\n\nmkdir -p \/usr\/share\/keyrings\ncurl -L https:\/\/download.opensuse.org\/repositories\/devel:\/kubic:\/libcontainers:\/stable\/$OS\/Release.key | gpg --dearmor -o \/usr\/share\/keyrings\/libcontainers-archive-keyring.gpg\ncurl -L https:\/\/download.opensuse.org\/repositories\/devel:\/kubic:\/libcontainers:\/stable:\/cri-o:\/$VERSION\/$OS\/Release.key | gpg --dearmor -o \/usr\/share\/keyrings\/libcontainers-crio-archive-keyring.gpg\n\napt-get update\napt-get install cri-o cri-o-runc\n<\/code><\/pre>\n\n\n\n<p><span class=\"VIiyi\" lang=\"id\"><span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"0\" data-number-of-phrases=\"3\">*Note: Kami menyertakan cri-o-runc karena Ubuntu dan Debian menyertakan versi paket runc mereka sendiri.<\/span> <span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"1\" data-number-of-phrases=\"3\">Meskipun versi ini harus bekerja dengan CRI-O, menjaga versi paket CRI-O dan runc sinkron memastikan mereka bekerja bersama.<\/span> <span class=\"JLqJ4b ChMk0b\" data-language-for-alternatives=\"id\" data-language-to-translate-into=\"en\" data-phrase-index=\"2\" data-number-of-phrases=\"3\">Jika Anda ingin menggunakan runc distribusi, Anda harus menambahkan file pada <code>\/etc\/crio\/crio.conf.d\/<\/code> :<\/span><\/span><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;crio.runtime.runtimes.runc]\nruntime_path = \"\"\nruntime_type = \"oci\"\nruntime_root = \"\/run\/runc\"<\/code><\/pre>\n\n\n\n<p>Refrensi:<\/p>\n<ul>\n<li>https:\/\/cri-o.io\/<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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 Arsitektur diatas merupakan penerapan cri-o pada environment kubernetes dimana flownya sebagai berikut Kubernetes akan meminta kubelet untuk membuat pod pod adalah entitas terkecil [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[18],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.5.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog\" \/>\n<meta property=\"og:description\" content=\"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 Arsitektur diatas merupakan penerapan cri-o pada environment kubernetes dimana flownya sebagai berikut Kubernetes akan meminta kubelet untuk membuat pod pod adalah entitas terkecil [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Routecloud Indonesia - Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/alan.adiprastyo.7\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-25T09:46:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-25T09:46:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cri-o.io\/assets\/images\/architecture.png\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alan Adi Prastyo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/#organization\",\"name\":\"Routecloud Indonesia\",\"url\":\"https:\/\/www.routecloud.net\/blog\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/www.routecloud.net\/blog\/wp-content\/uploads\/2017\/03\/logo_routecloud_horz_2x_b.png\",\"contentUrl\":\"https:\/\/www.routecloud.net\/blog\/wp-content\/uploads\/2017\/03\/logo_routecloud_horz_2x_b.png\",\"width\":400,\"height\":80,\"caption\":\"Routecloud Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/#website\",\"url\":\"https:\/\/www.routecloud.net\/blog\/\",\"name\":\"Routecloud Indonesia - Blog\",\"description\":\"Share Your Knowledge\",\"publisher\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.routecloud.net\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/cri-o.io\/assets\/images\/architecture.png\",\"contentUrl\":\"https:\/\/cri-o.io\/assets\/images\/architecture.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage\",\"url\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/\",\"name\":\"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage\"},\"datePublished\":\"2021-10-25T09:46:19+00:00\",\"dateModified\":\"2021-10-25T09:46:20+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.routecloud.net\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage\"},\"author\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/#\/schema\/person\/d174a85a7c46dd9d24d0b5a7d3fbef43\"},\"headline\":\"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes\",\"datePublished\":\"2021-10-25T09:46:19+00:00\",\"dateModified\":\"2021-10-25T09:46:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage\"},\"wordCount\":595,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/cri-o.io\/assets\/images\/architecture.png\",\"articleSection\":[\"Network and Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/#\/schema\/person\/d174a85a7c46dd9d24d0b5a7d3fbef43\",\"name\":\"Alan Adi Prastyo\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/www.routecloud.net\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0523588172f938b926bdb452d4517f9d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0523588172f938b926bdb452d4517f9d?s=96&d=mm&r=g\",\"caption\":\"Alan Adi Prastyo\"},\"description\":\"System Engineer\",\"sameAs\":[\"http:\/\/www.routecloud.net\",\"https:\/\/www.facebook.com\/alan.adiprastyo.7\",\"https:\/\/www.instagram.com\/alanadiprastyo\/\",\"https:\/\/www.linkedin.com\/in\/alan-adi-prastyo\"],\"url\":\"https:\/\/www.routecloud.net\/blog\/author\/alan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/","og_locale":"en_US","og_type":"article","og_title":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog","og_description":"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 Arsitektur diatas merupakan penerapan cri-o pada environment kubernetes dimana flownya sebagai berikut Kubernetes akan meminta kubelet untuk membuat pod pod adalah entitas terkecil [&hellip;]","og_url":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/","og_site_name":"Routecloud Indonesia - Blog","article_author":"https:\/\/www.facebook.com\/alan.adiprastyo.7","article_published_time":"2021-10-25T09:46:19+00:00","article_modified_time":"2021-10-25T09:46:20+00:00","og_image":[{"url":"https:\/\/cri-o.io\/assets\/images\/architecture.png"}],"twitter_card":"summary","twitter_misc":{"Written by":"Alan Adi Prastyo","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/www.routecloud.net\/blog\/#organization","name":"Routecloud Indonesia","url":"https:\/\/www.routecloud.net\/blog\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/www.routecloud.net\/blog\/#logo","inLanguage":"en-US","url":"https:\/\/www.routecloud.net\/blog\/wp-content\/uploads\/2017\/03\/logo_routecloud_horz_2x_b.png","contentUrl":"https:\/\/www.routecloud.net\/blog\/wp-content\/uploads\/2017\/03\/logo_routecloud_horz_2x_b.png","width":400,"height":80,"caption":"Routecloud Indonesia"},"image":{"@id":"https:\/\/www.routecloud.net\/blog\/#logo"}},{"@type":"WebSite","@id":"https:\/\/www.routecloud.net\/blog\/#website","url":"https:\/\/www.routecloud.net\/blog\/","name":"Routecloud Indonesia - Blog","description":"Share Your Knowledge","publisher":{"@id":"https:\/\/www.routecloud.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.routecloud.net\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage","inLanguage":"en-US","url":"https:\/\/cri-o.io\/assets\/images\/architecture.png","contentUrl":"https:\/\/cri-o.io\/assets\/images\/architecture.png"},{"@type":"WebPage","@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage","url":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/","name":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes - Routecloud Indonesia - Blog","isPartOf":{"@id":"https:\/\/www.routecloud.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage"},"datePublished":"2021-10-25T09:46:19+00:00","dateModified":"2021-10-25T09:46:20+00:00","breadcrumb":{"@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.routecloud.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes"}]},{"@type":"Article","@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#article","isPartOf":{"@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage"},"author":{"@id":"https:\/\/www.routecloud.net\/blog\/#\/schema\/person\/d174a85a7c46dd9d24d0b5a7d3fbef43"},"headline":"Mengenal CRI-O sebagai Container Runtime untuk Kubernetes","datePublished":"2021-10-25T09:46:19+00:00","dateModified":"2021-10-25T09:46:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#webpage"},"wordCount":595,"commentCount":4,"publisher":{"@id":"https:\/\/www.routecloud.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/cri-o.io\/assets\/images\/architecture.png","articleSection":["Network and Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.routecloud.net\/blog\/mengenal-cri-o-sebagai-container-runtime-untuk-kubernetes\/#respond"]}]},{"@type":"Person","@id":"https:\/\/www.routecloud.net\/blog\/#\/schema\/person\/d174a85a7c46dd9d24d0b5a7d3fbef43","name":"Alan Adi Prastyo","image":{"@type":"ImageObject","@id":"https:\/\/www.routecloud.net\/blog\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/0523588172f938b926bdb452d4517f9d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0523588172f938b926bdb452d4517f9d?s=96&d=mm&r=g","caption":"Alan Adi Prastyo"},"description":"System Engineer","sameAs":["http:\/\/www.routecloud.net","https:\/\/www.facebook.com\/alan.adiprastyo.7","https:\/\/www.instagram.com\/alanadiprastyo\/","https:\/\/www.linkedin.com\/in\/alan-adi-prastyo"],"url":"https:\/\/www.routecloud.net\/blog\/author\/alan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/posts\/2804"}],"collection":[{"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/comments?post=2804"}],"version-history":[{"count":10,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/posts\/2804\/revisions"}],"predecessor-version":[{"id":2814,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/posts\/2804\/revisions\/2814"}],"wp:attachment":[{"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/media?parent=2804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/categories?post=2804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.routecloud.net\/blog\/wp-json\/wp\/v2\/tags?post=2804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}