# Runtime Container

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->







  <div class="feature-state-notice feature-stable">
      <span class="feature-state-name">FEATURE STATE:</span>
      <code>Kubernetes v1.6 [stable]</code>
    </div>
  



Untuk menjalankan Container di Pod, Kubernetes menggunakan _runtime_ Container (Container runtimes). Berikut ini adalah
petunjuk instalasi untuk berbagai macam _runtime_.


<!-- body -->


<div class="alert alert-caution" role="note"><h4 class="alert-heading">Perhatian:</h4><p>Sebuah kekurangan ditemukan dalam cara <code>runc</code> menangani pendeskripsi berkas (<em>file</em>) sistem ketika menjalankan Container.
Container yang berbahaya dapat menggunakan kekurangan ini untuk menimpa konten biner <code>runc</code> dan
akibatnya Container tersebut dapat menjalankan perintah yang sewenang-wenang pada sistem host dari Container tersebut.</p>
<p>Silahkan merujuk pada <a href="https://access.redhat.com/security/cve/cve-2019-5736">CVE-2019-5736</a> untuk informasi lebih lanjut tentang masalah ini.</p>
</div>


### Penerapan


<div class="alert alert-info" role="note"><h4 class="alert-heading">Catatan:</h4>Dokumen ini ditulis untuk pengguna yang memasang CRI (Container Runtime Interface) pada sistem operasi Linux. Untuk sistem operasi yang lain,
silahkan cari dokumentasi khusus untuk platform kamu.</div>


Kamu harus menjalankan semua perintah dalam panduan ini sebagai `root`. Sebagai contoh, awali perintah 
dengan `sudo`, atau masuk sebagai `root` dan kemudian baru menjalankan perintah sebagai pengguna `root`.

### _Driver_ cgroup

Ketika systemd dipilih sebagai sistem init untuk sebuah distribusi Linux, proses init menghasilkan
dan menggunakan grup kontrol root (`cgroup`) dan proses ini akan bertindak sebagai manajer cgroup. Systemd memiliki integrasi yang ketat
dengan cgroup dan akan mengalokasikan cgroups untuk setiap proses. Kamu dapat mengonfigurasi
_runtime_ Container dan kubelet untuk menggunakan `cgroupfs`. Menggunakan `cgroupfs` bersama dengan systemd berarti
akan ada dua manajer cgroup yang berbeda.

Cgroup digunakan untuk membatasi sumber daya yang dialokasikan untuk proses.
Sebuah manajer cgroup tunggal akan menyederhanakan pandangan tentang sumber daya apa yang sedang dialokasikan
dan secara bawaan (_default_) akan memiliki pandangan yang lebih konsisten tentang sumber daya yang tersedia dan yang sedang digunakan. Ketika kita punya memiliki 
dua manajer maka kita pun akan memiliki dua pandangan berbeda tentang sumber daya tersebut. Kita telah melihat kasus di lapangan
di mana Node yang dikonfigurasi menggunakan `cgroupfs` untuk kubelet dan Docker, dan `systemd`
untuk semua sisa proses yang berjalan pada Node maka Node tersebut akan menjadi tidak stabil di bawah tekanan sumber daya.

Mengubah aturan sedemikian rupa sehingga _runtime_ Container dan kubelet kamu menggunakan `systemd` sebagai _driver_ cgroup
akan menstabilkan sistem. Silahkan perhatikan opsi `native.cgroupdriver=systemd` dalam pengaturan Docker di bawah ini.

<div class="alert alert-caution" role="note"><h4 class="alert-heading">Perhatian:</h4>Mengubah driver cgroup dari Node yang telah bergabung kedalam sebuah Cluster sangat tidak direkomendasikan.
Jika kubelet telah membuat Pod menggunakan semantik dari sebuah <em>driver</em> cgroup, mengubah <em>runtime</em> Container
ke <em>driver</em> cgroup yang lain dapat mengakibatkan kesalahan pada saat percobaan untuk membuat kembali PodSandbox
untuk Pod yang sudah ada. Menjalankan ulang (<em>restart</em>) kubelet mungkin tidak menyelesaikan kesalahan tersebut. Rekomendasi yang dianjurkan
adalah untuk menguras Node dari beban kerjanya, menghapusnya dari Cluster dan menggabungkannya kembali.</div>


## Docker

