githubEdit

CronJobs

Schedule a Kubernetes Job in AWS and GCP by creating a Kubernetes CronJob in the DuploCloud Portal

A Kubernetes arrow-up-rightCronJob is a variant of a Kubernetes Job scheduled to run at periodic intervals.

See the Kubernetes CronJob documentationarrow-up-right for more information.

Creating a Kubernetes CronJob

  1. In the DuploCloud Portal, navigate to Kubernetes CronJob.

  2. Click Add. The Add Kubernetes CronJob page displays.

  3. Navigate to Kubernetes CronJob.

  4. Click Add. The Add Kubernetes CronJob page displays.

    Add Kubernetes CronJob - Basic Options page
  5. Complete the fields as follows:

    Name

    Enter the CronJob name, e.g., cronjob1. Required.

    Schedule

    Enter the Cron schedule in standard format, e.g., 0 2 * * *. Required.

    Cleanup After Finished in Seconds (TTL)

    Enter TTL in seconds, e.g., 86400.

    Restart Policy

    Select the restart policy, e.g., Never.

    Backoff Limit

    Enter the maximum number of retries before the Job is marked failed.

    Allocation Tag

    Enter allocation tags if needed for resource organization or scheduling.

  6. Enter the details for Container 1 as needed (Container Name, Docker Image, Command, Environment Variables, Arguments, Other Container Config).

    • If your CronJob requires Init Containers, click the caret next to Add Container and select Add Init Container. The Init Container - 1 area displays.

    • To add more containers, click Add Container as many times as needed and fill in their details.

Container Name

Enter the container name, e.g., main. Required.

Docker Image

Enter the Docker image, e.g., nginx:latest. Required.

Command

Enter any commands to run in the container.

Environment Variables

Enter environment variables to set in the container.

Arguments

Enter arguments for the container.

Other Container Config

Enter any additional container configuration.

  1. Click Next. The Advanced Options pane displays.

Add Kubernetes CronJob - Advanced Options pane
  1. Complete the additional fields as needed:

Other Spec Configuration

Enter any additional pod or container specifications as needed.

Metadata Annotations

Enter annotations in key=value format to add custom metadata to the CronJob or pods.

Metadata Labels

Enter labels in key=value format. To specify the App Name, use: app.duplocloud.net/app-name: "<your-app-name>"

  1. Click Create. The Kubernetes CronJob is created and displayed on the CronJob page. It will run according to the schedule you specified.

K8s CronJob tab displaying Kubernetes Job CALCULATEPI.
circle-info

Tip: Entering an app name in Metadata Labels allows the CronJob to be grouped under the specified App Name in the Apps Dashboard.

Suspending a CronJob

DuploCloud lets you temporarily suspend a CronJob, pausing the scheduling of new Jobs while allowing any existing Jobs to continue running. By default, the suspend setting is false and CronJob will continue scheduling new Jobs.

To update the suspend setting:

  1. Navigate to Kubernetes CronJobs.

  2. Click the menu icon () for the CronJob you want to suspend.

  3. In the Other Spec Configuration field, locate the suspend property.

  4. Set the suspend value to true to suspend the CronJob or false to resume scheduling.

  5. The CronJobs page displays the current state in the Suspended column as Yes or No.

circle-info

Note: Suspending a CronJob only prevents new Jobs from being scheduled. Any Jobs that were already created continue running until completion.

Managing Kubernetes CronJobs faults

You can manage/override Kubernetes Jobs faults on a Tenant or CronJob level. If a CronJob fails, and no Tenant- or Job-level fault setting is configured, DuploCloud will generate a fault by default.

Tenant-level Kubernetes CronJobs faults

Enable or disable faults for failed Kubernetes CronJobs in a specific Tenant.

  1. From the DuploCloud Portal, navigate to Administrator -> Tenant.

  2. Click the Tenant name in the NAME column.

  3. Select the Settings tab, and click Add. The Add Tenant Feature pane displays.

  4. From the Select Feature list box, select Enable K8s job fault logging by default, and use the toggle switch to enable or disable the setting.

  5. Click Add. The CronJobs fault setting is added.

    The Add Tenant Feature pane with Enable K8s Job fault logging by default enabled

You can view the CronJobs fault setting on the Tenants page (Navigate to Administrator -> Tenant, select the Tenant name) under the Settings tab. If the value is true, DuploCloud will generate a fault. If the value is false, DuploCloud will not generate a fault.

The Tenant details page, Settings tab, showing the configured Jobs fault setting

Jobs-level Kubernetes CronJobs faults

You can configure the faults for a specific CronJob when creating the CronJob in DuploCloud. Fault settings added this way override Tenant-level settings. On the Add Kubernetes Job page, in the Metadata Annotations field, enter:

duplocloud.net/fault/when-failed: true. or

duplocloud.net/fault/when-failed: false.

When the value is true and the CronJob fails, DuploCloud will generate a fault. When the value is false and the CronJob fails, a fault will not be generated.

Viewing Kubernetes CronJobs

Viewing CronJob Details

  1. In the DuploCloud Portal, navigate to Kubernetes -> CronJobs.

  2. Select the Kubernetes CronJob you want to view from the NAME colunm.

  3. Select the Overview, Schedule, and Details tabs for information about the CronJob schedule and history.

Using the Containers page to view linked Kubernetes CronJobs

Viewing the Latest Job from a CronJob

You can inspect the most recent CronJob execution from the link on the CronJob details page. This allows you to view the latest Job, including its logs, status, and container details, without manually browsing the Jobs list.

  1. Navigate to Kubernetes -> CronJobs.

  2. Select the CronJob you want to inspect from the NAME column.

  3. Click the Latest Scheduled Job link in the heading. The Job details page displays, showing information about the most recent execution of the CronJob.

The CronJob details page with the Latest Scheduled Job link highlighted
The Job details page displays page for the most recent execution of the CronJob.

This enhancement improves traceability and simplifies debugging by reducing the steps needed to find and review recent executions.

Viewing Kubernetes CronJobs by container

You can view the Kubernetes CronJobs associated with a specific container by following these steps:

  1. In the DuploCloud Portal, navigate to Kubernetes -> Containers.

  2. Select the container from the NAME column. You can filter container names using the Search field at the top of the page to narrow down your selection. The linked CronJob for that container displays, showing you the details of the job using it.

The Job page for the CronJob associated with the selected container

Managing Kubernetes CronJobs

You can view, edit, delete, or manually run a Kubernetes CronJob from the options menu on the CronJobs page.

Running CronJobs on Shared Hosts

DuploCloud supports running Kubernetes CronJobs on Shared Hosts in both AWS and Azure.

For detailed steps, see the Shared Hosts documentation for AWS and Shared Hosts documentation for Azure.

Last updated

Was this helpful?