回答问题

在尝试了所有可能的配置后,我在这里问是否有人知道如何启用ttlAfterFinished=true?

我使用的是 K8S 版本 1.17.1。

Answers

您需要通过 kube 控制器管理器和 kube API Server 中的 feature gate 启用它。如果 Kube 控制器管理器和 kube API Server 部署为静态 pod,那么您可以在以下位置找到部署 yaml

/etc/kubernetes/manifests/kube-controller-manager.yaml

/etc/kubernetes/manifests/kube-apiserver.yaml

master 节点中。

编辑两个清单文件并在命令部分的底部添加这一行:

- --feature-gates=TTLAfterFinished=true

编辑并保存 yaml 后,启用此功能后,将自动重新创建 kube 控制器管理器和 kube API Server pod。

您可以通过检查 kube 控制器管理器 pod 的日志来进行验证,您应该会在下面看到

I0308 06:04:43.886097       1 ttlafterfinished_controller.go:105] Starting TTL after finished controller

提示:您可以使用逗号指定多个特征门,例如:

--feature-gates=TTLAfterFinished=true,OtherFeature=true
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