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 hashes)
Built Distribution
Close
Hashes for lifeguard_k8s-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 825c6467f033b2d4a62922452e91aafe4a841c01dc7e86e5d14be013e46e19f9 |
|
MD5 | d84e02290ce1fa16ae2004dd2044c03e |
|
BLAKE2b-256 | 477210866002013581f2d0d0fa3e3b463c0d051cd2604f96cee26f1ceed015e7 |