首页 > 其他分享 >Kubernetes v1.16.3版本开启 Job ttlSecondsAfterFinished 自动清理机制

Kubernetes v1.16.3版本开启 Job ttlSecondsAfterFinished 自动清理机制

时间:2024-11-18 09:21:53浏览次数:1  
标签:ttlSecondsAfterFinished kubernetes v1.16 Job 自动 TTL Kubernetes

前言

Kubernetes v1.23 之前,Job 在处于 Completed 后,默认是不会被清理的。

完成的 Job 通常不需要留存在系统中。在系统中一直保留它们会给 API 服务器带来额外的压力。

Kubernetes v1.23 之后, TTL 控制器所提供的 TTL 机制。

通过设置 Job 的 .spec.ttlSecondsAfterFinished 字段,可以让该控制器清理掉已结束的资源。

TTL-after-finished 控制器只支持 Job。

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-ttl
spec:
  ttlSecondsAfterFinished: 100
  template:
    spec:
      containers:
      - name: pi
        image: perl:5.34.0
        command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never

Job pi-with-ttl 在结束 100 秒之后,可以成为被自动删除的对象。

如果该字段设置为 0,Job 在结束之后立即成为可被自动删除的对象。 如果该字段没有设置,Job 不会在结束之后被 TTL 控制器自动清除。

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/ttlafterfinished/

https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/job/#clean-up-finished-jobs-automatically

配置开启alpha版本,TTLAfterFinished特性

在安装 Kubernetes 的机器上,配置文件一般默认在 /etc/kubernetes

如果存在多个 feature-gates 开启特性,则用逗号分隔。

修改 /etc/kubernetes/manifests/kube-apiserver.yaml 文件,新增

- --feature-gates=TTLAfterFinished=true

修改 /etc/kubernetes/manifests/kube-controller-manager.yaml 文件,新增

- --feature-gates=TTLAfterFinished=true

重启 kubelet

systemctl restart kubelet

修改成功后,重启 kubelet 即可生效,自动清除 Job。

标签:ttlSecondsAfterFinished,kubernetes,v1.16,Job,自动,TTL,Kubernetes
From: https://www.cnblogs.com/niuben/p/18550484

相关文章

  • 一分钟掌握 kom:一行代码,轻松玩转 Kubernetes 多集群管理!
    目录导读基于kom的Kubernetes多集群操作教程1.工具简介2.安装和运行2.1集成`kom`3.多集群管理3.1注册集群3.2查看和选择集群4.资源管理操作4.1查询资源4.2创建资源4.3更新资源4.4删除资源4.总结引用导读管理Kubernetes多集群通常是一项复......
  • 什么是Google Kubernetes Engine (GKE) 中Node Pool 和 Pod
    在GoogleKubernetesEngine(GKE)中,NodePool和Pod是Kubernetes集群中的两个关键概念,它们的关系密切但作用不同:简单类比:想象一个工厂(Kubernetes集群):NodePool: 是工厂里的多个相同的车间,每个车间都有相同的机器设备。Pod: 是车间里的生产线,每个生产线都在进行不......
  • 【K8s】专题十五(2):Kubernetes 网络之 CNI
    本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口| 精选文章 | Kubernetes |Docker|Linux |羊毛资源 | 工具推荐 |往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决......
  • Kubernetes-高可用k8s集群部署(多Master节点二进制方式)
    前言:Kubernetes(简称k8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是k8s的一些关键特性和概念:容器编排:k8s帮助用户管理容器的生命周期,包括部署、扩展和运行。服务发现和负载均衡:k8s可以为容器提供内部和外部的服务发现和负载均衡。存储......
  • 如何将 Kubernetes 中的两个 Nginx Ingress 合并成一个:操作步骤与注意事项
    个人名片......
  • Kubernetes网络调试:进入容器网络命名空间(netns)的实用指南
    在Kubernetes中,进入容器的网络命名空间(netns)是一个高级操作,通常用于网络调试和故障排除。以下是一些实用的技巧和步骤,帮助进入容器的netns:一、获取容器ID和进程ID(PID首先,需要使用kubectl命令获取目标Pod中容器的ID,然后根据容器运行时(如containerd或dockerd)获取容器的主进程PID......
  • Docker && Kubernetes
     Docker镜像与容器Docker中有两个重要概念。一个是容器(Container):容器特别像一个虚拟机,容器中运行着一个完整的操作系统。可以在容器中装Nodejs,可以执行npminstall,可以做一切你当前操作系统能做的事情另一个是镜像(Image):镜像是一个文件,它是用来创建容器的。如果你有装过......
  • 深入理解Kubernetes中的持久化存储 - PV和PVC详解
    1.引言在Kubernetes(K8s)生态系统中,持久化存储是一个至关重要的概念,尤其对于有状态应用而言。Kubernetes通过引入PersistentVolume(PV)和PersistentVolumeClaim(PVC)这两个核心概念来管理持久化存储。本文将深入探讨PV和PVC的概念、配置、生命周期以及实际应用场景。2.PV和PVC......
  • 深入理解 Kubernetes 中的 Service、Ingress 和 NginxIngress:如何配置多个域名访问 Ja
    个人名片......
  • kubernetes镜像拉取失败解决方法 ErrImagePull
    被这个问题卡住了最少一个下午的时间。。。。不过就当熟悉k8s的命令了吧。。。只能这么安慰自己了最近在捣鼓k8s部署.netcore的后端(我是在windows上部署dockerdesktop来做测试的),在拉取我阿里云镜像仓库的私有镜像,搞来搞去搞了好久都没用dockpull registry.cn-hangzhou.aliyu......