Files
krkn/containers
Naga Ravi Chaitanya Elluri 56ff0a8c72 Deprecate setting release version in the container source file
This commit also deprecates building container image for ppc64le as it
is not actively maintained. We will add support if users request for it
in the future.

Signed-off-by: Naga Ravi Chaitanya Elluri <nelluri@redhat.com>
2024-07-18 12:56:08 -04:00
..
2023-01-31 17:21:45 -05:00

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.

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:

  1. 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

  1. Create a namespace under which you want to run the kraken pod using kubectl create ns <namespace>.
  2. Switch to <namespace> namespace:
  • In Kubernetes, use kubectl config set-context --current --namespace=<namespace>
  • In OpenShift, use oc project <namespace>
  1. Create a ConfigMap named kube-config using kubectl create configmap kube-config --from-file=<path_to_kubeconfig> (eg. ~/.kube/config)
  2. Create a ConfigMap named kraken-config using kubectl create configmap kraken-config --from-file=<path_to_kraken>/config
  3. Create a ConfigMap named scenarios-config using kubectl create configmap scenarios-config --from-file=<path_to_kraken>/scenarios
  4. Create a ConfigMap named scenarios-openshift-config using kubectl create configmap scenarios-openshift-config --from-file=<path_to_kraken>/scenarios/openshift
  5. Create a ConfigMap named scenarios-kube-config using kubectl create configmap scenarios-kube-config --from-file=<path_to_kraken>/scenarios/kube
  6. Create a service account to run the kraken pod kubectl create serviceaccount useroot.
  7. In Openshift, add privileges to service account and execute oc adm policy add-scc-to-user privileged -z useroot.
  8. Create a Job using kubectl apply -f <path_to_kraken>/containers/kraken.yml and monitor the status using oc get jobs and oc get pods.