Instana is an APM solution built for microservices that enables IT Ops to build applications faster and deliver higher quality services by automating monitoring, tracing and root cause analysis. The solution is optimized for Kubernetes and OpenShift.
This repository contains the Kubernetes Operator to install and manage the Instana agent.
There are two ways to install the operator:
This documentation section describes configuration options you can set via the Instana Agent CRD and environment variables.
Please see the guidelines in CONTRIBUTING.md.
Developing (and running) the Operator is possible in two easy ways:
- Running as Go application outside the Cluster
- Running as Deployment inside the Cluster
Both are described below.
- Create a copy of the file
config/samples/instana_v1_instanaagent.yaml
, for the below steps we're assumingconfig/samples/instana_v1_instanaagent_demo.yaml
- In this file, put correct values for e.g. the Agent
key
,endpointHost
andendpointPort
. - Install the CRD:
make install
. - Run the Go application, either from your IDE, or from command-line:
make run
. - Deploy the custom resource earlier created using
kubectl apply -f config/samples/instana_v1_instanaagent_demo.yaml
To stop, take the following actions:
kubectl delete -f config/samples/instana_v1_instanaagent_demo.yaml
make uninstall
The Instana Agent Operator can be developed and tested easily against a local Minikube cluster or any other configured Kubernetes cluster. Therefore, follow the below steps:
- Create a copy of the file
config/samples/instana_v1_instanaagent.yaml
, for the below steps we're assumingconfig/samples/instana_v1_instanaagent_demo.yaml
- In this file, put correct values for e.g. the Agent
key
,endpointHost
andendpointPort
. - Build the Operator image:
make docker-build
- For deploying on Minikube, there's a convenient target
make deploy-minikube
. For any other environment you would need to first push the Docker image to a valid repository usingmake docker-push
, then do the deployment usingmake deploy
to deploy the Operator to the cluster configured forkubectl
. - Deploy the custom resource earlier created using
kubectl apply -f config/samples/instana_v1_instanaagent_demo.yaml
Now you should have a successful running Operator. To remove the Operator again, run:
kubectl delete -f config/samples/instana_v1_instanaagent_demo.yaml
make undeploy
.