Pada setiap mesin kamu, mari menginstall Docker.
Versi yang direkomendasikan adalah 19.03.11, tetapi versi 1.13.1, 17.03, 17.06, 17.09, 18.06 dan 18.09 juga diketahui bekerja dengan baik.
Jagalah versi Docker pada versi terbaru yang sudah terverifikasi pada catatan rilis Kubernetes.

Gunakan perintah berikut untuk menginstal Docker pada sistem kamu:

<ul class="nav nav-tabs" id="tabs-tab-cri-docker-installation" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-tab-cri-docker-installation-0" role="tab" aria-controls="tabs-tab-cri-docker-installation-0" aria-selected="true">Ubuntu 16.04&#43;</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-tab-cri-docker-installation-1" role="tab" aria-controls="tabs-tab-cri-docker-installation-1">CentOS/RHEL 7.4&#43;</a></li></ul>

<div class="tab-content" id="tabs-tab-cri-docker-installation-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-tab-cri-docker-installation-0" role="tabpanel" aria-labelledby="tabs-tab-cri-docker-installation-0-tab" tabindex="tab-cri-docker-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># (Menginstal Docker CE)</span>
</span></span><span class="line"><span class="cl"><span class="c1">## Mengatur repositori:</span>
</span></span><span class="line"><span class="cl"><span class="c1">### Menginstal packet untuk mengijinkan apt untuk menggunakan repositori melalui HTTPS</span>
</span></span><span class="line"><span class="cl">apt-get update <span class="o">&amp;&amp;</span> apt-get install -y <span class="se">\
</span></span></span><span class="line"><span class="cl">  apt-transport-https ca-certificates curl software-properties-common gnupg2
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menambahkan key GPG resmi dari Docker:</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://download.docker.com/linux/ubuntu/gpg <span class="p">|</span> apt-key add -
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menambahkan repositori apt dari Docker:</span>
</span></span><span class="line"><span class="cl">add-apt-repository <span class="se">\
</span></span></span><span class="line"><span class="cl">  <span class="s2">&#34;deb [arch=amd64] https://download.docker.com/linux/ubuntu \
</span></span></span><span class="line"><span class="cl"><span class="s2">  </span><span class="k">$(</span>lsb_release -cs<span class="k">)</span><span class="s2"> \
</span></span></span><span class="line"><span class="cl"><span class="s2">  stable&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menginstal Docker CE</span>
</span></span><span class="line"><span class="cl">apt-get update <span class="o">&amp;&amp;</span> apt-get install -y <span class="se">\
</span></span></span><span class="line"><span class="cl">  containerd.io<span class="o">=</span>1.2.13-2 <span class="se">\
</span></span></span><span class="line"><span class="cl">  docker-ce<span class="o">=</span>5:19.03.11~3-0~ubuntu-<span class="k">$(</span>lsb_release -cs<span class="k">)</span> <span class="se">\
</span></span></span><span class="line"><span class="cl">  docker-ce-cli<span class="o">=</span>5:19.03.11~3-0~ubuntu-<span class="k">$(</span>lsb_release -cs<span class="k">)</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Mengatur daemon Docker</span>
</span></span><span class="line"><span class="cl">cat &gt; /etc/docker/daemon.json <span class="s">&lt;&lt;EOF
</span></span></span><span class="line"><span class="cl"><span class="s">{
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;exec-opts&#34;: [&#34;native.cgroupdriver=systemd&#34;],
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;log-driver&#34;: &#34;json-file&#34;,
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;log-opts&#34;: {
</span></span></span><span class="line"><span class="cl"><span class="s">    &#34;max-size&#34;: &#34;100m&#34;
</span></span></span><span class="line"><span class="cl"><span class="s">  },
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;storage-driver&#34;: &#34;overlay2&#34;
</span></span></span><span class="line"><span class="cl"><span class="s">}
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">mkdir -p /etc/systemd/system/docker.service.d
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menjalankan ulang Docker</span>
</span></span><span class="line"><span class="cl">systemctl daemon-reload
</span></span><span class="line"><span class="cl">systemctl restart docker
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-tab-cri-docker-installation-1" role="tabpanel" aria-labelledby="tabs-tab-cri-docker-installation-1-tab" tabindex="tab-cri-docker-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># (Menginstal Docker CE)</span>
</span></span><span class="line"><span class="cl"><span class="c1">## Mengatur repositori</span>
</span></span><span class="line"><span class="cl"><span class="c1">### Menginstal paket yang diperlukan</span>
</span></span><span class="line"><span class="cl">yum install -y yum-utils device-mapper-persistent-data lvm2
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Menambahkan repositori apt dari Docker</span>
</span></span><span class="line"><span class="cl">yum-config-manager --add-repo <span class="se">\
</span></span></span><span class="line"><span class="cl">  https://download.docker.com/linux/centos/docker-ce.repo
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menginstal Docker CE</span>
</span></span><span class="line"><span class="cl">yum update -y <span class="o">&amp;&amp;</span> yum install -y <span class="se">\
</span></span></span><span class="line"><span class="cl">  containerd.io-1.2.13 <span class="se">\
</span></span></span><span class="line"><span class="cl">  docker-ce-19.03.11 <span class="se">\
</span></span></span><span class="line"><span class="cl">  docker-ce-cli-19.03.11
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Membuat berkas /etc/docker</span>
</span></span><span class="line"><span class="cl">mkdir /etc/docker
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Mengatur daemon Docker</span>
</span></span><span class="line"><span class="cl">cat &gt; /etc/docker/daemon.json <span class="s">&lt;&lt;EOF
</span></span></span><span class="line"><span class="cl"><span class="s">{
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;exec-opts&#34;: [&#34;native.cgroupdriver=systemd&#34;],
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;log-driver&#34;: &#34;json-file&#34;,
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;log-opts&#34;: {
</span></span></span><span class="line"><span class="cl"><span class="s">    &#34;max-size&#34;: &#34;100m&#34;
</span></span></span><span class="line"><span class="cl"><span class="s">  },
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;storage-driver&#34;: &#34;overlay2&#34;,
</span></span></span><span class="line"><span class="cl"><span class="s">  &#34;storage-opts&#34;: [
</span></span></span><span class="line"><span class="cl"><span class="s">    &#34;overlay2.override_kernel_check=true&#34;
</span></span></span><span class="line"><span class="cl"><span class="s">  ]
</span></span></span><span class="line"><span class="cl"><span class="s">}
</span></span></span><span class="line"><span class="cl"><span class="s">EOF</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">mkdir -p /etc/systemd/system/docker.service.d
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menjalankan ulang Docker</span>
</span></span><span class="line"><span class="cl">systemctl daemon-reload
</span></span><span class="line"><span class="cl">systemctl restart docker
</span></span></code></pre></div></div></div>


