Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OSSMDOC-175 Correct Jaeger/ES installation/config. #27568

Merged
merged 1 commit into from Jan 6, 2021

Conversation

JStickler
Copy link
Contributor

Addresses feedback from #27514 and #27515.

@JStickler JStickler added the service-mesh Label for all Service Mesh PRs label Nov 20, 2020
@openshift-ci-robot openshift-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Nov 20, 2020
@openshift-docs-preview-bot

The preview will be available shortly at:

@pamoedom
Copy link

pamoedom commented Nov 23, 2020

Thanks for the quick turnaround but please hold on for the changes, I'm waiting for the CU feedback to corroborate the proper Elasticsearch parameters within Jaeger specs here, in principle, the new draft could be as follows:

spec:
  addons:
    jaeger:
      name: jaeger
      install:
        storage:
          type: Memory # or Elasticsearch
        memory: {} # details specific to memory storage
        elasticsearch:
          storage:
            size: "{{ es_storage_size_jaeger }}"
            storageClassName: "{{ storageclass }}"
  runtime:
    components:
      tracing.jaeger: {} # general jaeger specific runtime configuration
      tracing.jaeger.elasticsearch: {} # runtime configuration for jaeger elasticsearch deployment

Best Regards.

@pamoedom
Copy link

Hi all, I think the following could be a better example for the Jaeger configuration, it includes the configuration that worked for the CU and also from my side (it's based also in QA template):

spec:
  addons:
    jaeger:
      name: jaeger
      install:
        ingress:
          enabled: true
        storage:
          type: Memory # or Elasticsearch for production mode
        memory:
          maxTraces: 100000
        elasticsearch: # the following values only apply if storage.type=Elasticsearch
          storage: # specific storageclass configuration for the jaeger elasticsearch (optional)
            size: "100G"
            storageClassName: "storageclass"
          nodeCount: 3
          redundancyPolicy: SingleRedundancy
  runtime:
    components:
      tracing.jaeger.elasticsearch: #runtime configuration for jaeger elasticsearch deployment (optional)
        container:
          resources:
            requests:
              memory: "1Gi"
              cpu: "500m"
            limits:
              memory: "1Gi"
  tracing: # sampling default value is 1% (100)
    sampling: 10000
    type: Jaeger
  policy:
    type: Istiod

Please double check, thanks.

@pamoedom
Copy link

As a side note, I think that section Deploying the Red Hat OpenShift Service Mesh control plane should also reflect that Jaeger is in not production mode by default and point to the Jaeger customization here.

If you see the template within the Deploying the control plane from the CLI, you can see we also provide non-production "Memory" mode as example.

Best Regards.

@pamoedom
Copy link

Hi all, another thing to review as part of this PR is the following afirmation about Jaeger extracted from here, obviously is not correct, by default is using "Memory" mode:

Jaeger uses Elasticsearch for storage by default.

Thanks.

@openshift-ci-robot openshift-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Dec 2, 2020
@JStickler
Copy link
Contributor Author

@pamoedom, I updated the example configuration (minus a line or two that are defaults so no need to specify them). I'm working on another PR for https://issues.redhat.com/browse/OSSMDOC-176 that already addresses some of the comments you've made here that we need to warn customers about the default configuration, that I didn't want to duplicate here.

@JStickler
Copy link
Contributor Author

@jkandasa , @gbaufake , or @tvieira , could one of you please verify that the configuration provided by @pamoedom is correct. Thank you.

@pamoedom
Copy link

pamoedom commented Dec 3, 2020

@pamoedom, I updated the example configuration (minus a line or two that are defaults so no need to specify them). I'm working on another PR for https://issues.redhat.com/browse/OSSMDOC-176 that already addresses some of the comments you've made here that we need to warn customers about the default configuration, that I didn't want to duplicate here.

Thanks @JStickler, looks good to me.

service_mesh/v2x/upgrading-ossm.adoc Outdated Show resolved Hide resolved
@jkandasa
Copy link
Member

jkandasa commented Dec 8, 2020

@JStickler on the doc https://ossmdoc-175--ocpdocs.netlify.app/openshift-enterprise/latest/service_mesh/v2x/upgrading-ossm.html
I see two different blocks to explain sampling and addons
I feel it is a bit confusing, merging both blocks will be nice in my point of view.

jaeger-doc

@jkandasa
Copy link
Member

jkandasa commented Dec 8, 2020

@JStickler

I used this CR (copied possible values from the PR) and I do not see an issue. expect the review comment #27568 (review)

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  namespace: istio-system
  name: basic
spec:
  tracing:
    sampling: 10000 # 1 is 0.01% and 10000 is 100%, example: 100 = 1%
    type: Jaeger

  addons:
    jaeger:
      name: jaeger
      install:
        ingress:
          enabled: true
        storage:
          type: Memory # or Elasticsearch for production mode
          memory:
            maxTraces: 100000
          elasticsearch: # the following values only apply if storage:type:=Elasticsearch
            storage: # specific storageclass configuration for the Jaeger Elasticsearch (optional)
              size: "10G"
              storageClassName: "managed-premium"
            nodeCount: 3
            redundancyPolicy: SingleRedundancy
    kiali:
      enabled: true
    prometheus:
      enabled: true

  runtime:
    components:
      tracing.jaeger: {} # general Jaeger specific runtime configuration (optional)
      tracing.jaeger.elasticsearch: #runtime configuration for Jaeger Elasticsearch deployment (optional)
        container:
          resources:
            requests:
              memory: "1Gi"
              cpu: "500m"
            limits:
              memory: "1Gi"

  version: v2.0
  telemetry:
    type: Istiod

storage type as "Memory"

$ oc get pods
NAME                                   READY   STATUS    RESTARTS   AGE
grafana-7d6fb69644-s57c5               2/2     Running   0          74s
istio-egressgateway-69f57c4784-szmw6   1/1     Running   0          75s
istio-ingressgateway-fb75588cc-nnhq5   1/1     Running   0          75s
istiod-basic-6d6cb9d7bb-6lvc7          1/1     Running   0          98s
jaeger-5488f96848-ggrwh                2/2     Running   0          75s
kiali-7bbd6656b7-68bw7                 1/1     Running   0          40s
prometheus-568f7f5d6-wtmqq             3/3     Running   0          85s

$ oc get routes
NAME                   HOST/PORT                                                                                      PATH   SERVICES               PORT    TERMINATION          WILDCARD
grafana                grafana-istio-system.apps.ci-ln--private-host--.com                       grafana                <all>   reencrypt            None
istio-ingressgateway   istio-ingressgateway-istio-system.apps.ci-ln--private-host--.com          istio-ingressgateway   8080                         None
jaeger                 jaeger-istio-system.apps.ci-ln--private-host--.com                        jaeger-query           <all>   reencrypt            None
kiali                  kiali-istio-system.apps.ci-ln--private-host--.com                         kiali                  <all>   reencrypt/Redirect   None
prometheus             prometheus-istio-system.apps.ci-ln--private-host--.com                    prometheus             <all>   reencrypt            None

$ oc get csv
NAME                                           DISPLAY                          VERSION                 REPLACES                       PHASE
elasticsearch-operator.4.6.0-202011221454.p0   Elasticsearch Operator           4.6.0-202011221454.p0                                  Succeeded
jaeger-operator.v1.20.1                        Red Hat OpenShift Jaeger         1.20.1                                                 Succeeded
kiali-operator.v1.24.2                         Kiali Operator                   1.24.2                  kiali-operator.v1.12.16        Succeeded
servicemeshoperator.v2.0.0.2                   Red Hat OpenShift Service Mesh   2.0.0-2                 servicemeshoperator.v2.0.0.1   Succeeded

storage type as "Elasticsearch"

$ oc get pods
NAME                                                     READY   STATUS    RESTARTS   AGE
elasticsearch-cdm-istiosystemjaeger-1-77c5f8689c-8455s   1/2     Running   0          79s
elasticsearch-cdm-istiosystemjaeger-2-8fdb44cbb-pql2m    1/2     Running   0          78s
elasticsearch-cdm-istiosystemjaeger-3-5c4ddc775f-g6n8c   1/2     Running   0          77s
grafana-7d6fb69644-m6tqp                                 2/2     Running   0          83s
istio-egressgateway-69f57c4784-djkgf                     1/1     Running   0          83s
istio-ingressgateway-fb75588cc-fl467                     1/1     Running   0          83s
istiod-basic-6d6cb9d7bb-qqsrz                            1/1     Running   0          106s
kiali-6d76d989b-xzkv6                                    1/1     Running   0          47s
prometheus-568f7f5d6-s49cn                               3/3     Running   0          95s

$ oc get pvc
NAME                                                  STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      AGE
elasticsearch-elasticsearch-cdm-istiosystemjaeger-1   Bound    pvc-dadd37e2-a14c-4607-9740-3e7e1183aa76   10Gi       RWO            managed-premium   87s
elasticsearch-elasticsearch-cdm-istiosystemjaeger-2   Bound    pvc-cc106b04-73da-45e4-bd91-3296b876ffab   10Gi       RWO            managed-premium   87s
elasticsearch-elasticsearch-cdm-istiosystemjaeger-3   Bound    pvc-6b557894-7b68-49cc-9dfb-8b809d6fd92f   10Gi       RWO            managed-premium   87s

$ oc get routes
NAME                   HOST/PORT                                                                                      PATH   SERVICES               PORT    TERMINATION          WILDCARD
grafana                grafana-istio-system.apps.ci-ln--private-host--.com                       grafana                <all>   reencrypt            None
istio-ingressgateway   istio-ingressgateway-istio-system.apps.ci-ln--private-host--.com          istio-ingressgateway   8080                         None
kiali                  kiali-istio-system.apps.ci-ln--private-host--.com                         kiali                  <all>   reencrypt/Redirect   None
prometheus             prometheus-istio-system.apps.ci-ln--private-host--.com                    prometheus             <all>   reencrypt            None

$ oc get csv
NAME                                           DISPLAY                          VERSION                 REPLACES                       PHASE
elasticsearch-operator.4.6.0-202011221454.p0   Elasticsearch Operator           4.6.0-202011221454.p0                                  Succeeded
jaeger-operator.v1.20.1                        Red Hat OpenShift Jaeger         1.20.1                                                 Succeeded
kiali-operator.v1.24.2                         Kiali Operator                   1.24.2                  kiali-operator.v1.12.16        Succeeded
servicemeshoperator.v2.0.0.2                   Red Hat OpenShift Service Mesh   2.0.0-2                 servicemeshoperator.v2.0.0.1   Succeeded

@jkandasa
Copy link
Member

jkandasa commented Dec 9, 2020

cc @objectiser

service_mesh/v2x/upgrading-ossm.adoc Outdated Show resolved Hide resolved
@jkandasa
Copy link
Member

jkandasa commented Jan 6, 2021

Thanks, @JStickler looks good to me.

@neal-timpe neal-timpe merged commit bb37be3 into openshift:master Jan 6, 2021
@neal-timpe
Copy link
Contributor

neal-timpe commented Jan 6, 2021

/cherry-pick enterprise-4.6

@neal-timpe
Copy link
Contributor

neal-timpe commented Jan 6, 2021

/cherry-pick enterprise-4.7

@openshift-cherrypick-robot
Copy link

openshift-cherrypick-robot commented Jan 6, 2021

@neal-timpe: new pull request created: #28391

In response to this:

/cherry-pick enterprise-4.6

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-cherrypick-robot
Copy link

openshift-cherrypick-robot commented Jan 6, 2021

@neal-timpe: new pull request created: #28392

In response to this:

/cherry-pick enterprise-4.7

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
service-mesh Label for all Service Mesh PRs size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants