k8s-pod 实战五 (Startup Probe 详细分析)
一、Startup Probe 详细分析
Startup Probe
Startup Probe 用于检测容器是否完成启动。它的目的是取代 Liveness Probe,在容器启动时提供一个更长的检测时间窗口。Startup Probe 是为了处理启动时间较长的应用程序,避免在启动过程中因 Liveness Probe 失败而导致容器重启。
Startup Probe 只在容器启动时运行,一旦成功,它将被禁用,Liveness Probe 和 Readiness Probe 将会接替它的工作。
二、实战案例
案例场景
假设我们有一个启动时间较长的 Java 应用程序,它在启动过程中需要执行一些初始化任务。我们可以使用 Startup Probe 来确保在完成启动之前,Kubernetes 不会因为探针失败而重启容器。
1. 编写 YAML 配置文件
创建一个名为 java-app-pod.yaml
的文件,内容如下:
apiVersion: v1 # API 版本
kind: Pod # 资源类型
metadata:
name: java-app-pod # Pod 的名称
spec:
containers:
- name: java-app # 容器名称
image: openjdk:11-jre # 容器镜像,使用 OpenJDK