Kubelet Bootstrap Checkpoint怎么应用

发布时间:2021-12-20 10:03:40 作者:iii
来源:亿速云 阅读:188

本篇内容介绍了“Kubelet Bootstrap Checkpoint怎么应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


Kubelet Bootstrap Checkpoint是什么

Kubelet Bootstrap Checkpoint是kubelet对特定的Pods的进行备份、恢复的kubelet内置模块。

Kubelet Bootstrap Checkpoint应用场景

看起来似乎有点像static pod的使用方式:根据某个目录下Pod的描述文件,kubelet监控这些文件,根据文件的变更与否,决定是否删除、创建、更新对应的Pods。又或者有点像DaemonSet的使用场景。

最大的不同是,Kubelet Bootstrap Checkpoint是会对特定Pods的checkpoint,如果Pods通过API发生变更或者创建,那么最新的Pod数据会写入到Pod对应的checkpoint文件中,Pod对应的checkpoint文件名格式是Pod_UID.yaml,存放的内容是完整的Pod API Object的Yaml格式内容,包括Status。

Kubelet Bootstrap Checkpoint主要的应用场景:

Kubelet Bootstrap Checkpoint怎么应用

那么,对于用户来说,部署普通应用时给Pod加上Annotation:node.kubernetes.io/bootstrap-checkpoint=true来给该Pod提供bootstrap checkpoint会带来什么好处吗?

对于用户而言,如果apiserver能正常访问,那么bootstrap checkpoint确实没有什么用处,因为etcd中已经有Pods API Object信息了,checkpoint就显得多此一举了。如果checkpoint文件和etcd中数据存在不一致的情况,反而会导致Pod先通过checkpoint恢复后,很快又根据etcd中Object Info进行重建的问题。

但是,对于Node上一些特殊的常驻Agent,比如cmdb agent,需要定期上报Node的状态等信息,以DaemonSet Pod方式运行在Node上,如果在对Kubernetes进行升级时方式不对或者不顺畅,Node系统重启并长时间无法与apiserver进行通信(比如apiserver升级失败),这将导致Node上无法运行DaemonSet Pod,那么这个Node上的cmdb agent就无法正常上报信息。对于这种情况,如果我们给这个DaemonSet Pod设置了对应Annotation和启用了Kubelet Bootstrap Checkpoint,那么kubelet可以在不依赖apiserver的情况下,通过本地的checkpoint文件恢复之前备份的Pods。

因此,给一些per-node上的关键用户组件使用Bootstrap Checkpoint是有价值的。

怎么启用Kubelet Bootstrap Checkpoint

Bootstrap Checkpoint工作机制

创建或者变更Pod

删除Pod

注意,这里并不会去检查Pod的Annotation是否满足条件,而是对所有Pods都试图去删除对个格式的文件名。为什么不先检查Annotation呢?这样性能不是会更高么?试想一下这种场景,Pod的Checkpoint Annotation在变更时被删除了,那么他的checkpoint文件就会被残留。之后该Pod被删除了,然后kubelet发生重启时,还会从checkpoint中恢复这个已经被删除的Pod,这很糟糕。当然,很快这个Pod会从apiserver中同步中知道已经被删除了,然后kubelet再次删除这个Pod.

Kubelet重启

Bootstrap Checkpoint工作流

Bootstrap Checkpoint的代码很简单,也不多,这里直接贴出对应的代码流程概要图。

Kubelet Bootstrap Checkpoint怎么应用

其他注意事项

“Kubelet Bootstrap Checkpoint怎么应用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Structured中怎么利用Streaming实现超低延迟
  2. PostgreSQL状态变迁

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

bootstrap kubernetes checkpoint

上一篇:如何实现VMware vSphere ESXi主机的访问控制

下一篇:怎么进行VMware vSphere的分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》