k8s v1.16设置Job ttlSecondsAfterFinished不生效

2023-11-16

目录

Completed的job默认不会清理

配置自动清理job

ttl机制自动清理完成的job

ttl controller

开启 TTLAfterFinished

kube-apiserver开启TTLAfterFinished​

kube-controller-manager开启TTLAfterFinished

重启kubelet


Completed的job默认不会清理

Job在处于Completed后,默认是不会被清理的。

https://v1-16.docs.kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#job-termination-and-cleanup

When a Job completes, no more Pods are created, but the Pods are not deleted either. Keeping them around allows you to still view the logs of completed pods to check for errors, warnings, or other diagnostic output. 

配置自动清理job

https://v1-16.docs.kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically

ttl机制自动清理完成的job

https://v1-16.docs.kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#ttl-mechanism-for-finished-jobs

就是给Job的spec增加一个`ttlSecondsAfterFinished`字段,这个字段的意思是当job完成后的保留xx秒就自动清理这个job。

当ttl controller清理job的时候是级联删除的,会把这个job下的pod一并删除。

官网的这个例子是当job完成后的100s就会自动清理了。

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

如果ttlSecondsAfterFinished设置为0,当job完成后则会立即删除。如果没有设置这个字段,那么当job完成后ttl controller是不会自动清理这个job的。

ttl controller

https://v1-16.docs.kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/

由于目前还是alpha版本,需要给kube-controller-manager 和  kube-apiserver 开启TTLAfterFinished  才能生效。

Alpha Disclaimer: this feature is currently alpha, and can be enabled with both kube-apiserver and kube-controller-manager feature gate TTLAfterFinished.

开启 TTLAfterFinished

https://v1-16.docs.kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features

默认是关闭的。

 找到安装kubernetes的kube-apiserver.yaml和kube-controller-manager.yaml,增加开启TTLAfterFinished的设置。

多个feature-gates之间使用逗号分割。

kube-apiserver开启TTLAfterFinished

kube-controller-manager开启TTLAfterFinished

重启kubelet

systemctl restart kubelet

修改成功后重启kubelet即可生效了。

 

