CronJob
apiVersion: batch/v1
import "k8s.io/api/batch/v1"
CronJob
CronJob являє собою конфігурацію одного завдання cron.
apiVersion: batch/v1
kind: CronJob
metadata (ObjectMeta):
Стандартні метадані обʼєкта. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
spec (CronJobSpec):
Специфікація бажаної поведінки cron job, включаючи розклад. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
status (CronJobStatus):
Поточний статус cron job. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
CronJobSpec
CronJobSpec описує, як виглядатиме виконання завдання та коли воно буде запущено.
jobTemplate (JobTemplateSpec), обовʼязково
Вказує на шаблон задачі, яка буде створена під час виконання CronJob.
JobTemplateSpec описує дані, які повинні бути у задачі при створенні з шаблону
jobTemplate.metadata (ObjectMeta)
Стандартні метадані обʼєкта створених задач з цього шаблону. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
jobTemplate.spec (JobSpec)
Специфікація бажаної поведінки задачі. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
schedule (string), обовʼязково
Розклад у форматі Cron, див. https://uk.wikipedia.org/wiki/Cron.
timeZone (string)
Назва часового поясу для вказаного розкладу, див. https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. Якщо не вказано, то буде використовуватись часовий пояс процесу kube-controller-manager. Допустимі назви часових поясів і зміщення завантажуються з системної бази даних часових поясів API-сервером під час валідації CronJob і контролером під час виконання. Якщо системна база даних часових поясів недоступна, використовується вбудована версія цієї бази. Якщо назва часового поясу стає недійсною протягом життєвого циклу CronJob або через зміну конфігурації хосту, контролер перестане створювати нові задачі та створить системну подію з причиною UnknownTimeZone. Додаткову інформацію можна знайти в https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones.
concurrencyPolicy (string)
Визначає, як обробляти одночасні виконання задачі. Допустимі значення:
- "Allow" (стандартно): дозволяє CronJobs запускати задачі одночасно;
- "Forbid": забороняє одночасні виконання, пропускаючи наступний запуск, якщо попередній ще не завершився;
- "Replace": скасовує поточну задачу і замінює її новою.
startingDeadlineSeconds (int64)
Необовʼязковий термін у секундах для запуску задачі, якщо вона пропустить запланований час з будь-якої причини. Пропущені виконання задач будуть вважатися неуспішними.
suspend (boolean)
Цей прапорець каже контролеру призупиняти подальші виконання, він не застосовується до вже запущених виконань. Стандартне значення — false.
successfulJobsHistoryLimit (int32)
Кількість успішно завершених задач, які потрібно зберегти. Значення повинно бути не відʼємним цілим числом. Стандартне значення — 3.
failedJobsHistoryLimit (int32)
Кількість невдало завершених задач, які потрібно зберегти. Значення повинно бути не відʼємним цілим числом. Стандартне значення — 1.
CronJobStatus
CronJobStatus представляє поточний стан cron job.
active ([]ObjectReference)
Atomic: буде замінено під час злиття
Список посилань на запущені зараз задачі.
lastScheduleTime (Time)
Інформація про час останнього успішного запуску задачі.
Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.
lastSuccessfulTime (Time)
Інформація про час останнього успішного завершення задачі.
Time — це обгортка навколо time.Time, яка підтримує коректне перетворення у YAML та JSON. Для багатьох з функцій, які пропонує пакет time, надаються обгортки.
CronJobList
CronJobList — це колекція cron job.
apiVersion: batch/v1
kind: CronJobList
metadata (ListMeta)
Стандартні метадані списку. Додаткова інформація: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
items ([]CronJob), обовʼязково
Список CronJobs.
Операції
get
отримати вказаний CronJob
HTTP-запит
GET /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
pretty (в запиті): string
Відповідь
200 (CronJob): OK
401: Unauthorized
get
отримати статус вказаного CronJob
HTTP-запит
GET /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
pretty (в запиті): string
Відповідь
200 (CronJob): OK
401: Unauthorized
list
перелік або перегляд обʼєктів типу CronJob
HTTP-запит
GET /apis/batch/v1/namespaces/{namespace}/cronjobs
Параметри
namespace (в шляху): string, обовʼязково
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (CronJobList): OK
401: Unauthorized
list
перелік або перегляд обʼєктів типу CronJob
HTTP-запит
GET /apis/batch/v1/cronjobs
Параметри
allowWatchBookmarks (в запиті): boolean
continue (в запиті): string
fieldSelector (в запиті): string
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
watch (в запиті): boolean
Відповідь
200 (CronJobList): OK
401: Unauthorized
create
створення CronJob
HTTP-запит
POST /apis/batch/v1/namespaces/{namespace}/cronjobs
Параметри
namespace (в шляху): string, обовʼязково
body: CronJob, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (CronJob): OK
201 (CronJob): Created
202 (CronJob): Accepted
401: Unauthorized
update
заміна вказаного CronJob
HTTP-запит
PUT /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
body: CronJob, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (CronJob): OK
201 (CronJob): Created
401: Unauthorized
update
заміна статусу вказаного CronJob
HTTP-запит
PUT /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
body: CronJob, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
pretty (в запиті): string
Відповідь
200 (CronJob): OK
201 (CronJob): Created
401: Unauthorized
patch
часткове оновлення вказаного CronJob
HTTP-запит
PATCH /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (CronJob): OK
201 (CronJob): Created
401: Unauthorized
patch
часткове оновлення статусу вказаного CronJob
HTTP-запит
PATCH /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
body: Patch, обовʼязково
dryRun (в запиті): string
fieldManager (в запиті): string
fieldValidation (в запиті): string
force (в запиті): boolean
pretty (в запиті): string
Відповідь
200 (CronJob): OK
201 (CronJob): Created
401: Unauthorized
delete
видалення CronJob
HTTP-запит
DELETE /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}
Параметри
name (в шляху): string, обовʼязково
назва CronJob
namespace (в шляху): string, обовʼязково
body: DeleteOptions
dryRun (в запиті): string
gracePeriodSeconds (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
Відповідь
200 (Status): OK
202 (Status): Accepted
401: Unauthorized
deletecollection
видалення колекції CronJob
HTTP-запит
DELETE /apis/batch/v1/namespaces/{namespace}/cronjobs
Параметри
namespace (в шляху): string, обовʼязково
body: DeleteOptions
continue (в запиті): string
dryRun (в запиті): string
fieldSelector (в запиті): string
gracePeriodSeconds (в запиті): integer
labelSelector (в запиті): string
limit (в запиті): integer
pretty (в запиті): string
propagationPolicy (в запиті): string
resourceVersion (в запиті): string
resourceVersionMatch (в запиті): string
sendInitialEvents (в запиті): boolean
timeoutSeconds (в запиті): integer
Відповідь
200 (Status): OK
401: Unauthorized