首页 > 其他分享 >K8S进阶篇-高级调度计划任务、污点和容忍、Affinity

K8S进阶篇-高级调度计划任务、污点和容忍、Affinity

时间:2022-10-26 17:48:55浏览次数:94  
标签:kubectl CronJob name -- hello 进阶篇 Affinity K8S spec

一、Job

1 Job可以干什么

Job可以干什么?在容器启动或退出时做一些任务。Job可以并行执行。

1、需要等待后执行的任务

2、导入SQL文件

3、创建用户、清理表

........等等

 

示例:

cat job-pi.yaml 

apiVersion: batch/v1
kind: Job
metadata:
  labels:
    job-name: echo-pi
  name: echo-pi
  namespace: default
spec:
  #suspend: true # 1.21+
  #ttlSecondsAfterFinished: 100
  backoffLimit: 4
  completions: 10
  parallelism: 3
  template:
    spec:
      containers:
      - name: pi
        image: perl:5.34.0
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
        imagePullPolicy: Always
        resources: {}
      restartPolicy: Never

  

查看job:

 

 

 

 注意事项:

 

 二、CronJob

CronJob用于以时间为基准周期性地执行任务,这些自动化任务和运行在Linux或UNIX系统上的CronJob一样。CronJob对于创建定期和重复任务非常有用,例如执行备份任务、周期性调度程序接口、发送电子邮件等。

对于Kubernetes 1.8以前的版本,需要添加--runtime-config=batch/v2alpha1=true参数至APIServer中,然后重启APIServer和Controller Manager用于启用API,对于1.8以后的版本无须修改任何参数,可以直接使用,本节的示例基于1.8以上的版本。

2.1 创建CronJob

创建CronJob有两种方式,一种是直接使用kubectl创建,一种是使用yaml文件创建。

使用kubectl创建CronJob的命令如下:

kubectl run hello --schedule="*/1 * * * *" --restart=OnFailure --image=busybox -- /bin/sh -c "date; echo Hello from the Kubernetes cluster"

  

对应的yaml文件如下:

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

  

本例创建一个每分钟执行一次、打印当前时间和Hello from the Kubernetes cluster的计划任务。

查看创建的CronJob:

kubectl get cj

kubectl logs hello-27779598-pzznh

 

 

2.2 CronJob参数

 

2.3 suspend参数测试

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "*/1 * * * *"
  suspend: true  #加上suspend参数
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

  

 

 再次查看cronjob,超过1分钟后,也没有继续执行:

 

查看是否被挂起:  

kubectl get cronjob/hello -oyaml

 

 

 

恢复挂起:

kubectl patch cronjob/hello --type=strategic --patch '{"spec":{"suspend":false}}'

  

 

 再次查看是否被挂起:

 

标签:kubectl,CronJob,name,--,hello,进阶篇,Affinity,K8S,spec
From: https://www.cnblogs.com/skyflask/p/16829271.html

相关文章

  • k8s-Service
    一、背景通过pod控制器Deployment创建的一组Pod来提供具有高可用性的服务。虽然每个Pod都会分配一个单独的PodIP,然而却存在如下两问题:pod重建后,pod的ip会发生变化po......
  • k8s如何调度pod
    选择节点步骤k8s默认的调度器是kube-scheduler,它会为新创建的pod且未被调度的pod选择最合适的节点。这个过程如下过滤:节点是否有足够的资源满足请求资源条件,满足条件的节点......
  • HELM chart 部署mongodb 到k8s 集群 pod 无法解析dns 问题
    1,正常拉取bitbami的包部署mongodb到k8s集群,运行前一切正常2,部署到mongodb-1的时候,卡主,查看日志,arbiter报无法连接mongodb-0或者mongodb-headless 3,搜到早些年的issu......
  • K8s控制器
    一、Replicaset控制器概述   RS是kubernetes中的副本控制器,全称Replicaset,主要作用是控制由其管理的pod,使pod的副本数量始终维持在预设的个数。保证一定数量的po......
  • c语言—程序环境和预处理进阶篇—笔记
    这章是一个c语言底层逻辑的总览,比较接近硬件,不难理解,这里给大家推荐一个c语言的在线练习网站​​https://www.dotcpp.com/oj/problemset.html​​因为只有通过大量的练习才......
  • 【Kubernetes】K8s笔记(十三):PersistentVolume 解决数据持久化问题
    目录0.ConfigMap和Secret中的Volume1.PersistentVolumePersistentVolumeClaim和StorageClass2.使用YAML描述PersistentVolume3.使用YAML描述PersistentVol......
  • k8s将节点容器运行时从Docker迁移到Containerd
    1.执行drain操作kubectldraink8s-node01--ignore-daemonsets#2.对应节点上关闭docker#注意,是要迁移的节点systemctlstopkubeletsystemctlstopdocker.soc......
  • K8s nodePort、port、targetPort、hostPort
    转载:https://blog.csdn.net/chainsmoker_/article/details/1244498901.nodePort外部流量访问k8s集群中service入口的一种方式(另一种方式是LoadBalancer),即nodeIP:nodeP......
  • k8s-标签(labels)
    官网https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/labels/标签(Labels)是附加到Kubernetes对象(比如Pod)上的键值对。标签旨在用于指定......
  • k8s的安装8
    k8s的安装8我们这次的k8s是yum装的,yum安装的k8s的版本是多少?rpm-qa|grepkubernetes查看版本,如下图所示因为红帽只做了1.5版本的k8s包,所以yum只能装1.5版,虽然这种yum......