Sign inSign up

gatchenko/kubernetes-cleanup

By gatchenko

•Updated over 6 years ago

Image
0

186

gatchenko/kubernetes-cleanup repository overview

⁠Kubernetes Cleanup

If your K8s cluster support alpha features, you can use TTLAfterFinished⁠ option instead this image.

⁠Describe

This Docker image built on Python 3.7 Alpine image. The image is designed to run by CronJob, to clear Jobs in the status of "completed" and their pods or only pods in the status of finished, or both of them.

⁠Options

OptionDescribeDefault valueRequired
CLEANUP_RESOURCEType of resource for cleanup (job|pod|all)jobNo
CLEANUP_TIMEOUTThe time in seconds after completion of a job before deleted60No
KUBERNETES_NAMESPACEKubernetes namespacedefaultNo

⁠Kubernetes RBAC

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: kubernetes-cleanup
automountServiceAccountToken: false
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubernetes-cleanup
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "watch", "list", "delete"]
- apiGroups: ["batch", "extensions"]
  resources: ["jobs"]
  verbs: ["get", "list", "watch", "delete"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: kubernetes-cleanup
subjects:
- kind: ServiceAccount
  name: kubernetes-cleanup
  namespace: default
roleRef:
  kind: ClusterRole
  name: kubernetes-cleanup
  apiGroup: rbac.authorization.k8s.io

⁠CronJob

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: kubernetes-cleanup
  namespace: default
spec:
  schedule: "*/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: kubernetes-cleanup
            image: gatchenko/kubernetes-cleanup:latest
            env:
            - name: CLEANUP_RESOURCE
              value: "job"
            - name: CLEANUP_TIMEOUT
              value: "60"
            - name: KUBERNETES_NAMESPACE
              value: "default"
          restartPolicy: OnFailure
          serviceAccountName: kubernetes-cleanup
          automountServiceAccountToken: true

Tag summary

Content type

Image

Digest

Size

35.3 MB

Last updated

over 6 years ago

docker pull gatchenko/kubernetes-cleanup