jaeger-operator setup in Kubernetes - Instance not created

Created on 12 Jul 2019  Â·  8Comments  Â·  Source: jaegertracing/jaeger-operator

Hi Team,
I have to run the jaeger-operator in Kubernetes environment. I followed the steps in url "https://github.com/jaegertracing/jaeger-operator#creating-a-new-jaeger-instance" but it is not showing any resources.

Here are the commands and output for the commands executed.
root@arun-desktop-e470:/opt/minikube# kubectl create namespace observability
namespace/observability created

root@arun-desktop-e470:/opt/minikube# kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/crds/jaegertracing_v1_jaeger_crd.yaml
customresourcedefinition.apiextensions.k8s.io/jaegers.jaegertracing.io created

root@arun-desktop-e470:/opt/minikube# kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/service_account.yaml
serviceaccount/jaeger-operator created

root@arun-desktop-e470:/opt/minikube# kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/role.yaml
clusterrole.rbac.authorization.k8s.io/jaeger-operator created

root@arun-desktop-e470:/opt/minikube# kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/role_binding.yaml
clusterrolebinding.rbac.authorization.k8s.io/jaeger-operator created

root@arun-desktop-e470:/opt/minikube# kubectl create -f https://raw.githubusercontent.com/jaegertracing/jaeger-operator/master/deploy/operator.yaml
deployment.apps/jaeger-operator created
root@arun-desktop-e470:/opt/minikube# kubectl get deployment jaeger-operator -n observability
NAME READY UP-TO-DATE AVAILABLE AGE
jaeger-operator 0/1 1 0 9m25s

root@arun-desktop-e470:/opt/minikube# cat simplest.yaml
simplest.yaml
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest

root@arun-desktop-e470:/opt/minikube# kubectl apply -f simplest.yaml
jaeger.jaegertracing.io/simplest created

root@arun-desktop-e470:/opt/minikube# kubectl get jaeger
NAME AGE
simplest 16s

root@arun-desktop-e470:/opt/minikube# kubectl get pods -l app.kubernetes.io/instance=simplest
No resources found.
root@arun-desktop-e470:/opt/minikube# kubectl logs -l app.kubernetes.io/instance=simplest

root@arun-desktop-e470:/opt/minikube# kubectl get pods -l app.kubernetes.io/instance=simplest
No resources found.
root@arun-desktop-e470:/opt/minikube#

root@arun-desktop-e470:/opt/minikube# minikube addons enable ingress
✅ ingress was successfully enabled
root@arun-desktop-e470:/opt/minikube# kubectl get ingress
No resources found.

Kindly help me what I am missing?

Most helpful comment

@get2arun Hm, the operator seems to be fine:

NAME              DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
jaeger-operator   1         1         1            1           59s

However the result of applying simplest.yaml results in no resources being created:

$ kubectl get pods -l app.kubernetes.io/instance=simplest                                                                                                                                                                                     
No resources found.

Also, just so it's easier for others to view your comments, can you encapsulate your output in back-ticks please?

All 8 comments

@get2arun I am also getting the same issue, following the same steps! Applying the simplest.yaml example results in no resources being created.

I tried installing the helm chart instead and applying the simplest.yaml example creates the resources, however I am unable to access the UI (jaeger-query) by exposing the service with a LoadBalancer

The below command show the value as zero for column "AVAILABLE".

root@arun-desktop:/opt/minikube# kubectl get deployment jaeger-operator -n observability
NAME              READY   UP-TO-DATE   AVAILABLE   AGE
jaeger-operator   0/1        1                      0                   150m

This could be the issue.
@Baily Troyer - Are you seeing the same output.

@get2arun Hm, the operator seems to be fine:

NAME              DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
jaeger-operator   1         1         1            1           59s

However the result of applying simplest.yaml results in no resources being created:

$ kubectl get pods -l app.kubernetes.io/instance=simplest                                                                                                                                                                                     
No resources found.

Also, just so it's easier for others to view your comments, can you encapsulate your output in back-ticks please?

@get2arun It seems the startup of the resource was slower that I expected. I'm getting the resource now.

NAME                        READY     STATUS    RESTARTS   AGE
simplest-59db88bcc6-wb772   1/1       Running   0          14m 

@BailyTroyer - Great it worked for you. is it possible to share the commands to setup Jaeger using Helm, meanwhile i will try to follow the url https://github.com/helm/charts/tree/master/stable/jaeger-operator . It will help me verify the steps that you followed.

All I did was create a namespace, switch my context to that namespace and run the helm install command specified in the chart's README. After that I kubectl applied the same simplest.yaml file to get it running.

--Hope that helps!

Yeah, it helps me. Thanks.

I'm closing this, as it seems there's no actual issue being reported.

People from the future: if you face an issue similar to this, try the following before reopening this issue:

  1. Go grab a coffee. The very first instance takes a while to be created, as all the images have to be pulled from the remote image repository. The images themselves are quite small, and you might need only one image (all-in-one, currently 23MB), but you never know...
  2. kubectl get deployments vs. kubectl get pods. Pods are created only after deployments are created, so, if you don't see pods, try to check if the deployments were created. If they are there, try kubectl describe deployments. If your cluster has no resources to run the pod, it'll be shown there.
  3. If you still can't see what's going on, kubectl edit deployment jaeger-operator and change the args to set --log-level=debug: args: ["start", "--log-level=debug"]. You'll see quite a bunch of stuff happening, possibly with some answer to what you are experiencing. Each reconciliation process starts with a message like:
DEBU[0072] Reconciling Jaeger                            execution="2019-07-15 08:52:06.326964469 +0000 UTC" instance=simplest namespace=default

And ends with:

DEBU[0102] Reconciling Jaeger completed - reschedule in 5 seconds  execution="2019-07-15 08:52:06.326964469 +0000 UTC" instance=simplest namespace=default

If you haven't seen the last one yet, the reconciliation didn't finish yet.

After all that, if you still see things you can't explain (like, "why don't I have any pods for this instance?"), reopen this issue or open a new one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bastianeicher picture bastianeicher  Â·  6Comments

samcrutt9900 picture samcrutt9900  Â·  6Comments

daroga0002 picture daroga0002  Â·  3Comments

qbast picture qbast  Â·  8Comments

jpkrohling picture jpkrohling  Â·  3Comments