文章目录

  • 连接k8s
  • 创建一个简单的Job
  • 查询Job的信息
  • 设置容器资源限制

连接k8s

首先要获取一个连接k8s的*kubernetes.Clientset对象,具体连接方法参考:创建连接Kubernetes集群的客户端

创建一个简单的Job

创建Job的代码:

import ("fmt"v1 "k8s.io/api/batch/v1"corev1 "k8s.io/api/core/v1""time"
)func CreateSimpleJob () {targetJob := &v1.Job{}targetJob.Namespace = "demo" // 所属的namespace,如果没有,需要先创建该namespacetargetJob.Name = fmt.Sprintf("j-" + time.Now().Format("2006-01-02-15-04-05") + "-w") // job的名字,取一个合法的名字即可container := corev1.Container{Name:"perl-01"}container.Image = "perl"  // 指定容器镜像container.Command = []string{"perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"} // 指定启动命令targetJob.Spec.Template.Spec.Containers = []corev1.Container{container}// k8s pod默认的restartPolicy是"Always",job不支持"Always",必须改成"Never"或"OnFailure"targetJob.Spec.Template.Spec.RestartPolicy = corev1.RestartPolicyNever// GetClientSet()返回一个*kubernetes.Clientset类型的k8s客户端对象targetJob,err := GetClientSet().BatchV1().Jobs(targetJob.Namespace).Create(targetJob)if err != nil {fmt.Printf("%v\n", err)}
}

在k8s集群上查看创建出来的Job:

kubectl -n demo get jobs
NAME                                       COMPLETIONS   DURATION   AGE
j-2020-07-24-15-54-47-w                    1/1           19s        20m

查询Job的信息

查询刚刚提交的Job的信息:

jobInfo, err := GetClientSet().BatchV1().Jobs(targetJob.Namespace).Get(targetJob.Name, metav1.GetOptions{})

得到的jobInfo即包含了该Job的相关信息。

设置容器资源限制

可以为运行的容器设置资源限制,如下,为上述例子的container增加资源限制:

 container.Resources.Requests = map[corev1.ResourceName]resource.Quantity{corev1.ResourceCPU : resource.MustParse("1"),corev1.ResourceMemory : resource.MustParse("100Mi"),}container.Resources.Limits = map[corev1.ResourceName]resource.Quantity{corev1.ResourceCPU : resource.MustParse("2"),corev1.ResourceMemory : resource.MustParse("200Mi"),}

创建Job后查看相应的Pod信息:

kubectl -n demo get pods j-2020-07-24-16-40-52-w-qkvw6 -o yaml | grep resources -A 5resources:limits:cpu: "2"memory: 200Mirequests:cpu: "1"

可以看到成功为容器增加了资源限制。

client-go入门之2:Job相关操作相关推荐

  1. cv2入门函数imread及其相关操作

    写于2021.04.21 23时 目录 1.dlib.cv2的安装 2.imread()相关参数,及其操作 3.修改图片大小 4如何处理中文路径问题 小声提醒一句:干货在后面! 安装 这里我们使用到的 ...

  2. R语言七天入门教程六:文件相关操作

    R语言七天入门教程六:文件相关操作 一.文件的读写 R 语言作为统计学编程语言,常常需要处理大量数据,而这些数据通常会从文件中进行读取,因此文件读写在R语言中是非常重要的操作.在R语言中,用到最多的文 ...

  3. CAD中 OLE不能旋转_CAD入门学习技巧:图块的各种相关操作和概念汇总(下)

    上篇文章中我们介绍了CAD软件中关于图块的相关操作和概念,本文我们将继续接介绍图块相关知识,让刚开始进行CAD入门学习的小伙伴对CAD图块有更全面的了解,这样在使用CAD软件绘图的时候也能更加得心应手 ...

  4. Git入门与使用 (三) 使用GitHub进行代码托管的相关操作

    文章目录 一.前言 二.使用GitHub进行代码托管的相关操作 1.推送本地仓库内容至远程仓库 2.克隆远程仓库内容至本地仓库 3.邀请他人加入项目团队 4.拉取远程仓库修改的内容 5.解决协同开发时 ...

  5. Linux系统编程10:进程入门之系统编程中最重要的概念之进程进程的相关操作使用fork创建进程

    文章目录 (1)进程的概念 (2)如何管理进程 A:描述 B:PCB C:task_struct (3)进程相关操作 A:查看进程 B:进程与父进程 (4)创建进程-fork A:fork的作用:演示 ...

  6. 2021年大数据HBase(五):HBase的相关操作JavaAPI方式

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-JavaAPI方式 一.需求说明 ...

  7. 2021年大数据HBase(四):HBase的相关操作-客户端命令式!【建议收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 HBase的相关操作-客户端命令式 1.进入HBase ...

  8. [RabbitMQ]RabbitMQ原理与相关操作(一)

    2019独角兽企业重金招聘Python工程师标准>>> RabbitMQ原理与相关操作(一) 小编是菜鸟一枚,最近想试试MQ相关的技术,所以自己看了下RabbitMQ官网,试着写下自 ...

  9. 【Arduino】开发入门【八】舵机操作+源代码

    [Arduino]开发入门[八]舵机操作+源代码 1.servo类成员函数 函数 说明 attach() 设定舵机的接口,只有9或10接口可利用. write() 用于设定舵机旋转角度的语句,可设定的 ...

  10. java8的lambda中的map相关操作

    0 入门详解篇 1   史上最简单入门:java8的lambda中的map相关操作:基础及注意事项图文详解 2   java8的lambda中collect接口案例及原理详解,官方文档解读 3   j ...

最新文章

  1. \multirow 表格文字居中(latex强制换行)
  2. linux shell Bad substitution
  3. python官网下载安装教程-Python和Anoconda和Pycharm安装教程
  4. python画柱状图代码-python绘制双柱形图代码实例
  5. VTK:可视化算法之VelocityProfile
  6. 机器人 铑元素_中国青年化学家元素周期表专辑 | 胡淑贤:我为镨代言
  7. cvtcolor python opencv_二值分析 | OpenCV + skimage如何提取中心线
  8. 二面京东,面试官直接问我JVM,我心里一阵暗爽~
  9. 漫画解析Linux内核
  10. Velocity中避免null引起的数据问题
  11. mysql+last_query_cost_辛星简译MySQL中的last_query_cost_MySQL
  12. 黄聪:C#获取网页HTML内容的三种方式
  13. db PowerDesigner如何将消失的工具栏显示出来
  14. 基于Zigbee和LabView的无线温度采集系统
  15. 如何将图片的尺寸设为A4的尺寸?
  16. BigDATA面试题
  17. solr使用 备忘录 草稿
  18. python读HDF数据
  19. MySQL学习笔记——第3章 数据表的管理和表中数据操纵
  20. 副业赚钱的路子有哪些?分享6种较为实用的副业方式

热门文章

  1. python循环语句-Python for循环控制语句一般格式及方法
  2. python基础教程 下载-Python基础教程第3版中国PDF电子书免费下载
  3. 大学python实训总结-【实训总结】大学生python相关实训总结
  4. python语言能干什么-python语言都可以做什么
  5. python怎样画立体图形-用python来画出高光谱遥感影像的3D立体图
  6. python装饰器-理解Python装饰器(Decorator)
  7. 九九乘法表口诀python-Python 九九乘法表
  8. php和python交互-PHP与Python进行数据交互
  9. python语言命令大全-Python常用命令最全合集
  10. python入门练习题-python入门练习题2