【发布时间】:2021-03-26 04:43:03
【问题描述】:
我有一个包含 2 个容器的 kubernetes 清单文件。主容器正在收集某个时间段的数据和其他(logstash)容器读取主容器的日志并将其运送到ELK堆栈。 主容器完成其工作后,优雅地发出信号或关闭 logstash 容器的最佳方式是什么?
【问题讨论】:
标签: kubernetes sidecar kubernetes-container
我有一个包含 2 个容器的 kubernetes 清单文件。主容器正在收集某个时间段的数据和其他(logstash)容器读取主容器的日志并将其运送到ELK堆栈。 主容器完成其工作后,优雅地发出信号或关闭 logstash 容器的最佳方式是什么?
【问题讨论】:
标签: kubernetes sidecar kubernetes-container
目前,没有办法将容器显式标记为“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"]
【讨论】: