Sample Kubernetes YAML File for Deploying Application Monitor
Sample Kubernetes YAML files for deploying Application Monitor are at amsgce-runtime-<version>/samples/kubernetes/Application_Monitor.
Update the following Kubernetes object specification (.yaml
) files for Application Monitor:
Kubernetes File | Description |
---|---|
amxce_authorization.yaml | A ClusterRoleBinding for binding roles to the user. |
tea-agent.yaml | Kubernetes deployment YAML file to deploy Application Monitor agent. |
tea-server.yaml | Kubernetes deployment YAML file to deploy TEA Server. |
In the sample YAML files, specify the image tag of TEA Server Docker image (<tea-server-docker-image>) and Application Monitor agent (<amxceteaagent-image-name>).
Environment Variables
You can use the following environment variables to configure Application Monitor:
Environment Variable | Description |
---|---|
tea_server_url (Required) |
URL of a TIBCO Enterprise Administrator Server running in the cluster. This is required to connect and autoregister Application Monitor agent with TEA Server. Example: |
amxce_tea_agent_port (Optional) |
Application Monitor agent port. Default: 7073 |
amxce_tea_agent_name | Application Monitor agent display name. The name is displayed in the Application Monitor UI. |
amxce_tea_agent_shutdown_port (Optional) |
This is used to set shutdown port of TIBCO Enterprise Administrator server. |
tibco.amxce.reload.interval.ms |
Time interval in which Application Monitor synchronizes with Kubernetes API server and checks ActiveMatrix Service Grid - Container Edition nodes for active connection. It runs in scheduled thread and thread name starts with "amxce-reload-" Default: 300000 ms (5 min) Note: For small scale setup, set this parameter to lower value.
|
tibco.amxce.agent.node.connect.max.thread
|
This property specifies the number of running threads when Application Monitor connects to AMXCE Nodes. The thread name starts with "amxce-hpa-". Default: 5 |
tibco.amxce.agent.node.connect.timeout.ms |
This is the maximum time interval for which Application Monitor waits for creating connection to AMXCE Node. After connection timeout, the Node is displayed as unreachable. Application Monitor retries to connect to unreachable Node after time interval value specified in the Default: 5000 ms (5 seconds) |
POD_LABELS
|
Specify a label or multiple labels separated by comma which are used in application deployment file. Application Monitor checks for these labels to discover ActiveMatrix Service Grid - Container Edition pods. Example name: POD_LABELS value: tibco.amxce=test Example application deployment file metadata: labels: app: bookstore tibco.amxce: test |
ConfigMap Parameters
You can specify tea.conf
file as a ConfigMap in tea-server.yaml
file. This ConfigMap is mounted as volume with the TEA server pod. The following table lists some of the custom properties required to run TEA Server with ActiveMatrix Service Grid - Container Edition. For more information about TIBCO Enterprise Administrator server configuration (tea.conf
), see TIBCO Enterprise Administrator documentation.
Property | Description |
---|---|
tea.http.client.maxRequestsQueuedPerDestination |
If you want to monitor more than 1024 application pods, then you must set the maximum number of application pods to monitor by using this property. By default, it is set to 1024.
Example:
|
tea.server.disablehostheaderverification |
You can disable the host header validation when running TEA server by setting this property to true. By default, it is set to false. Example:
|
tea.security.content-security-policy |
This property is required for Swagger UI. Do not remove or modify this property. Default: tea.security.content-security-policy="connect-src *;Access-Control-Allow-Origin *;style-src 'self' 'unsafe-inline';script-src 'self' 'unsafe-inline' 'unsafe-eval';font-src 'self' 'unsafe-inline';form-action 'self';frame-ancestors 'self';img-src 'self' data:" |
If you are using ClusterRole resource, you must provide "replicasets" access to the ClusterRole. This is required to get the deployment name and desired state of the pod. For more information about using ClusterRole for authorization, see Kubernetes documentation.
Example:
kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata: name: amxcecluster-role rules: - apiGroups: ["", "extensions", "apps"] resources: ["pods"*,"replicasets"*] verbs: ["get", "list", "watch"]