For applications deployed on Kubernetes, the Tencent Cloud observability team offers an Operator solution: tencent-opentelemetry-operator. Built upon the community opentelemetry-operator, it enables agent automatic injection, facilitating applications connecting APM quickly. Currently, tencent-opentelemetry-operator supports programming languages including Java, Python, Node.js, and .Net.
Note:
tencent-opentelemetry-operator supports Kubernetes version 1.19 and above.
Configuration Items Description
tencent-opentelemetry-operator is deployed via Helm, with all configuration items centralized in values.yaml
. Pay attention to the hierarchical relationship of parameters within the YAML file. See the following YAML snippet:
env:
TKE_CLUSTER_ID: "cls-ky8nmlra"
TKE_REGION: "ap-guangzhou"
APM_ENDPOINT: "http://pl.ap-guangzhou.apm.tencentcs.com:4317"
APM_TOKEN: "apmdemotoken"
Required Field
|
env.TKE_CLUSTER_ID | TKE cluster ID. For non-TKE clusters, set it to "N/A" . |
env.TKE_REGION | TKE Cluster region, for example, ap-guangzhou. For more details, see CVM Regions and AZs value range. For non-TKE clusters, set it to "N/A" . |
env.ENDPOINT | PM Access Point. Each cluster can only use a unique APM access point. Obtain the access point from the business system. If a public network access point is used, set env.FROM_INTERNET: "true" at the same time. |
env.APM_TOKEN | The default APM token of the cluster. The APM token represents the business system that needs to be accessed. Obtain the token from the business system. You can specify the token of other business systems in the workload to override the default token of the cluster. |
env.INTL_SITE | Set it to "true" . |
Optional Field
|
env.JAVA_INSTR_VERSION | Java agent version, can be set to latest (default) or a specific version number, it is not recommended to set this field unless necessary. |
env.PYTHON_INSTR_VERSION | Python agent version, can be set to latest (default) or a specific version number, it is not recommended to set this field unless necessary. |
env.NODEJS_INSTR_VERSION | Node.js agent version, can be set to latest (default) or a specific version; it is not recommended to set this field unless necessary. |
env.DOTNET_INSTR_VERSION | f accessing from the public network, set it to "true" (also need to set env.ENDPOINT to the public network access point). |
Installing Method
One-click Installation via the APM Console (Recommended)
Due to the complexity of filling configuration items, it is recommended to use the one-click installation of the tencent-opentelemetry-operator feature via the APM console to simplify the installation steps.
1. Log in to the TCOP console. 2. In the left menu column, select Application Performance Management > Application list, and click Access application.
3. Select on the language you need to connect, and select Automatic onboarding of TKE environment as the reporting method.
4. Click Single Step Installation.
5. In the pop-up dialog box, select the corresponding reporting region, default business system, TKE's region, and TKE cluster, and click Install to complete the installation in the corresponding TKE cluster.
Note:
Only TKE standard clusters and TKE Serverless clusters are supported. TKE edge clusters and TKE registered clusters are not supported at this time.
The tencent-opentelemetry-operator one-click installed via in the APM console will be installed in the kube-system namespace. If you need to modify related configuration items, you can update the same TKE cluster through the console.
Installing via TKE Application Market
1. Log in to TKE console. 2. In the left sidebar, select Cluster Ops > Helm, search for tencent-opentelemetry-operator and click to enter.
3. Click Create application, select the TKE cluster you want to install, and fill in the required parameters to complete the installation.
Note:
Only TKE standard clusters and TKE Serverless clusters are supported. TKE edge clusters and TKE registered clusters are not supported at this time.
The tencent-opentelemetry-operator installed via the TKE application market can be installed in any namespace. In the same TKE cluster, only one tencent-opentelemetry-operator can be installed at most.
Common K8s Cluster Installation
Tencent-opentelemetry-operator supports common Kubernetes clusters and hybrid cloud scenarios. For Kubernetes clusters deployed in offline IDCs and other cloud platforms, as long as the Kubernetes version meets the requirements and the network between APM server-side is reachable, rapid integration can be achieved through Operator mode.
1. Install kubectl and Helm CLI. For installation methods, refer to Installing kubectl and Installing Helm CLI. Ensure the connectivity between the client and the Kubernetes cluster through Helm commands. 2. Download chart package and configuration file values.yaml. You can also use the wget command to download, and the corresponding addresses are as follows: 3. Refer to Configuration Items Description, fill in the necessary fields in values.yaml. For non-TKE clusters, set env.TKE_CLUSTER_ID and env.TKE_REGION to "N/A"
. If accessing from the public network, set env.FROM_INTERNET to "true"
(also need to set env.ENDPOINT to the public network access point). 4. Install the operator using a local file, where my-release
is the Chart name and can be customized. --values
represents the file path of value.yaml.
helm install my-release /path/to/your/chart.tgz --values /path/to/your/values.yaml
Note:
When installing the Tencent OpenTelemetry Operator on a generic K8s cluster, public network access permission is required; otherwise, the Operator image cannot be pulled.
Connecting Applications
After the installation of tencent-opentelemetry-operator, the opentelemetry-operator-system
namespace is automatically created, and related Kubernetes resources are created. By adding related annotations to the workloads that need to connect APM, agent automatic injection can be realized, and monitoring data can be reported to APM.