經歷了三篇來到第四篇,我們現在認知 OpenShift 是基於 Kubernetes 在搭配一些 OpenShift 的加強套件之後,還有一部分需要進行對比,那就是 Container Runtime。
功能類型 | 說明 |
---|---|
記憶體管理 | 分配、釋放 heap/stack |
錯誤處理 | 例外拋出與捕捉 |
程式碼載入 | 動態載入函式庫 |
執行緒排程 | 多執行緒支援 |
系統呼叫封裝 | 把底層 OS 功能包成易用 API |
安全性控管 | 沙箱、存取控制 |
runc
喚醒容器後,runc
則結束。shim 仍然作為 container 的父程序,用來監管該叫出來的容器。 墊片這種設計可以確保容器發生意外中斷時,還有程序可以記錄下容器中斷的訊息 stdout / stderr。一個容器就會對應到一個 shim。
標準名稱 | 說明 |
---|---|
OCI Runtime Spec | 規範容器怎麼執行(如何設定 namespace、cgroups、mount 等) |
OCI Image Spec | 規範容器映像檔(tarball + metadata + manifest) |
OCI Distribution Spec | 規範容器 registry(例如 Docker Hub、Quay)的傳輸協議 |