Guides of Operator Deployment

Use kustomize to customise your deployment

  1. Clone the source code:
git clone
  1. Edit file config/operator/default/kustomization.yaml file to change your preferences. If you prefer to your private docker image, a quick path to override OPERATOR_IMG environment variable : export OPERATOR_IMG=<private registry>/controller:<tag>

  2. Use make to generate the final manifests and deploy:

make operator-deploy
  1. Deploy the CRDs:
make operator-install

Test your deployment

  1. Deploy a sample OAP server, this will create an OAP server in the default namespace:
curl | kubectl apply -f -
  1. Check the OAP server in Kubernetes:
kubectl get oapserver
  1. Check the UI server in Kubernetes:
kubectl get ui


If you encounter any issue, you can check the log of the controller by pulling it from Kubernetes:

# get the pod name of your controller
kubectl --namespace skywalking-swck-system get pods

# pull the logs
kubectl --namespace skywalking-swck-system logs -f [name_of_the_controller_pod]

Custom manifests templates

If you want to custom the manifests templates to generate dedicated Kubernetes resources, please edit YAMLs in pkg/operator/manifests. After saving your changes, issue make update-templates to transfer them to binary assets. The last step is to rebuild operator by make operator-docker-build.