有一种情况是,pod中有2个容器,其中一个容器在终止时从第二个容器接收请求。假设容器1依赖于容器2,两个容器同时接收SIGTERM,容器2快速停止,容器1中依赖于容器2的所有飞行请求开始失败。对此有什么解决方案吗?
SIGTERM
dzhpxtsq1#
在这种情况下,容器更适合在两个不同的吊舱上运行(恕我直言)并使用code/servicemesh添加重试机制,使应用程序更具弹性例如https://istio.io/latest/docs/concepts/traffic-management/#retries
nxowjjhe2#
通过在容器1和容器2上配置preStop生命周期。我有个办法让我们有一个共享卷。ex:/var directory让我们在这个共享文件夹中有一个文件main.txt。其将在两个容器中可见并且可以从两个容器可见实时修改。预处理:main.txt必须在创建容器1时创建,并在删除容器1时删除。预停止:
2条答案
按热度按时间dzhpxtsq1#
在这种情况下,容器更适合在两个不同的吊舱上运行(恕我直言)
并使用code/servicemesh添加重试机制,使应用程序更具弹性
例如https://istio.io/latest/docs/concepts/traffic-management/#retries
nxowjjhe2#
通过在容器1和容器2上配置preStop生命周期。我有个办法
让我们有一个共享卷。
ex:/var directory
让我们在这个共享文件夹中有一个文件main.txt。其将在两个容器中可见并且可以从两个容器可见实时修改。
预处理:main.txt必须在创建容器1时创建,并在删除容器1时删除。
预停止:
这有用吗?