Jika kamu menginginkan layanan Docker berjalan dari saat memulai pertama (_boot_), jalankan perintah ini:

```shell
sudo systemctl enable docker
```

Silahkan merujuk pada [Panduan resmi instalasi Docker](https://docs.docker.com/engine/installation/)
untuk informasi lebih lanjut.

## CRI-O

Bagian ini mencakup langkah-langkah yang diperlukan untuk menginstal `CRI-O` sebagai _runtime_ CRI.

Gunakan perintah-perinath berikut untuk menginstal CRI-O pada sistem kamu:


<div class="alert alert-info" role="note"><h4 class="alert-heading">Catatan:</h4>Versi mayor dan minor dari CRI-O harus sesuai dengan versi mayor dan minor dari Kubernetes.
Untuk informasi lebih lanjut, lihatlah <a href="https://github.com/cri-o/cri-o">Matriks kompatibilitas CRI-O</a>.</div>


### Prasyarat

```shell
modprobe overlay
modprobe br_netfilter

# Mengatur parameter sysctl yang diperlukan, dimana ini akan bernilai tetap setiap kali penjalanan ulang.
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

sysctl --system
```

<ul class="nav nav-tabs" id="tabs-tab-cri-cri-o-installation" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-tab-cri-cri-o-installation-0" role="tab" aria-controls="tabs-tab-cri-cri-o-installation-0" aria-selected="true">Debian</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-tab-cri-cri-o-installation-1" role="tab" aria-controls="tabs-tab-cri-cri-o-installation-1">Ubuntu 18.04, 19.04 and 19.10</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-tab-cri-cri-o-installation-2" role="tab" aria-controls="tabs-tab-cri-cri-o-installation-2">CentOS/RHEL 7.4&#43;</a></li>
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-tab-cri-cri-o-installation-3" role="tab" aria-controls="tabs-tab-cri-cri-o-installation-3">openSUSE Tumbleweed</a></li></ul>

<div class="tab-content" id="tabs-tab-cri-cri-o-installation-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-tab-cri-cri-o-installation-0" role="tabpanel" aria-labelledby="tabs-tab-cri-cri-o-installation-0-tab" tabindex="tab-cri-cri-o-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Debian Unstable/Sid</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Unstable/ /&#39;</span> &gt; /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
</span></span><span class="line"><span class="cl">wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Unstable/Release.key -O- <span class="p">|</span> sudo apt-key add -
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Debian Testing</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Testing/ /&#39;</span> &gt; /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
</span></span><span class="line"><span class="cl">wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_Testing/Release.key -O- <span class="p">|</span> sudo apt-key add -
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Debian 10</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_10/ /&#39;</span> &gt; /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
</span></span><span class="line"><span class="cl">wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Debian_10/Release.key -O- <span class="p">|</span> sudo apt-key add -
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Raspbian 10</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s1">&#39;deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Raspbian_10/ /&#39;</span> &gt; /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list
</span></span><span class="line"><span class="cl">wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/Raspbian_10/Release.key -O- <span class="p">|</span> sudo apt-key add -
</span></span></code></pre></div><p>dan kemudian install CRI-O:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo apt-get install cri-o-1.17
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-tab-cri-cri-o-installation-1" role="tabpanel" aria-labelledby="tabs-tab-cri-cri-o-installation-1-tab" tabindex="tab-cri-cri-o-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Mengatur repositori paket</span>
</span></span><span class="line"><span class="cl">. /etc/os-release
</span></span><span class="line"><span class="cl">sudo sh -c <span class="s2">&#34;echo &#39;deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x</span><span class="si">${</span><span class="nv">NAME</span><span class="si">}</span><span class="s2">_</span><span class="si">${</span><span class="nv">VERSION_ID</span><span class="si">}</span><span class="s2">/ /&#39; &gt; /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list&#34;</span>
</span></span><span class="line"><span class="cl">wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x<span class="si">${</span><span class="nv">NAME</span><span class="si">}</span>_<span class="si">${</span><span class="nv">VERSION_ID</span><span class="si">}</span>/Release.key -O- <span class="p">|</span> sudo apt-key add -
</span></span><span class="line"><span class="cl">sudo apt-get update
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menginstal CRI-O</span>
</span></span><span class="line"><span class="cl">sudo apt-get install cri-o-1.17
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-tab-cri-cri-o-installation-2" role="tabpanel" aria-labelledby="tabs-tab-cri-cri-o-installation-2-tab" tabindex="tab-cri-cri-o-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menginstal prasyarat</span>
</span></span><span class="line"><span class="cl">curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_7/devel:kubic:libcontainers:stable.repo
</span></span><span class="line"><span class="cl">curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable:cri-o:1.36.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable:cri-o:1.36/CentOS_7/devel:kubic:libcontainers:stable:cri-o:1.36.repo
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menginstal CRI-O</span>
</span></span><span class="line"><span class="cl">yum install -y cri-o
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-tab-cri-cri-o-installation-3" role="tabpanel" aria-labelledby="tabs-tab-cri-cri-o-installation-3-tab" tabindex="tab-cri-cri-o-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">sudo zypper install cri-o
</span></span></code></pre></div></div></div>


### Memulai CRI-O

```shell
systemctl daemon-reload
systemctl start crio
```

Silahkan merujuk pada [Panduan instalasi CRI-O](https://github.com/kubernetes-sigs/cri-o#getting-started)
untuk informasi lanjut.

## Containerd

Bagian ini berisi langkah-langkah yang diperlukan untuk menggunakan `containerd` sebagai _runtime_ CRI.

Gunakan perintah-perintah berikut untuk menginstal containerd pada sistem kamu:


### Prasyarat

```shell
cat > /etc/modules-load.d/containerd.conf <<EOF
overlay
br_netfilter
EOF

modprobe overlay
modprobe br_netfilter

# Mengatur parameter sysctl yang diperlukan, dimana ini akan bernilai tetap setiap kali penjalanan ulang.
cat > /etc/sysctl.d/99-kubernetes-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables  = 1
net.ipv4.ip_forward                 = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

sysctl --system
```

### Menginstal containerd

<ul class="nav nav-tabs" id="tabs-tab-cri-containerd-installation" role="tablist"><li class="nav-item"><a data-bs-toggle="tab" class="nav-link active" href="#tabs-tab-cri-containerd-installation-0" role="tab" aria-controls="tabs-tab-cri-containerd-installation-0" aria-selected="true">Ubuntu 16.04</a></li>
	  
		<li class="nav-item"><a data-bs-toggle="tab" class="nav-link" href="#tabs-tab-cri-containerd-installation-1" role="tab" aria-controls="tabs-tab-cri-containerd-installation-1">CentOS/RHEL 7.4&#43;</a></li></ul>

<div class="tab-content" id="tabs-tab-cri-containerd-installation-content"><div class="tab-body tab-pane fadeshow active"
        id="tabs-tab-cri-containerd-installation-0" role="tabpanel" aria-labelledby="tabs-tab-cri-containerd-installation-0-tab" tabindex="tab-cri-containerd-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># (Meninstal containerd)</span>
</span></span><span class="line"><span class="cl"><span class="c1">## Mengatur repositori paket</span>
</span></span><span class="line"><span class="cl"><span class="c1">### Install packages to allow apt to use a repository over HTTPS</span>
</span></span><span class="line"><span class="cl">apt-get update <span class="o">&amp;&amp;</span> apt-get install -y apt-transport-https ca-certificates curl software-properties-common
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Menambahkan key GPG resmi dari Docker:</span>
</span></span><span class="line"><span class="cl">curl -fsSL https://download.docker.com/linux/ubuntu/gpg <span class="p">|</span> apt-key add -
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Mengatur repositori paket Docker</span>
</span></span><span class="line"><span class="cl">add-apt-repository <span class="se">\
</span></span></span><span class="line"><span class="cl">    <span class="s2">&#34;deb [arch=amd64] https://download.docker.com/linux/ubuntu \
</span></span></span><span class="line"><span class="cl"><span class="s2">    </span><span class="k">$(</span>lsb_release -cs<span class="k">)</span><span class="s2"> \
</span></span></span><span class="line"><span class="cl"><span class="s2">    stable&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Menginstal containerd</span>
</span></span><span class="line"><span class="cl">apt-get update <span class="o">&amp;&amp;</span> apt-get install -y containerd.io
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Mengonfigure containerd</span>
</span></span><span class="line"><span class="cl">mkdir -p /etc/containerd
</span></span><span class="line"><span class="cl">containerd config default <span class="p">|</span> sudo tee /etc/containerd/config.toml
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menjalankan ulang containerd</span>
</span></span><span class="line"><span class="cl">systemctl restart containerd
</span></span></code></pre></div></div><div class="tab-body tab-pane fade"
        id="tabs-tab-cri-containerd-installation-1" role="tabpanel" aria-labelledby="tabs-tab-cri-containerd-installation-1-tab" tabindex="tab-cri-containerd-installation"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># (Menginstal containerd)</span>
</span></span><span class="line"><span class="cl"><span class="c1">## Mengatur repositori</span>
</span></span><span class="line"><span class="cl"><span class="c1">### Menginstal paket prasyarat</span>
</span></span><span class="line"><span class="cl">yum install -y yum-utils device-mapper-persistent-data lvm2
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Menambahkan repositori Docker</span>
</span></span><span class="line"><span class="cl">yum-config-manager <span class="se">\
</span></span></span><span class="line"><span class="cl">    --add-repo <span class="se">\
</span></span></span><span class="line"><span class="cl">    https://download.docker.com/linux/centos/docker-ce.repo
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Menginstal containerd</span>
</span></span><span class="line"><span class="cl">yum update -y <span class="o">&amp;&amp;</span> yum install -y containerd.io
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1">## Mengonfigurasi containerd</span>
</span></span><span class="line"><span class="cl">mkdir -p /etc/containerd
</span></span><span class="line"><span class="cl">containerd config default <span class="p">|</span> sudo tee /etc/containerd/config.toml
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Menjalankan ulang containerd</span>
</span></span><span class="line"><span class="cl">systemctl restart containerd
</span></span></code></pre></div></div></div>


### systemd

Untuk menggunakan driver cgroup `systemd`, atur `plugins.cri.systemd_cgroup = true` pada `/etc/containerd/config.toml`.
Ketika menggunakan kubeadm, konfigurasikan secara manual
[driver cgroup untuk kubelet](/id/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#mengonfigurasi-cgroup-untuk-kubelet-pada-node-control-plane)

## _Runtime_ CRI yang lainnya: Frakti

Silahkan lihat [Panduan cepat memulai Frakti](https://github.com/kubernetes/frakti#quickstart) untuk informasi lebih lanjut.
