Managing the Operator

Red Hat build of OpenTelemetry 3.10

Upgrading and configuring the Operator

Red Hat OpenShift Documentation Team

Abstract

Learn about upgrading and configuring Red Hat build of OpenTelemetry Operator.

Chapter 1. Manage the Operator

The Red Hat build of OpenTelemetry Operator uses the Operator Lifecycle Manager (OLM), which controls installation, upgrade, and role-based access control (RBAC) of Operators in a cluster.

1.1. Version upgrades

For version upgrades, Operator Lifecycle Manager (OLM) queries for upgrades for installed Operators. When OLM upgrades the Red Hat build of OpenTelemetry Operator, the Operator scans for running Collector instances and upgrades those instances to match the Operator’s updated version.

The Red Hat build of OpenTelemetry Operator automatically upgrades all OpenTelemetryCollector custom resources during its startup. The Operator reconciles all managed instances during its startup. If an error occurs, the Operator retries the upgrade at an exponential back-off rate. If an upgrade fails, the Operator retries the upgrade when it restarts.

OLM runs in the OpenShift Container Platform by default.

1.2. Cluster TLS profile

The Red Hat build of OpenTelemetry Operator inherits the TLS configuration defined in the OpenShift Container Platform APIServer custom resource (CR). The Operator and its operands inherit TLS settings like minimum TLS version and TLS cipher suites from the APIServer CR for all TLS communications.

You can configure the TLS cluster profile by using the following environment variables:

TLS_CLUSTER_PROFILE
Enables inheriting the TLS configuration from the APIServer CR. Enabled by default.
TLS_CONFIGURE_OPERANDS
Enables the TLS configuration in the operands, such as receivers. Enabled by default.

If the TLS_CLUSTER_PROFILE environment variable is disabled, you can manually configure the minimum TLS protocol version and ciphers:

TLS_MIN_VERSION
Minimum TLS protocol version. Defaults to the VersionTLS12 value.
TLS_CIPHER_SUITES
TLS cipher suites. Defaults to the default Go cipher suites for the given TLS protocol version.

1.3. Configuring the Operator

You can make several configuration choices for the Red Hat build of OpenTelemetry Operator by editing the Subscription object.

Prerequisites

  • You are using OpenShift Container Platform 4.18 or later.
  • You have an active OpenShift CLI (oc) session as a cluster administrator with the cluster-admin role.
Tip

As an alternative to the web console, you can edit the Subscription object directly by using the following command:

$ oc edit subscription opentelemetry-operator -n openshift-opentelemetry-operator

Procedure

  1. In the web console, navigate to OperatorsInstalled Operators.
  2. Select Red Hat build of OpenTelemetry and then select the Subscription tab.
  3. From the Actions menu, select Edit Subscription.
  4. Edit the Subscription object as needed.

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: opentelemetry-operator
    spec:
      channel: stable
      name: opentelemetry-operator
      source: operatorhubio-catalog
      sourceNamespace: olm
      config:
        env:
      - name: OPENSHIFT_CREATE_DASHBOARD
        value: "true"
      - name: ENABLE_CR_METRICS
        value: "true"
      - name: CREATE_SM_OPERATOR_METRICS
        value: "true"
      - name: FEATURE_GATES
        value: operator.networkpolicy,operand.networkpolicy

    where:

    OPENSHIFT_CREATE_DASHBOARD
    Creates OpenShift monitoring dashboards for visualizing the metrics and health of the Collector instance. The default value is "true".
    ENABLE_CR_METRICS
    Exposes custom resource metrics for the Collector, instrumentation, and other custom resource definitions that the Operator manages. The default value is "true".
    CREATE_SM_OPERATOR_METRICS
    Creates a ServiceMonitor resource to scrape the Operator’s internal metrics by using the Prometheus Operator. The default value is "true".
    FEATURE_GATES
    Enables experimental features such as allowing the Operator to create NetworkPolicy objects for itself and managed Collector instances. The default value is "operator.networkpolicy,operand.networkpolicy".

1.4. Additional resources

Legal Notice

Copyright © Red Hat.
Except as otherwise noted below, the text of and illustrations in this documentation are licensed by Red Hat under the Creative Commons Attribution–Share Alike 3.0 Unported license . If you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, the Red Hat logo, JBoss, Hibernate, and RHCE are trademarks or registered trademarks of Red Hat, LLC. or its subsidiaries in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS is a trademark or registered trademark of Hewlett Packard Enterprise Development LP or its subsidiaries in the United States and other countries.
The OpenStack® Word Mark and OpenStack logo are trademarks or registered trademarks of the Linux Foundation, used under license.
All other trademarks are the property of their respective owners.