Exercise 4.3 part 5-6: activeDeadlineSeconds is in the wrong spec

Undertaking the given exercise, I have the following in cronjob.yaml:
apiVersion: batch/v1 kind: CronJob metadata: name: sleepy spec: schedule: "*/2 * * * *" jobTemplate: spec: template: spec: activeDeadlineSeconds: 10 containers: - name: resting image: busybox command: ["/bin/sleep"] args: ["30"] restartPolicy: Never
When I create this CronJob, I do not see the described behaviour for the exercise:
Ensure that if the job continues for more than 10 seconds it is terminated.
Instead, I am seeing that each two minutes, a new Job is created (as expected) but after 10 seconds, the Pod for the Job is marked DeadlineExceeded
, (and eventually Completed
), but a new Pod is created by the Job, i.e. it's retrying rather than terminated.
This is actually visible in the example output during step 6, which shows in the second-last output, a Job over 2 minutes old which has not been cleaned up.
Huh. While I was writing this up, one of the Jobs finally failed, with Job has reached the specified backoff limit
, after almost 12 minutes.
That matches the backoffLimit: 6
seen in the default Job earlier in the lesson, and I can see that in the Job docs, but it wasn't touched upon in the lesson.
I'd suggest maybe setting that to 1
or 0
in order to illustrate the point being made in a timely manner?
And now I'm in the docs, perhaps the problem is that activeDeadlineSeconds
should be in the jobTemplate.spec
, not the (PodSpec)jobTemplate.spec.template.spec
, where it was added in Step 5.
It was in the Job's spec
in Exercise 4.2 Step 11 as well, when the behaviour was correct.
Trying it that way, I now see the Jobs created by the CronJob are marked Failed and terminated after 10 seconds, per the exercise description.
And the failed Job is also deleted as soon as a newer job fails. I can see in the CronJob spec a default setting failedJobsHistoryLimit: 1
, which explains this, and highlights that seeing two Jobs older than 10 seconds meant that the exercise was not working.
So what I ended up with to get the right result from Exercise 4.3 Steps 5-6, compared to the given example, is:
apiVersion: batch/v1 kind: CronJob metadata: name: sleepy spec: schedule: "*/2 * * * *" jobTemplate: spec: activeDeadlineSeconds: 10 # <== This line has moved up two levels template: spec: containers: - name: resting image: busybox command: ["/bin/sleep"] args: ["30"] restartPolicy: Never
Categories
- 8.8K All Categories
- 12 LFX Mentorship
- 65 LFX Mentorship: Linux Kernel
- 356 Linux Foundation Boot Camps
- 226 Cloud Engineer Boot Camp
- 69 Advanced Cloud Engineer Boot Camp
- 23 DevOps Engineer Boot Camp
- 5 Cloud Native Developer Boot Camp
- 724 Training Courses
- 14 LFC110 Class Forum
- 16 LFD102 Class Forum
- 96 LFD103 Class Forum
- 2 LFD121 Class Forum
- 55 LFD201 Class Forum
- 1 LFD213 Class Forum - Discontinued
- 128 LFD232 Class Forum
- 14 LFD254 Class Forum
- 420 LFD259 Class Forum
- 78 LFD272 Class Forum
- 1 LFD272-JP クラス フォーラム
- 15 LFS200 Class Forum
- 683 LFS201 Class Forum
- LFS201-JP クラス フォーラム
- 271 LFS211 Class Forum
- 50 LFS216 Class Forum
- 23 LFS241 Class Forum
- 26 LFS242 Class Forum
- 18 LFS243 Class Forum
- 4 LFS244 Class Forum
- 7 LFS250 Class Forum
- LFS250-JP クラス フォーラム
- 103 LFS253 Class Forum
- 753 LFS258 Class Forum
- 7 LFS258-JP クラス フォーラム
- 48 LFS260 Class Forum
- 74 LFS261 Class Forum
- 6 LFS262 Class Forum
- 76 LFS263 Class Forum
- 14 LFS264 Class Forum
- 10 LFS266 Class Forum
- 8 LFS267 Class Forum
- 8 LFS268 Class Forum
- 4 LFS269 Class Forum
- 173 LFS272 Class Forum
- 1 LFS272-JP クラス フォーラム
- 184 LFW211 Class Forum
- 99 LFW212 Class Forum
- 875 Hardware
- 204 Drivers
- 74 I/O Devices
- 43 Monitors
- 115 Multimedia
- 204 Networking
- 98 Printers & Scanners
- 82 Storage
- 716 Linux Distributions
- 78 Debian
- 64 Fedora
- 12 Linux Mint
- 13 Mageia
- 22 openSUSE
- 125 Red Hat Enterprise
- 33 Slackware
- 13 SUSE Enterprise
- 344 Ubuntu
- 445 Linux System Administration
- 33 Cloud Computing
- 63 Command Line/Scripting
- Github systems admin projects
- 88 Linux Security
- 73 Network Management
- 105 System Management
- 45 Web Management
- 50 Mobile Computing
- 18 Android
- 19 Development
- 1.2K New to Linux
- 1.1K Getting Started with Linux
- 499 Off Topic
- 119 Introductions
- 193 Small Talk
- 19 Study Material
- 742 Programming and Development
- 237 Kernel Development
- 471 Software Development
- 898 Software
- 244 Applications
- 178 Command Line
- 2 Compiling/Installing
- 72 Games
- 313 Installation
- 19 All In Program
- 19 All In Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)