Setup host
First, make sure kube-apiserver could connect to your local machine.
Second, make sure the OpenKruise has been installed in your cluster. If not, install it according to this doc.
Then, run triton locally
kubectl create ns triton-system
make install
make runThe followings are the steps to debug triton controller manager locally using Pod.
Install docker
Following the official docker installation guide.
Install minikube
Follow the official minikube installation guide.
Develop locally
Make your own code changes and validate the build by running make manager and make manifests in triton directory.
Deploy customized controller manager
The new controller manager will be deployed via a Deployment to replace the default triton controller manager.
The deployment can be done by following steps assuming a fresh environment:
- Prerequisites: create new/use existing dock hub account ($DOCKERID), and create a
tritonrepository in it; - step 1:
docker loginwith the $DOCKERID account; - step 2:
export IMG=<image_name>to specify the target image name. e.g.,export IMG=$DOCKERID/triton:test; - step 3:
make docker-buildto build the image locally; - step 4:
make docker-pushto push the image to dock hub under thetritonrepository; - step 5:
export KUBECONFIG=<your_k8s_config>to specify the k8s cluster config. e.g.,export KUBECONFIG=$~/.kube/config; - step 6:
make deploy IMG=${IMG}to deploy your triton-controller-manager to the k8s cluster;
Tips:
- You can perform manual tests and use
kubectl logs <triton-pod-name> -n triton-systemto check controller logs for debugging, and you can see your<triton-pod-name>by applyingkubectl get pod -n triton-system.