本文介绍在Ubuntu 20.04/18.04系统上安装和使用CRI-O Container Runtime的方法,我们将使用预构建的二进制程序包来安装CRI-O。
一、更新Ubuntu 20.04/18.04系统 确保您的Ubuntu 20.04/18.04系统已更新,如果您担心这可能会破坏系统,则可以跳过: sudo apt update && sudo apt upgrade 建议重新引导系统以确保它在更新版本上运行: sudo systemctl reboot 参考:在Debian/Ubuntu上配置自动安全更新(无人值守升级)的方法。
二、添加CRI-O Kubic存储库 添加Kubic存储库,该存储库托管基于Debian系统的二进制软件包,如果将CRI-O与Kubernetes一起使用,请安装与您要设置的Kubernetes版本匹配的版本。 如果您的Kubernetes版本是1.17,请安装CRI-O版本1.17,如下: CRIO_VERSION=1.17 . /etc/os-release sudo sh -c "echo 'deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/x${NAME}_${VERSION_ID}/ /' >/etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list" 将存储库添加到系统后,导入GPG密钥: wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/x${NAME}_${VERSION_ID}/Release.key -O- | sudo apt-key add -
三、在Ubuntu 20.04、Ubuntu 18.04上安装CRI-O 添加存储库后,更新apt缓存并在Ubuntu 20.04/18.04上安装CRI-O: sudo apt update sudo apt install cri-o-${CRIO_VERSION} 使用y键接受安装提示,返回结果如下:
启动并启用Crio服务: sudo systemctl enable crio.service sudo systemctl start crio.service 可以使用以下命令检查服务状态: $ systemctl status crio 返回结果如下:
四、在Ubuntu 20.04/18.04上使用CRI-O 可以通过cri-tools软件包安装命令行工具crioctl: sudo apt install cri-tools 检查crictl命令是否存在: $ crictl info 返回结果如下:
Pull一个测试image: # crictl pull nginx # crictl pull hello-world # crictl pull busybox 返回结果如下:
列出可用的images: # crictl images 返回结果如下:
创建pod沙箱配置文件: cat >nginx.json<<EOF { "metadata": { "name": "nginx-container", "attempt": 1 }, "image": { "image": "nginx" }, "log_path": "nginx.log", "linux": { "security_context": { "namespace_options": {} } } } EOF cat >net-pod.json<<EOF { "metadata": { "name": "networking", "uid": "networking-pod-uid", "namespace": "default", "attempt": 1 }, "hostname": "networking", "port_mappings": [ { "container_port": 80 } ], "log_directory": "/tmp/net-pod", "linux": {} } EOF 运行pod: sudo crictl runp net-pod.json sudo crictl create nginx.json net-pod.json sudo crictl ps -a 至此,可以在Ubuntu和Kubernetes上深入使用CRI-O了。
相关主题 |