deadline-job-operator

command module
v0.0.0-...-0d9cfd6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

README

Deadline Job Operator

To run controller locally, run below commands.

make generate
make manifests
make install run

To create DeadlineJob resource, run below commands.

kubectl apply -f config/samples/job_v1alpha1_deadlinejob.yaml

After DeadlineJob resource is created, you can see logs like this.

2021-10-26T23:20:32.560Z        INFO    controller_deadlinejob  === Reconcile DeadlineJob       {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.561Z        INFO    controller_deadlinejob  Phase: PENDING  {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.561Z        INFO    controller_deadlinejob  It's time to execute the job.   {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.575Z        INFO    controller_deadlinejob  === Reconcile DeadlineJob       {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.575Z        INFO    controller_deadlinejob  Phase: RUNNING  {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.607Z        INFO    controller_deadlinejob  Pod launched:   {"namespace": "default", "DeadlineJob": "deadlinejob-sample", "name": "deadlinejob-sample-pod"}
2021-10-26T23:20:32.624Z        INFO    controller_deadlinejob  === Reconcile DeadlineJob       {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.624Z        INFO    controller_deadlinejob  Phase: RUNNING  {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.647Z        INFO    controller_deadlinejob  === Reconcile DeadlineJob       {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}
2021-10-26T23:20:32.647Z        INFO    controller_deadlinejob  Phase: EXCEEDED_DEADLINE        {"namespace": "default", "DeadlineJob": "deadlinejob-sample"}

You can check DeadlineJob resource as follows.

$ kubectl get deadlinejobs.job.nuka137.com
NAME                 AGE
deadlinejob-sample   80s

$ kubectl describe deadlinejobs.job.nuka137.com deadlinejob-sample
Name:         deadlinejob-sample
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  job.nuka137.com/v1alpha1
Kind:         DeadlineJob
Metadata:
  Creation Timestamp:  2021-10-26T23:20:32Z
  Generation:          1
  Managed Fields:
    API Version:  job.nuka137.com/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .:
          f:kubectl.kubernetes.io/last-applied-configuration:
      f:spec:
        .:
        f:command:
        f:jobEnd:
        f:jobStart:
    Manager:      kubectl-client-side-apply
    Operation:    Update
    Time:         2021-10-26T23:20:32Z
    API Version:  job.nuka137.com/v1alpha1
    Fields Type:  FieldsV1
    fieldsV1:
      f:status:
        .:
        f:phase:
    Manager:         main
    Operation:       Update
    Time:            2021-10-26T23:20:32Z
  Resource Version:  24539878
  UID:               be0f1340-dd37-4749-b5bd-23d3fdaedd2e
Spec:
  Command:    sleep 120000
  Job End:    2021-10-11T12:43:20Z
  Job Start:  2021-10-11T06:24:00Z
Status:
  Phase:  EXCEEDED_DEADLINE
Events:   <none>

Run commands to cleanup.

kubectl delete -f config/samples/job_v1alpha1_deadlinejob.yaml
kubectl delete crd deadlinejobs.job.nuka137.com

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the job v1alpha1 API group +kubebuilder:object:generate=true +groupName=job.nuka137.com
Package v1alpha1 contains API Schema definitions for the job v1alpha1 API group +kubebuilder:object:generate=true +groupName=job.nuka137.com

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL