在CentOS 8/CentOS 7上安装CRI-O Container Runtime
时间:2020-02-23 14:31:08 来源:igfitidea点击:
CRI-O是Kubernetes容器运行时接口(CRI)的基于OCI的实现。 CRI-O旨在在符合OCI的运行时和kubelet之间提供集成路径。在本指南中,我们将讨论在CentOS 8/CentOS 7 Linux系统上安装CRI-O容器运行时的问题。 CRI-O的范围仅限于以下功能:
- 支持多种图像格式,包括现有的Docker图像格式
- 支持多种下载图像的方式,包括信任和图像验证
- 容器图像管理(管理图像层,覆盖文件系统等)
- 容器过程生命周期管理
- 满足CRI所需的监视和记录
- CRI要求的资源隔离
CRI-O在不同方面使用了最佳的品种库:
- 运行时:runc(或者任何OCI运行时规范实现)和oci运行时工具
- 镜像:使用containers/image进行镜像管理
- 存储:使用containers/storage来存储和管理图像层
- 联网:通过使用CNI的联网支持
在CentOS 8/CentOS 7上安装CRI-O容器运行时
CRI-O和Kubernetes遵循相同的发布周期和弃用策略。有关更多信息,请访问Kubernetes版本控制文档。在安装之前更新系统:
sudo yum -y update
以下是在CentOS 8/CentOS 7 Linux服务器或者工作站计算机上安装CRI-O的步骤。
添加CRI-O存储库
因此,如果我们运行的是Kubernetes 1.17版,则将安装cri-o 1.17.x.将此版本保存为变量。然后将存储库添加到我们的系统。
将存储库添加到CentOS 8:
VERSION=1.17 sudo dnf -y install 'dnf-command(copr)' sudo dnf -y copr enable rhcontainerbot/container-selinux sudo curl -L -o /etc/yum.repos.d/devel:kubic:libcontainers:stable.repo https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/CentOS_8/devel:kubic:libcontainers:stable.repo sudo curl -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}/CentOS_8/devel:kubic:libcontainers:stable:cri-o:${VERSION}.repo
将存储库添加到CentOS 7:
VERSION=1.17 sudo 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 sudo curl -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}/CentOS_7/devel:kubic:libcontainers:stable:cri-o:${VERSION}.repo
在CentOS 8/CentOS 7上安装CRI-O容器运行时
添加存储库后,使用以下命令在CentOS 8/CentOS 7上安装CRI-O容器运行时:
sudo yum install cri-o
同意安装显示的许多依赖项:
Transaction Summary ======================================================================================================================================================== Install 19 Packages Upgrade 8 Packages Total download size: 91 M Is this ok [y/N]: y
GPG密钥也应导入。
...... Importing GPG key 0x75060AA4: Userid : "devel:kubic OBS Project <devel:theitroad@localhost>" Fingerprint: 2472 D6D0 D2F6 6AF8 7ABA 8DA3 4D64 3903 7506 0AA4 From : http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/1.17/CentOS_8/repodata/repomd.xml.key Is this ok [y/N]: y
确认在CentOS上安装CRI-O:
$rpm -qi cri-o Name : cri-o Epoch : 2 Version : 1.17.2 Release : 1.2.el8 Architecture: x86_64 Install Date: Tue 21 Apr 2017 03:13:42 PM UTC Group : Unspecified Size : 171568080 License : ASL 2.0 Signature : RSA/SHA256, Tue 14 Apr 2017 03:44:45 AM UTC, Key ID 4d64390375060aa4 Source RPM : cri-o-1.17.2-1.2.el8.src.rpm Build Date : Tue 14 Apr 2017 03:44:06 AM UTC Build Host : localhost Relocations : (not relocatable) Vendor : obs://build.opensuse.org/devel:kubic URL : https://github.com/cri-o/cri-o Summary : Kubernetes Container Runtime Interface for OCI-based containers
启动CRI-O服务
默认情况下,未启用或者启动cri-o服务。让我们开始吧:
sudo systemctl enable --now cri-o
在后续指南中,将介绍如何使用CRI-O运行时引擎创建Kubernetes Cluster,以及可能使用crictl命令行工具与cri-o容器进行交互。