Openshift临时敲掉一个容器

Openshift temporarily knock-out a container

我部署了 EFK 堆栈,用于使用 openshift 提供的标准 Ansible playbook 登录 openshift 3.6 集群。 所以集群的每个节点上都有一个fluentd pod运行,总共有两个elasticsearch容器

我想暂时禁用 fluentd 容器。当我删除 pod 时,由于 DaemonSet,几秒钟后会在其位置启动一个新的 pod。我怎样才能延长 fluentd pod 关闭的时间?

您可以在 fluentd 的守护程序集上更改节点选择器标签

oc edit ds logging-fluentd

节点选择器: logging-infra-fluentd: "true"

将值 "true" 更改为 "false" ,保存并删除不会再次创建的 fluentd pod。

另一种方法是将节点标记为 "unschedulable",这将阻止新的 PODs 被分配到那里,然后删除 fluentd POD。缺点是,应用程序也无法将它们的 PODs 放在该节点上,但是现有的应用程序将保留。

# disable a node from taking PODs
oadm manage-node node1.example.com --schedulable=false
# a blanket bombing of fluentd
oc -n logging delete pods --all

# enable it back
oadm manage-node node1.example.com --schedulable=true
oc -n logging delete pods --all