Installation Prerequisites
5 min
before starting the installation, ensure that the kubernetes cluster (minikube in this example) is up and running minikube status if the output is not running, start it minikube start once the cluster is running, verify that the following tooling and network prerequisites are also in place tooling prerequisites requirement commands to check expected cluster admin rights kubectl auth can i create clusterrole yes (the injector creates cluster scoped resources) helm 3 installed helm version short v3 x x or newer node architecture is known kubectl get nodes o jsonpath='{ items\[0] status nodeinfo architecture}' for example, amd64 — record this value; it is needed for the image architecture check the cluster must also have outbound network access to the following endpoints required outbound access destination port used for krontechnology github io 443 downloading the helm chart index and chart packages container image registry (docker io / krontechnology) 443 pulling the agent, aapm service, injector, and aapm client images kron pam server (\<kron pam server address>) 443 agent registration and secret retrieval image architecture check the container images are not guaranteed to be published as multi architecture manifests for every tag if the image architecture doesn't match the node architecture, the container fails to start with exec format error and enters crashloopbackoff this failure is unrelated to chart or values configuration and can't be fixed by any helm operation verify the match before installing node architecture kubectl get nodes o jsonpath='{ items\[0] status nodeinfo architecture}' image architecture (minikube example) minikube ssh docker pull \<repository>/\<image> \<tag> minikube ssh docker image inspect \<repository>/\<image> \<tag> format '{{ architecture}}' success criteria both commands return the same architecture value (for example amd64) if they don't match, identify a tag that is published for the node's architecture and override the image tag at install time for the injected client this is sidecarimage tag, described in the injector installation section if an image with the same tag was previously pulled on the node, the cached copy is reused because imagepullpolicy defaults to ifnotpresent remove the cached image before retrying minikube ssh docker rmi f \<repository>/\<image> \<tag>