如何在 kubernetes 集群中启用“ttlAfterFinished=true”?

Han*_*jik 4 kubernetes

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

我使用的是K8S版本1.17.1。

Arg*_*dhu 6

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

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

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

节点中。

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

- --feature-gates=TTLAfterFinished=true
Run Code Online (Sandbox Code Playgroud)

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

您可以通过检查 kubecontrollermanagerpod 的日志进行验证,您应该看到下面的内容

I0308 06:04:43.886097       1 ttlafterfinished_controller.go:105] Starting TTL after finished controller
Run Code Online (Sandbox Code Playgroud)

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

--feature-gates=TTLAfterFinished=true,OtherFeature=true
Run Code Online (Sandbox Code Playgroud)