第 5 章 将应用从 OpenShift 4 上的 JBoss EAP Imagestreams 迁移到 eap73 Imagestreams


eap71 和 eap 72 镜像流开发的应用需要更改,才能在 eap73 镜像流中正常工作。

5.1. eap73 镜像流的存活度和就绪度探测配置更新

从 OpenShift 3.11 上运行的 eap72 镜像迁移到任何 eap 73 镜像时,必须调整探测的 YAML 配置。

eap72 镜像中,存活度探测的默认 YAML 配置类似如下代码示例:

OpenShift 3.11 存活度探测上的 eap72 镜像的 YAML 配置示例

livenessProbe:
        exec:
          command:
            - /bin/bash
            - '-c'
            - /opt/eap/bin/livenessProbe.sh
        initialDelaySeconds: 60
        periodSeconds: 10
        successThreshold: 1
        failureThreshold: 3

在本例中,存活度探测位于 JBoss EAP 镜像中的 /opt/eap/bin/livenessProbe.sh。该探测会在 60 秒初始延迟后第一次触发,然后在 JBoss EAP 服务器上启动 pod 后每隔 10 秒触发一次。

三个失败的探测失败后,容器就被视为不健康,OpenShift 将在其容器集中重新启动容器。

eap72 镜像上,一个调用会持续 5 秒,然后返回为成功或失败。调用后跟 10 秒等待期。这意味着,如果 JBoss EAP 镜像不健康,则在 pod 内的容器重启前 3 次调用持续大约 35 秒。

在任何 eap73 镜像上,一个调用会持续不到 1 秒。三个调用持续大约 23 秒。在 YAML 配置中,应对 eap73 镜像的探测配置进行如下调整:

任何 eap73 镜像流存活度探测的 YAML 配置示例

livenessProbe:
        exec:
          command:
            - /bin/bash
            - '-c'
            - /opt/eap/bin/livenessProbe.sh
        initialDelaySeconds: 60
        periodSeconds: 16
        successThreshold: 1
        failureThreshold: 3

在这个示例中,periodSeconds 增加了 6 秒。现在,第一个调用持续 1 秒,后跟 16 秒等待期间。三个调用将持续大约 34 秒,这与探测的 eap72 镜像行为几乎等同。

在就绪度探测中,使用类似值在 YAML 配置中更新 periodSeconds

任何 eap73 镜像流就绪度探测的 YAML 配置示例

readinessProbe:
        exec:
          command:
            - /bin/bash
            - '-c'
            - /opt/eap/bin/readinessProbe.sh
        initialDelaySeconds: 10
        periodSeconds: 16
        successThreshold: 1
        failureThreshold: 3

OpenShift 3.11 上的存活度和就绪度探测

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.