Kubernetes 是一个容器,用于探测活动性或就绪性';s配置设置为“a”;吊舱检查“;集装箱?
我正在跟踪这项任务 我也不清楚进行检查的集装箱是否仅用于检查吊舱的可用性?因为如果pod检查容器失败是有意义的,所以api不会让任何流量进入podKubernetes 是一个容器,用于探测活动性或就绪性';s配置设置为“a”;吊舱检查“;集装箱?,kubernetes,Kubernetes,我正在跟踪这项任务 我也不清楚进行检查的集装箱是否仅用于检查吊舱的可用性?因为如果pod检查容器失败是有意义的,所以api不会让任何流量进入pod 所以一个健康检查信号必须来自某个运行图像或应用程序的容器?(很抱歉,还有一个问题)从您提供的链接中,他们似乎在谈论容器,而不是吊舱,因此探针是针对每个容器的。当所有容器准备就绪时,pod也被描述为准备就绪,如您提供的文档中所述: kubelet使用准备就绪探测器来了解容器何时准备就绪 开始接受流量。当一个吊舱的所有组件 集装箱准备好了。该信号的一个用
所以一个健康检查信号必须来自某个运行图像或应用程序的容器?(很抱歉,还有一个问题)从您提供的链接中,他们似乎在谈论容器,而不是吊舱,因此探针是针对每个容器的。当所有容器准备就绪时,pod也被描述为准备就绪,如您提供的文档中所述: kubelet使用准备就绪探测器来了解容器何时准备就绪 开始接受流量。当一个吊舱的所有组件 集装箱准备好了。该信号的一个用途是控制哪些吊舱 用作服务的后端。当一个吊舱没有准备好时,它就是 已从服务负载平衡器中删除
因此,是的,运行某些图像或应用程序的每个容器都应该公开这些指标。Livenes和readiness probe(如所述)是容器内的附加检查,并由kubelet根据特定探测器的设置进行验证: 如果命令(由健康检查定义)成功,则返回0,kubelet认为容器处于活动状态且健康。如果命令返回非零值,则kubelet将终止容器并重新启动它 此外: kubelet使用liveness探测器来知道何时重新启动容器。例如,liveness探测器可能会捕获死锁,即应用程序正在运行,但无法取得进展。在这种状态下重新启动容器有助于使应用程序更可用,尽管存在bug 从另一个角度来看: Pod是Kubernetes REST API中的顶级资源。 根据文件: 豆荚是短暂的。它们不是设计用来永远运行的,当一个吊舱被终止时,它不能被带回来。通常,POD在被用户或控制器删除之前不会消失。 有关控制器的信息可以找到: 因此,最好的做法是使用上面描述的控制器。您很少直接在Kubernetes中创建单独的豆荚,即使是单个豆荚。这是因为豆荚被设计成相对短暂的一次性实体。当Pod被创建时(直接由您创建,或间接由控制器创建),它将被安排在集群中的节点上运行。Pod将保留在该节点上,直到进程终止、Pod对象删除、Pod因资源不足而退出或节点出现故障 注: 重启吊舱中的容器不应与重启吊舱混淆。Pod本身不运行,但它是一个容器运行的环境,并一直持续到被删除为止 因为POD代表集群中节点上正在运行的进程,所以当不再需要这些进程时,允许它们优雅地终止是很重要的(而不是被KILL信号猛烈杀死,并且没有机会清理)。用户应该能够请求删除并知道进程何时终止,但也能够确保删除最终完成。当用户请求删除Pod时,系统会记录允许强制终止Pod之前的预期宽限期,并向每个容器中的主进程发送一个术语信号。一旦宽限期到期,KILL信号将发送到这些进程,然后Pod将从API服务器中删除。如果在等待进程终止时重新启动Kubelet或容器管理器,将在完整的宽限期内重试终止 Kubernetes API服务器验证和配置API对象的数据,这些对象包括POD、服务、ReplicationController等。API服务器为REST操作提供服务,并为集群的共享状态提供前端,所有其他组件通过该状态进行交互 例如,当您使用Kubernetes API创建部署时,将为系统提供新的所需状态。Kubernetes控制平面记录该对象的创建,并通过启动所需的应用程序并将其调度到集群节点来执行指令,从而使集群的实际状态与所需状态匹配 在这里您可以找到有关的信息 有不同的探头: 例如,对于HTTP探测:
- 即使你的应用程序不是HTTP服务器,你也可以在你的应用程序中创建一个轻量级HTTP服务器来响应liveness探测李>
- 命令
- 对于命令探测,Kubernetes在容器中运行命令。如果命令返回,退出代码为0,则容器将标记为正常
希望有帮助。是的,但我认为健康检查容器是API决定pod是否准备就绪的容器?这就是为什么我叫它“吊舱检查”集装箱。它只是一个存在于其他容器中的检查容器。这是我的理解。所以每一个容器都应该有一个探测装置,以某种方式检查图像或应用程序?