这个job完成时间是2020 08:47:12,我给job配置的ttlSecondsAfterFinished是120s,120s后这个job就被自动清理了。完成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s v1.16设置Job ttlSecondsAfterFinished不生效 的相关文章

  • 安装--centos7上使用kubeadm安装三节点的k8s集群

    安装文档 https kubernetes io zh cn docs setup production environment tools kubeadm install kubeadm 参考 https blog csdn net qq
  • kubeadm一键搭建kubernetes环境

    kubeadm一键搭建kubernetes环境 安装docker 按官网教程执行https docs docker com v17 09 engine installation linux docker ce centos install
  • [云原生专题-22]:K8S - 集群编排工具K8S与SWARM比较与技术选择

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122750196 目录 前言 第1章
  • k8s部署gitlab最新版并初始化和登录

    前提条件是已经部署了k8s环境 采用k8s部署gitlab作为devops的测试环境 更加简洁和方便 1 准备工作 1 1 创建nfs共享目录 在nfs服务器创建共享目录 部署的gitlib使用共享目录来进行持久化 这样不管在哪个节点运行g
  • (5)minikube玩转k8s集群之访问pod里的服务

    配套视频教程 1 Minikube介绍 简单说 创建k8s集群很麻烦 minikube可以让我们快速搭建一个k8s集群用于学习 Minikube 是一种可以让您在本地轻松运行 Kubernetes 的工具 Minikube 在笔记本电脑上的
  • Minikube安装以及一些踩坑的解决

    安装k8s和docker 我的测试系统是centos7 8的国内服务器 参考文档 https developer aliyun com article 221687 首先先安装k8s 1 19 2版本 1 19 x 版本的安装 腾讯云 do
  • Kubernetes Pod 故障归类与排查方法

    1 Pod 概念 Pod是kubernetes集群中最小的部署和管理的基本单元 协同寻址 协同调度 Pod是一个或多个容器的集合 是一个或一组服务 进程 的抽象集合 Pod中可以共享网络和存储 可以简单理解为一个逻辑上的虚拟机 但并不是虚拟
  • k8s job机制初探

    博客作为学习笔记记录 若有理解或表述错误 欢迎指出 k8s的job机制 k8s官网参考 k8s的job是用来执行一次性任务的一类资源 相关的还有cronjob 用于执行以下周期性任务 部署job之后 k8s会起对应pod 当pod的状态为f
  • k8s Trouble Shooting 故障排除

    本文要讲的是k8s的故障排除 比较浅 最近刚入门 主要涵盖的内容是查看k8s对象的当前运行时信息 对于服务 容器的问题是如何诊断的 对于某些复杂的问题例如pod调度问题是如何排查的 1 查看系统的Event事件 在对象资源 pod serv
  • kubeadm常用

    kubeadm常用 配置kubeadm自动补全 初始化一个master节点 导出kubeadm默认配置文件 将node节点加入集群 生成node配置 升级k8s版本 kubeadm升级node 维护或下线node节点 管理kubeadm j
  • 从Docker到Kubernetes——Kubernetes设计解读之Pod

    文章目录 Kubernetes是个什么样的项目 Kubernetes的设计解读 典型案例 GuestBook pod设计解读 pod使用实例 pod内容器网络与通信 Kubernetes是个什么样的项目 简单的说 k8s是一个管理跨主机容器
  • k8s系列——部署k8s集群

    1 环境准备 1 1 安装操作系统 此处选用centos 7 操作系统进行安装操作 1 2 关闭防火墙 systemctl stop firewalld systemctl disable firewalld 1 3 关闭selinux s
  • K8s-yaml的使用及命令

    YAML配置文件管理对象 对象管理 创建deployment资源 kubectl create f nginx deployment yaml 查看deployment kubectl get deploy 查看ReplicaSet kub
  • k8s部署springboot

    前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤 1 从代码仓库下载代码 比如GitLab 2 接着是进行打包 比如使用Maven 3 编写Dockerfile文件 把步骤2产生的包制作成镜像 4 上传步骤3的镜像到远程仓库
  • kubernetes集群更新证书(kubeadm方式)

    一 kubernets证书详情 1 查看证书 tree etc kubernetes pki etc kubernetes pki apiserver crt apiserver etcd client crt apiserver etcd
  • Deployment Controller 典型使用场景

    1 重新调度 Rescheduling 不管想运行 1 个副本还是 1000 个副本 副本控制器都能确保指定数量的副本存在于集群中 即使发生节点故障或 Pod 副本被终止运行等意外状况 2 弹性伸缩 Scaling 手动或者通过自动扩容代理
  • IDEA远程调试

    1 概述 原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信 传递调试指令和调试信息 被调试程序的远程虚拟机 作为 Debug 服务端 监听 Debug 调试指令 jdwp是Java Debug Wire
  • K8S暴露端口-dubbo应用远程Debug

    1 Dockerfile增加环境变量 ENV JAVA OPTS Xdebug Xrunjdwp transport dt socket address 9901 server y suspend n 2 暴露端口 template ser
  • K8S暴露服务的三种方式

    文章目录 暴露服务的三种方式 NodePort LoadBalane Ingress 内容参考 暴露服务的三种方式 NodePort 将服务的类型设置成NodePort 每个集群节点都会在节点上打 开 一 个端口 对于NodePort服务
  • flannel和calico区别

    k8s网络模式 Flannel数据包在主机间转发是由backend实现的 目前已经支持UDP VxLAN host gw等多种模式 VxLAN 使用内核中的VxLAN模块进行封装报文 也是flannel推荐的方式 host gw虽然VXLA

