instruction: Create a Kubernetes Job configuration with best practices
output: ```yaml
  apiVersion: batch/v1
  kind: Job
  metadata:
   annotations: batch.kubernetes.io/job-tracking: ""
   ...
   creationTimestamp: "2022-11-10T17:53:53Z"
   generation: 1
   labels:
   batch.kubernetes.io/controller-uid: 863452e6-270d-420e-9b94-53a54146c223
   batch.kubernetes.io/job-name: pi
   name: pi
   namespace: default
   resourceVersion: "4751"
   uid: 204fb678-040b-497f-9266-35ffa8716d14
  spec:
   backoffLimit: 4
   completionMode: NonIndexed
   completions: 1
   parallelism: 1
   selector:
   matchLabels:
   batch.kubernetes.io/controller-uid: 863452e6-270d-420e-9b94-53a54146c223
   suspend: false
   template:
   metadata:
   creationTimestamp: 
   labels:
   batch.kubernetes.io/controller-uid: 863452e6-270d-420e-9b94-53a54146c223
   batch.kubernetes.io/job-name: pi
   spec:
   containers:
   - command:
   - perl
   - -Mbignum=bpi
   - -wle
   - print bpi(2000)
   image: perl:5.34.0
   imagePullPolicy: IfNotPresent
   name: pi
   resources: {}
   terminationMessagePath: /dev/termination-log
   terminationMessagePolicy: File
   dnsPolicy: ClusterFirst
   restartPolicy: Never
   schedulerName: default-scheduler
   securityContext: {}
   terminationGracePeriodSeconds: 30
  status:
   active: 1
   ready: 0
   startTime: "2022-11-10T17:53:57Z"
   uncountedTerminatedPods: {}
  ```