Skip to content

Pod

The Pod check creates a new pod and verifies its reachability.

Example
apiVersion: canaries.flanksource.com/v1
kind: Canary
metadata:
  name: pod-check
spec:
  interval: 30
  pod:
    - name: golang
      namespace: default
      spec: |
        apiVersion: v1
        kind: Pod
        metadata:
          name: hello-world-golang
          namespace: default
          labels:
            app: hello-world-golang
        spec:
          containers:
            - name: hello
              image: quay.io/toni0/hello-webserver-golang:latest
      port: 8080
      path: /foo/bar
      ingressName: hello-world-golang
      ingressHost: "hello-world-golang.127.0.0.1.nip.io"
      scheduleTimeout: 20000
      readyTimeout: 10000
      httpTimeout: 7000
      deleteTimeout: 12000
      ingressTimeout: 10000
      deadline: 60000
      httpRetryInterval: 200
      expectedContent: bar
      expectedHttpStatuses: [200, 201, 202]
      priorityClass: canary-checker-priority
    - name: ruby
      namespace: default
      spec: |
        apiVersion: v1
        kind: Pod
        metadata:
          name: hello-world-ruby
          namespace: default
          labels:
            app: hello-world-ruby
        spec:
          containers:
            - name: hello
              image: quay.io/toni0/hello-webserver-ruby:latest
              imagePullPolicy: Always
      port: 8080
      path: /foo/bar
      ingressName: hello-world-ruby
      ingressHost: "hello-world-ruby.127.0.0.1.nip.io"
      scheduleTimeout: 30000
      readyTimeout: 12000
      httpTimeout: 7000
      deleteTimeout: 12000
      ingressTimeout: 10000
      deadline: 29000
      httpRetryInterval: 200
      expectedContent: hello, you've hit /foo/bar
      expectedHttpStatuses: [200, 201, 202]
Field Description Scheme Required
description Description of the check string
name Name of the pod to be created string Yes
namespace Namespace to create the pod in string Yes
spec Spec of pod to be created string Yes
scheduleTimeout Maximum time between pod created and pod running int64
readyTimeout int64
httpTimeout Maximum time to wait for an HTTP connection to the created pod int64
deleteTimeout Specify timeout for pod deletion int64
ingressTimeout Maximum time to create an ingress connected to the pod int64
httpRetryInterval Interval in ms to retry HTTP connections to the created pod int64
deadline Overall time before which an HTTP connection to the pod must be established int64
port Port on which the created pod will serve traffic int64
path Path on whcih the created pod will respond to requests string
ingressName Name to use for the ingress object that will expose the created pod string Yes
ingressHost URL to be used by the ingress to expose the created pod string Yes
expectedContent Expected content of an HTTP response from the created pod string
expectedHttpStatuses Expected HTTP status code of the response from the created pod []int64
priorityClass Pod priority class string