Kraken image
Container image gets automatically built by quay.io at Kraken image.
Run containerized version
Refer instructions for information on how to run the containerized version of kraken.
Run Custom Kraken Image
Refer to instructions for information on how to run a custom containerized version of kraken using podman.
Kraken as a KubeApp
GENERAL NOTES:
-
It is not generally recommended to run Kraken internal to the cluster as the pod which is running Kraken might get disrupted, the suggested use case to run kraken from inside k8s/OpenShift is to target another cluster (eg. to bypass network restrictions or to leverage cluster's computational resources)
-
your kubeconfig might contain several cluster contexts and credentials so be sure, before creating the ConfigMap, to keep only the credentials related to the destination cluster. Please refer to the Kubernetes documentation for more details
-
to add privileges to the service account you must be logged in the cluster with an highly privileged account (ideally kubeadmin)
To run containerized Kraken as a Kubernetes/OpenShift Deployment, follow these steps:
- Configure the config.yaml file according to your requirements.
NOTE: both the scenarios ConfigMaps are needed regardless you're running kraken in Kubernetes or OpenShift
- Create a namespace under which you want to run the kraken pod using
kubectl create ns <namespace>. - Switch to
<namespace>namespace:
- In Kubernetes, use
kubectl config set-context --current --namespace=<namespace> - In OpenShift, use
oc project <namespace>
- Create a ConfigMap named kube-config using
kubectl create configmap kube-config --from-file=<path_to_kubeconfig>(eg. ~/.kube/config) - Create a ConfigMap named kraken-config using
kubectl create configmap kraken-config --from-file=<path_to_kraken>/config - Create a ConfigMap named scenarios-config using
kubectl create configmap scenarios-config --from-file=<path_to_kraken>/scenarios - Create a ConfigMap named scenarios-openshift-config using
kubectl create configmap scenarios-openshift-config --from-file=<path_to_kraken>/scenarios/openshift - Create a ConfigMap named scenarios-kube-config using
kubectl create configmap scenarios-kube-config --from-file=<path_to_kraken>/scenarios/kube - Create a service account to run the kraken pod
kubectl create serviceaccount useroot. - In Openshift, add privileges to service account and execute
oc adm policy add-scc-to-user privileged -z useroot. - Create a Job using
kubectl apply -f <path_to_kraken>/containers/kraken.ymland monitor the status usingoc get jobsandoc get pods.