在 Kubernetes 1.7.4 的最新版本中,重要的安全和性能更新已经进行了发布。其中,最值得一提的是在 Pod 逃生方面的改进,使得应用程序更加可靠。下面是本文对 Kubernetes 1.7.4 版本的详细解析,给读者带来深度学习和指导意义。
Pod 处理机制
在 Kubernetes 中,Pod 是最小的可配合单元,可以包含一个或多个容器。但是,Pod 也有可能因为容器不可用而失败,这时,Kubernetes 需要重新创建 Pod,保证对应的应用程序继续正常运行。Pod 处理机制有两种方式:
- 创建一个新的 Pod 并且替换旧的 Pod。
- 在一个 Pod 不可用的情况下,尝试将其迁移到另一个节点上。
在 Kubernetes 1.7.4 版本中,对 Pod 逃生的第二种情况进行了重点优化,设定了许多不同的措施,使得 Pod 的重新创建更快、更可靠,下面会针对此进行详细介绍。
Pod 逃生方法
控制器逐步滚动升级
慢慢地升级所有的批处理 Pod。在控制器逐步进行滚动升级时,如果有任何问题,只需要停止升级并回滚,因此失败将被最小化。
-- -------------------- ---- ------- ----------- ------- ----- ---------- --------- ----- ------------------ ----- --------- - --------- ----- ------------- -------------- --------------- - --------- - --------- ------------ ---- ------- --------- --------- ------- ---- ------- ----- ----------- - ----- ------- ------ ---------
Pod 图片及默认启用滚动更新策略版本
在 Kubernetes 1.7.4 中,将 Pod 模版的图片特性从 beta 版更新为 GA 版并默认开启,这使得易受攻击的应用程序能够快速清理更新。同时,还提供了滚动升级策略,可以以最小化停机时间的方式更新容器。
健康检查机制
Kubernetes 1.7.4 提供的健康检查机制有两种方式:HTTP 和 TCP。HTTP 方式是更灵活的,因为探测器可以对特定端点进行调用,并检查是否返回 200。相比之下,TCP 方式则更快更轻便,因为直接测试网络的可访问性和端口是否开放。
-- -------------------- ---- ------- ----------- -- ----- --- --------- ----- ------- ------- ---- ------- ----- ----------- - ----- ------- ------ --------- --------------- -------- ----- ------- ----- ----
紧急停止速度
在 Kubernetes 1.7.4 中,提供了更快的 Pod 停止速度,在 Pod 的控制器的堆栈中,它可以接收肯定的 SIGTERM 信号。因此,它可以在更短的时间内响应停止信号,并充分保护它的数据。
Pod 暴露真实到处
Pods 在故障时可能会假装仍在运行,这是通过仍在监听它们的网络端口实现的,使得 Kubernetes 不会知道它们已经停运。在 Kubernetes 1.7.4 版本中,Pod 在停止时,将清空所有监听的网络端口,因此 Kubernetes 不再需要检查它们是否停止。
总结
Kubernetes 1.7.4 的发行版本对 Pod 逃生进行了重点优化,保证了对应用程序的可靠性和响应能力。同时,也大幅度提高了安全性和性能。如果您正在使用 Kubernetes,建议尽快升级到 1.7.4 版本,以保持最新版本。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6465e24a968c7c53b068c5d6