全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

容器运行时说明

最近更新时间:2024-01-05 09:58:11

容器运行时简介

Kubernetes (K8s) 作为一种流行的容器编排系统,广泛应用于大规模的容器集群管理。容器运行时(Container Runtime)是K8s中最重要的组件之一,负责在操作系统层面管理镜像和容器的生命周期,并用于提供安全、隔离和资源管理等功能。Kubelet通过Container Runtime Interface (CRI) 与容器运行时交互,来管理镜像和容器。

容器运行时主要任务

  1. 容器创建和启动:容器运行时负责根据预定义的容器配置信息(如镜像、命令、环境变量等),创建并启动容器实例。

  2. 容器文件系统管理:容器运行时处理容器的文件系统,负责将镜像的内容挂载到容器的文件系统,并在容器之间提供隔离。

  3. 资源限制和管理:容器运行时可以根据用户或管理员定义的资源限制,管理容器对CPU、内存、磁盘等资源的使用。

  4. 容器网络:容器运行时协助配置容器的网络,使得容器可以与其他容器或外部网络进行通信。

  5. 安全性:容器运行时实施安全机制,确保容器之间和宿主机之间的隔离,并防止容器中的恶意行为影响其他容器或宿主机。

Containerd说明

在K8s中,容器运行时的选择对于性能、可靠性和安全性都起着至关重要的作用。容器服务目前提供Containerd运行时。

容器运行时

简介

Kubernetes版本限制

功能

适用场景

Containerd

Containerd是由Docker团队开源的容器运行时,它专注于提供轻量级、高性能的容器运行环境。作为一个纯粹的容器运行时,Containerd被设计为更加符合K8s的架构和需求。它具有更小的资源占用,更快的启动时间,以及更好的性能表现。

无版本限制

  • 管理容器的生命周期(从创建容器到销毁容器)

  • 拉取/推送容器镜像

  • 存储管理(管理镜像及容器数据的存储)

  • 调用 runC 运行容器(与 runC 等容器运行时交互)

  • 管理容器网络接口及网络

若您有以下使用场景,建议您选择Docker运行时:

  • 使用 docker in docker。

  • 在节点使用docker build/push/save/load等命令。

  • 调用docker API。

  • 需要docker compose 或 docker swarm。

Containerd常用命令操作

说明:Containerd 不支持 docker API 和 docker CLI,若您有该需求,可以通过 cri-tool 命令实现类似的功能。

功能说明

Containerd CLI

镜像列举

ctr image ls/list

docker images ls

导出镜像

ctr image export app.tar weiyigeek.top/app:1.2.0

docker save -o app.tar app:1.2.0

导入镜像

ctr image import app.tar

docker load -i app.tar

拉取镜像

ctr -n k8s.io images pull docker.io/library/redis:latest

docker pull redis:latest

上传镜像

ctr -n k8s.io images push docker.io/library/redis:latest

docker push

更改标记

ctr -n k8s.io images tag docker.io/library/redis:latest weiyigeek.top/redis:latest

docker tag redis:latest weiyigeek.top/redis:latest

删除镜像

ctr -n k8s.io images rm docker.io/library/redis:latest

docker rmi

创建容器

ctr -n k8s.io container create docker.io/library/redis:latest redis

docker create

创建并运行容器

ctr run -d --env name=WeiyiGeek application weiyigeek.top/app:1.2.0

docker run

查看容器

ctr -n k8s.io container list

docker ps

启动容器

ctr -n k8s.io task start

docker start

停止容器

ctr -n k8s.io task pause

docker stop

删除容器

ctr -n k8s.io container rm

docker rm

容器详情

ctr -n k8s.io c info 39d36ef08456

docker inspect 39d36ef08456

容器连接

ctr -n k8s.io task attach

docker attach

进入容器

ctr -n k8s.io task exec

docker exec

stats(状态)

ctr -n k8s.io task metric 39d36ef08456

docker top

日志查看

ctr -n k8s.io event

docker logs --tail 50 8db74c2bf7595

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