随机推荐

  • java swing结构,Java Swing的层次结构理解

    一 什么是Java Swing Swing 是一个用于开发Java图形界面应用程序的开发工具包 它是以抽象窗口工具包 AWT Abstract Window Toolkit 为基础 使跨平台应用程序可以使用任何可插拔的外观风格 通常把AWT
  • oracle 的 start with connect by 用法 .

    分类 oracle java 2012 11 27 17 38 489人阅读 评论 0 收藏 举报 目录 ORACLE Connect ByLevelStart With的使用Hierarchical query 层次查询 connect
  • 一张图解释什么是遗传算法_遗传算法总结(#看了就能懂和用系列#)

    Word害我重写 顺便重新整理下思路 背景 写论文时用到遗传算法 花了近一周时间 还算理解了算法以及能够进行基础的编程实现 保持谦虚 说明 具体的实现没敢细讲 主要是原理的方法上的介绍 讲解都算不上 先说说算法学习 个人觉得首先需要了解这个
  • SpringBoot--Eureka

    SpringBoot Eureka 项目一 使用Eureka注册服务 任务一 搭建Maven父工程 任务二 搭建服务端工程 任务三 搭建客户端工程 项目二 实现服务间的调用 任务一 搭建订单服务工程 任务二 编写用户服务功能 任务三 启动服
  • buuctf-loveSQL

    进入界面 没有什么明显的提示 上次有个一样界面的题目 结果直接万能密码1 1出来了 这次再试试 啥 简单的我有点不相信 睿智的我一下子就觉得不对经 去尝试一下MD5 就知道 算了 接着找吧 看题目名字 lovesql 估计还是注入 只能把目
  • lol 那个服务器最稳定,lol哪个区的人多,哪个区的技术最好?

    每日科技网 一直都有 一区的螃蟹能走位单杀打野 郊区王者打不过一区钻石 的搞笑言论 其实这个言论有一定的是事实依据 虽然有一点夸张 说的神乎其神的 电信一区艾欧尼亚在LOL中的地位是大家有目共睹的 而之所以会出现那样的畸形观点 主要呢有以下
  • js获取昨天/明天、本周/上周/下周、本月/上月、本季度/上季度、上一年的开始/结束日期

    一 获取昨天 明天的日期 该方法参数如果为true 则获取昨天日期 反之为明天日期 默认为true function getYestDayOrNextDay flag true 获取当前日期 const today new Date 计算前
  • 代码检视(一)

    一 意义 最大的意义 通过代码检视 发现问题 解决问题 并且能够有效地提升自己 最终达到写出优质代码 提高代码质量 成功做好项目 二 基本要求 一 逻辑一定要正确 逻辑错误非常容易引起BUG 二 避免一些没必要的代码 能用一句解决的就不要用
  • XMLSocket

    XMLSocket 协议是flash的长连接消息协议 XMLSocket协议规则 每个 XML 消息都是一个完整的XML文档 一定要以 0 结束 html5 websocket是长连接传输的是精简的http报文 XMLSocket conn
  • 【UE4】复杂背景人像抠图-飞浆AI-paddlepaddle深度训练模型

    前言 运用到Python3 7 UEC 蓝图 实现复杂背景人物使用PaddleHub深度训练模型进行抠像后在UE中使用 纯色背景人物仅材质就可实现 使用到的训练模型 deeplabv3p xception65 humanseg 1 准备工作
  • 【私有云平台的搭建——vSphere Client 的安装与配置】

    目录 vSphere Client 的基本操作 Step 1 使用 vSphere Client 安装虚拟机 Step 2 使用 vSphere 客户端在 ESXi 创建虚拟机 Step 3 点击 New Virtual Machine S
  • Idea启动报错idea start failed -org.picocontainer.PicoContainer com.intellij.openapi.application.Applicat

    org picocontainer PicoContainer com intellij openapi application Application getPicoContainer ror Please refer to https
  • Android编译详解之lunch命令

    Android的优势就在于其开源 手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品 如小米 LePhone M9等 因此 在我们在对Android的源码进行定制的时候 很有必要了解下 Android的编译过程 如果你从来没有做过
  • 技术人员的赚钱之道-2:做个现代的“六化”程序员

    六化 像是一面黑夜中的灯塔 在黑暗指明方向 六化 可是现代程序员具备的能力水平 六化 也可以是程序员轻创业的方式 什么是六化 专业化 数字化 自动化 虚拟化 云化 智能化 1 专业化 专业化是程序员的基础 懂得编程或某个专业领域的技术 2
  • Ubuntu20.04 LTS 安装GCC11.2教程,包教包会!

    GCC 11 2 安装 其他版本 如9 5 12 1等都可以用同样方法编译安装 但是依赖包不一样 需要到gcc官网下载对应的依赖包和源码包 前置条件 首先把Ubuntu提供的各种构建工具都给他装上 sudo apt install buil
  • 好分数阅卷3.0_揭秘!自考阅卷的批改套路!

    距离2019年4月自考仅剩 13 天 每当考试之后有小伙伴就有这样的感受 自己感觉这次可以 及格没问题 但是最后却是差了几分 也有人说 我都抄到了标准答案 为什么是56分 56分啊 难道自考真的有所谓的过关率 阅卷老师真的有刻意在压低分数
  • C++顺序表的构建(用数组存储数据)

    这是最简单的顺序表 顺序表中的元素都存储在数组T data中 const int defaultSize 100 template
  • 3399的-mipi适应多个lcd屏显示-后续2-linux内核中的修改

    一 前提 1 rk3399核心板 2 linux4 4 19 源码 3 多个MIPI显示屏的启动序列以及显示时序 重要 4 rk3399MIPI通道0 5 接上一个uboot中的修改配置 二 内核驱动的修改 0 dts就不再给出了 请参考u
  • 【PyQT5教程】-01入门PyQT5

    PyQT介绍 1 Qt 1 1 介绍 Qt 读作 cute 是一个跨平台的C 应用程序开发框架 最初由挪威公司Trolltech 现在是Qt公司的一部分 开发 Qt提供了一系列工具和类库 用于开发图形界面应用程序 命令行工具和服务器端应用程
  • k8s v1.16设置Job ttlSecondsAfterFinished不生效

    目录 Completed的job默认不会清理 配置自动清理job ttl机制自动清理完成的job ttl controller 开启 TTLAfterFinished kube apiserver开启TTLAfterFinished kub