Skip to main content

Lifeguard integration with Kubernetes

Project description

Lifeguard K8S

Integration with Kubernetes

Actions

  • delete_informed_pods: delete pods informed in validation response details. Example of usage:
from lifeguard_k8s.actions.pods import deleted_formed_pods

@validation(
    "drubin-lifeguard",
    actions=[delete_informed_pods],
    schedule={"every": {"minutes": 1}},
)
def drubin_lifeguard():
    # To execute delete_informed_pods action the response should have the
    # two attributes in details:
    # - namespace: the Kubernetes namespace where the pods are
    # - delete_pods: list of pods to be deleted
    return ValidationResponse(
        PROBLEM, {"delete_pods": ["lifeguard-75c44897b4-k9g94"], "namespace": "drubin"}
    )

Validations

  • pods_validation: check if all pods are running

Important: To use Kubernetes APIs into the valiations, you need to create a service account and a cluster role binding. Example of a valid manifest:

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: lifeguard-sa
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: lifeguard-roles
rules:
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["get", "list"]
  - apiGroups: [""]
    resources: ["pods", "pods/exec"]
    verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: lifeguard-rolebinding
subjects:
  - kind: ServiceAccount
    name: lifeguard-sa
    namespace: namespace
roleRef:
  kind: ClusterRole
  name: lifeguard-roles
  apiGroup: rbac.authorization.k8s.io

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lifeguard-k8s-1.3.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

lifeguard_k8s-1.3.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file lifeguard-k8s-1.3.0.tar.gz.

File metadata

  • Download URL: lifeguard-k8s-1.3.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for lifeguard-k8s-1.3.0.tar.gz
Algorithm Hash digest
SHA256 97b64acb2019b9f9f888b048db2c3b6bec11ebe1b51379ccb52dc740bccfe65d
MD5 820073ae03fff7a14e4dfba2540df7da
BLAKE2b-256 0e60c4d23397968d7bb8847058814f8ae8c0c56673acf5647c892eb80a798d5d

See more details on using hashes here.

File details

Details for the file lifeguard_k8s-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for lifeguard_k8s-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 825c6467f033b2d4a62922452e91aafe4a841c01dc7e86e5d14be013e46e19f9
MD5 d84e02290ce1fa16ae2004dd2044c03e
BLAKE2b-256 477210866002013581f2d0d0fa3e3b463c0d051cd2604f96cee26f1ceed015e7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page