gpt4 book ai didi

kubernetes - 检查其他容器状态的优雅方式

转载 作者:行者123 更新时间:2023-12-02 12:03:59 24 4
gpt4 key购买 nike

由于Kubernetes并未在Container之间实现依赖关系,所以我想知道是否存在一种优雅的方式来检查同一Pod中的另一个Container是否已就绪。

我认为向下API是必要的。
也许可以通过将kubectl嵌入容器中来完成-但是有没有更简单的方法?

最佳答案

使用初始化容器可以很容易地完成等待其他容器就绪的等待容器,该容器将进行检查(通常在运行状况端点上 curl )或其他情况,直到收到可接受的答案为止。在同一个容器中的容器上,此解决方案将不起作用,但是您可以使用容器规范的command部分来实现非常相似的功能。

对于HTTP服务:

    command:
- '/bin/sh'
- '-c'
- >
set -ex;
until curl --fail --connect-timeout 5 http://localhost:8080/login; do sleep 2; done
&& <start command>

您可以轻松地为postgres数据库实现相同的目标:
    command:
- '/bin/bash'
- >
until pg_isready --host localhost -p 5432; do sleep 2; done
&& bash /sql/00-postgres-configuration.sh

这些仅是示例,您必须确定检测其他容器的最佳方法是否已启动。

看看 https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/,看看如何为 Pane 指定 command

关于kubernetes - 检查其他容器状态的优雅方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56599770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com