Deploy Jaeger to connected Kubernetes cluster
As part of the larger effort to support tracing within GitLab, we will be integrating with Jaeger. This will mean that customers will need to be able to deploy the agent and other related services in order to collect data, and store it where GitLab can access.
While we should support customers who want to bring their own, we should first offer a method to directly deploy Jaeger through our cluster integration. This is primarily because we need to set the basePath
setting of Jaeger, to allow it to be accessible from behind reverse proxies.
To achieve this, we should deploy with the Jaeger chart: https://github.com/kubernetes/charts/tree/master/incubator/jaeger
- The chart offers built-in support for both Cassandra and ElasticSearch, we should disable these and use the GitLab deployed ElasticSearch: https://gitlab.com/gitlab-org/gitlab-ee/issues/5694
- This means that ES would have to be deployed before you can deploy Jaeger.
- There is a feature which requires cron jobs, which needs k8s 1.8+. Rather than turn this off, we should simply make 1.8 a requirement.
- Note that this is currently in the
incubator
repo, which means it will need to be added first:helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
Edited by Joshua Lambert