Skip to content

PodReaper

thalli000 edited this page Apr 23, 2020 · 1 revision

Timed Process: Pod Reaper

Requirements

  • Remove completed pods (error or successful)

    • This is primarily due to the fact that the executor is launched un-managed (the puller does not track the pod id at all)
  • Run on an interval (see CronJob.yaml)

  • Configurable reap age for pods.

Source Code

Kubernetes Configuration

Inputs

N/A - There are no inputs for the pod reaper, only configuration settings.

Command Line Arguments

ResourcePool: Handler common command line arguments

Environment Variables

ResourcePool: Handler common environment variables

Properties Files Values

ResourcePool: Handler common property file values

Properties Settings

Property Value Type Notes
cp.kubernetes.masterUrl String Generally not needed if running as a pod. Will default to the cluster the pod is running in.
cp.kubernetes.namespace String
pod.reap.age.minutes Number The age in minutes that a pod must be to be reaped.
pod.reap.batch.size Number The amount of items to delete in a single request to kubernetes.

Priority Operation Processing

  1. Submission
  2. Scheduling
  3. Execution
    the ResourcePool

Data Object API

Agenda
the workflow
Agenda Template
the workflow definition
Customer
Insight
the scheduling queue definition
Operation Progress
the state of the running Agenda operations
Progress
the state of the running Agendas
ResourcePool
the processing resources

Service Agenda

Agenda Service
the workflow submission
Progress Service
rolled up agenda progress summary
ResourcePool Service
getting work and updating progress

Timed Processes

AgendaReclaimer
restarting stuck Agendas
AgendaRetry
retrying failed Agendas
DataObjectReaper
reaping expired data objects
PodReaper
reaping stuck Kubernetes pods

Installation

Install

Development

DevKubernetesSetup
RunLocalExecution
- RunWithMiniKube

Demo / Examples

SampleAuthorizer
SampleHandler

Product Comparison

Netflix Conductor

Clone this wiki locally