主容器完成后如何优雅地关闭 sidecar 容器

问题描述

我有一个包含 2 个容器的 kubernetes 清单文件。主容器正在收集特定时间段的数据和其他(logstash)容器读取主容器的日志并将其发送到 ELK 堆栈。 主容器完成其工作后,优雅地发出信号或关闭 logstash 容器的最佳方法是什么?

解决方法

目前,无法将容器显式标记为“Sidecar”(尽管有 long-lasting KEP 来实现它)。

这意味着您能做的最好的事情是使用命令定义 Container Lifecycle Hook 以优雅地关闭您的 sidecar 容器。类似的东西:

  containers:
  - name: logstash-container
    image: logstash-image
  - name: your-main-container
    image: your-main-container-image
    lifecycle:
      preStop:
        exec:
          command: ["/bin/sh","-c","gracefully terminate logstash"]done"]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...