本部分包含以下有关节点的参考主题:
- Kubelet 的 Checkpoint API
- 一系列关于 dockershim 移除和使用兼容 CRI 运行时的文章
你还可以从 Kubernetes 文档的其他地方阅读节点的详细参考信息,包括:
本部分包含以下有关节点的参考主题:
你还可以从 Kubernetes 文档的其他地方阅读节点的详细参考信息,包括:
Kubernetes v1.25 [alpha]
为容器生成检查点这个功能可以为一个正在运行的容器创建有状态的拷贝。 一旦容器有一个有状态的拷贝,你就可以将其移动到其他计算机进行调试或类似用途。
如果你将通过检查点操作生成的容器数据移动到能够恢复该容器的一台计算机, 所恢复的容器将从之前检查点操作执行的时间点继续运行。 你也可以检视所保存的数据,前提是你拥有这类操作的合适工具。
创建容器的检查点可能会产生安全隐患。
通常,一个检查点包含执行检查点操作时容器中所有进程的所有内存页。
这意味着以前存在于内存中的一切内容现在都在本地磁盘上获得。
这里的内容包括一切私密数据和可能用于加密的密钥。
底层 CRI 实现(该节点上的容器运行时)应创建只有 root
用户可以访问的检查点存档。
另外重要的是记住:如果检查点存档被转移到另一个系统,该检查点存档的所有者将可以读取所有内存页。
post
对指定的容器执行检查点操作告知 kubelet 对指定 Pod 中的特定容器执行检查点操作。
查阅 Kubelet 身份验证/鉴权参考了解如何控制对 kubelet 检查点接口的访问。
Kubelet 将对底层 CRI 实现请求执行检查点操作。
在该检查点请求中,Kubelet 将检查点存档的名称设置为 checkpoint-<pod 全称>-<容器名称>-<时间戳>.tar
,
还会请求将该检查点存档存储到其根目录(由 --root-dir
定义)下的 checkpoints
子目录中。
这个目录默认为 /var/lib/kubelet/checkpoints
。
检查点存档的格式为 tar,可以使用 tar
的一种实现来读取。存档文件的内容取决于底层 CRI 实现(该节点的容器运行时)。
POST /checkpoint/{namespace}/{pod}/{container}
namespace (路径参数):string,必需
名字空间(Namespace)pod (路径参数):string,必需
Podcontainer (路径参数):string,必需
容器(Container)timeout (查询参数):integer
等待检查点创建完成的超时时间(单位为秒)。 如果超时值为零或未设定,将使用默认的 CRI 超时时间值。 生成检查点所需的时长直接取决于容器所用的内存。容器使用的内存越多,创建相应检查点所需的时间越长。
200: OK
401: Unauthorized
404: Not Found(如果 ContainerCheckpoint
特性门控被禁用)
404: Not Found(如果指定的 namespace
、pod
或 container
无法被找到)
500: Internal Server Error(如果执行检查点操作期间 CRI 实现遇到一个错误(参阅错误消息了解更多细节))
500: Internal Server Error(如果 CRI 实现未实现检查点 CRI API(参阅错误消息了解更多细节))
这是关于 Kubernetes 弃用和移除 dockershim 或使用兼容 CRI 的容器运行时相关的文章和其他页面的列表。
Kubernetes 博客:Dockershim 移除常见问题解答(最初发表于 2020/12/02)
Kubernetes 博客:更新:Dockershim 移除常见问题解答(更新发表于 2020/12/02)
Kubernetes 博客:Kubernetes 即将移除 Dockershim:承诺和下一步(发表于 2022/01/07)
Kubernetes 博客:移除 Dockershim 即将到来。你准备好了吗?(发表于 2021/11/12)
Kubernetes 文档:从 dockershim 迁移
Kubernetes 文档:容器运行时
Kubernetes 增强建议:KEP-2221: 从 kubelet 中移除 dockershim
Kubernetes 增强提问:从 kubelet 中移除 dockershim (k/enhancements#2221)
你可以通过 GitHub 问题 Dockershim 移除反馈和问题 提供反馈。 (k/kubernetes/#106917)
Amazon Web Services EKS 文档:Amazon EKS 将终止对 Dockershim 的支持
CNCF 会议视频:将 Kubernetes 从 Docker 迁移到 containerd 运行时的经验教训(Ana Caylin,在 KubeCon Europe 2019)
Docker.com 博客:开发人员需要了解的关于 Docker、Docker Engine 和 Kubernetes v1.20 的哪些知识(发表于 2020/12/04)
YouTube 上的 “Google Open Source” 频道:与 Google 一起学习 Kubernetes - 从 Dockershim 迁移到 Containerd
Azure 博客上的 Microsoft 应用:Dockershim 弃用和 AKS(发表于 2022/01/21)
Mirantis 博客:Dockershim 的未来是 cri-dockerd(发表于 2021/04/21)
Mirantis: Mirantis/cri-dockerd Git 仓库(在 GitHub 上)
Tripwire:Dockershim 即将弃用如何影响你的 Kubernetes (发表于 2021/07/01)