Açıklaması şöyle. Yani ilk başta farklı işletim sistemleri arasında uyumluluk probleminden dolayı, farklı Container Runtime gerçekleştirimleri ortaya çıktı. Bunlardan birisi de Rkt
Kubernetes originally leveraged Docker for running containers, it is still the default container runtime today. However, a few years ago CoreOS wanted to use kubernetes on Rkt. CoreOS offered a bunch of patches to kubernetes to use Rkt as an alternative to Docker.
Bir başka açıklama şöyle.
However, before version 1.5, there were only two built-in container runtimes, Docker and rkt, which failed in meeting all users’ demands. For example, Kubernetes allocates CPU and memory resources for Linux machines’ apps using systemd and Cgroup. Then what about the Windows machines? Cgroup doesn’t work anymore, and a container runtime for Windows systems is needed. You were facing the same predicament in OS like Centos, macOS, Debian, etc.
Furthermore, the code by then obviously did not meet the Kubernetes’ principle of flexibility.
Bileşenler
4 bileşen var.1. High Level Container Runtime
2. Low-Level Container Runtime
3. Container Runtime Interface : Kubernetes ve High Level Runtime arasındaki arayüz
4. Open Container Interface : High Level Runtime ve Low-Level Container Runtime arasındaki arayüz
High Level Container Runtime yazısına taşıdım
2. Low-Level Container Runtimes
2.1 Native runtimes : runC, crun gibi
2.2. Sandboxed and virtualized runtimes. gVisor, kata-containers gibi. Sanboxed runtime'lar biraz daha yavaş kalabilirler.
runc
runc yazısına taşıdım
3. Container Runtime Interface (CRI) Arayüzü Nedir
Container Runtime Interface (CRI) Arayüzü Nedir yazısına taşıdım
4. Open Container Interface Nedir?
Open Container Interface (OCI) Nedir Nedir yazısına taşıdım
Hiç yorum yok:
Yorum Gönder