mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
[stable/instana-agent] Chart version 1.0.31 (#23866)
Signed-off-by: Instana CD <instanacd@instana.com> Co-authored-by: Instana CD <instanacd@instana.com>
This commit is contained in:
co-authored by
Instana CD
parent
54761c116c
commit
8ac98f786f
@@ -18,7 +18,9 @@ maintainers:
|
||||
name: dlbock
|
||||
- email: nathan.fisher@instana.com
|
||||
name: nfisher
|
||||
- email: michele.mancioppi@instana.com
|
||||
name: mmanciop
|
||||
name: instana-agent
|
||||
sources:
|
||||
- https://github.com/instana/instana-agent-docker
|
||||
version: 1.0.30
|
||||
version: 1.0.31
|
||||
|
||||
@@ -10,11 +10,11 @@ This chart adds the Instana Agent to all schedulable nodes in your cluster via a
|
||||
|
||||
Kubernetes 1.9.x - 1.18.x
|
||||
|
||||
#### Helm 3 prerequisites
|
||||
### Helm 3 prerequisites
|
||||
|
||||
Working `helm` with the `stable` repo added to your helm client.
|
||||
|
||||
#### Helm 2 prerequisites
|
||||
### Helm 2 prerequisites
|
||||
|
||||
Working `helm` and `tiller`.
|
||||
|
||||
@@ -22,40 +22,98 @@ _Note:_ Tiller may need a service account and role binding if RBAC is enabled in
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To configure the installation you can either specify the options on the command line using the **--set** switch, or you can edit **values.yaml**. Either way you should ensure that you set values for:
|
||||
To configure the installation you can either specify the options on the command line using the **--set** switch, or you can edit **values.yaml**.
|
||||
|
||||
* agent.key
|
||||
* zone.name or cluster.name
|
||||
### Required Settings
|
||||
|
||||
For most users, setting the `zone.name` is sufficient. However, if you would like to be able group your hosts based on the availability zone rather than cluster name, then you can specify the cluster name using the `cluster.name` instead of the `zone.name` setting. If you omit the `zone.name` the host zone will be automatically determined by the availability zone information on the host.
|
||||
#### Configuring the Instana Backend
|
||||
|
||||
If you're in the EU, you'll probably also want to set the regional equivalent values for:
|
||||
In order to report the data it collects to the Instana backend for analysis, the Instana agent must know which backend to report to, and which credentials to use to authenticate, known as "agent key".
|
||||
|
||||
* agent.endpointHost
|
||||
* agent.endpointPort
|
||||
As described by the [Install Using the Helm Chart](https://www.instana.com/docs/setup_and_manage/host_agent/on/kubernetes#install-using-the-helm-chart) documentation, you will find the right values for the following fields inside Instana itself:
|
||||
|
||||
* `agent.endpointHost`
|
||||
* `agent.endpointPort`
|
||||
* `agent.key`
|
||||
|
||||
_Note:_ You can find the options mentioned in the [configuration section below](#configuration)
|
||||
|
||||
Optionally, if your infrastructure uses a proxy, you should ensure that you set values for:
|
||||
If your agents report into a self-managed Instana unit (also known as "on-prem"), you will also need to configure a "download key", which allows the agent to fetch its components from the Instana repository.
|
||||
The download key is set via the following value:
|
||||
|
||||
* agent.pod.proxyHost
|
||||
* agent.pod.proxyPort
|
||||
* agent.pod.proxyProtocol
|
||||
* agent.pod.proxyUser
|
||||
* agent.pod.proxyPassword
|
||||
* agent.pod.proxyUseDNS
|
||||
* `agent.downloadKey`
|
||||
|
||||
Optionally, if your infrastructure has multiple networks defined, you might need to allow the agent to listen on all addresses (typically with value set to '*'):
|
||||
### Zone and Cluster
|
||||
|
||||
* agent.listenAddress
|
||||
Instana needs to know how to name your Kubernetes cluster and, optionally, how to group your Instana agents in [Custom zones](https://www.instana.com/docs/setup_and_manage/host_agent/configuration/#custom-zones) using the following fields:
|
||||
|
||||
If your agent requires download key, you should ensure that you set values for it:
|
||||
* `zone.name`
|
||||
* `cluster.name`
|
||||
|
||||
* agent.downloadKey
|
||||
Either `zone.name` or `cluster.name` are required.
|
||||
If you omit `cluster.name`, the value of `zone.name` will be used as cluster name as well.
|
||||
If you omit `zone.name`, the host zone will be automatically determined by the availability zone information provided by the [supported Cloud providers](https://www.instana.com/docs/setup_and_manage/cloud_service_agents).
|
||||
|
||||
Agent can have APM, INFRASTRUCTURE or AWS mode. Default is APM and if you want to override that, ensure you set value:
|
||||
### Optional Settings
|
||||
|
||||
* agent.mode
|
||||
#### Configuring Additional Backends
|
||||
|
||||
You may want to have your Instana agents report to multiple backends.
|
||||
The first backend must be configured as shown in the [Configuring the Instana Backend](#configuring-the-instana-backend); every backend after the first, is configured in the `agent.additionalBackends` list in the [values.yaml](values.yaml) as follows:
|
||||
|
||||
```yaml
|
||||
agent:
|
||||
additionalBackends:
|
||||
# Second backend
|
||||
- endpointHost: my-instana.instana.io # endpoint host; e.g., my-instana.instana.io
|
||||
endpointPort: 443 # default is 443, so this line could be omitted
|
||||
key: ABCDEFG # agent key for this backend
|
||||
# Third backend
|
||||
- endpointHost: another-instana.instana.io # endpoint host; e.g., my-instana.instana.io
|
||||
endpointPort: 1444 # default is 443, so this line could be omitted
|
||||
key: LMNOPQR # agent key for this backend
|
||||
```
|
||||
|
||||
The snippet above configures the agent to report to two additional backends.
|
||||
The same effect as the above can be accomplished via the command line via:
|
||||
|
||||
```sh
|
||||
$ helm install -n instana-agent instana-agent stable/instana-agent ... \
|
||||
--set 'agent.additionalBackends[0].endpointHost=my-instana.instana.io' \
|
||||
--set 'agent.additionalBackends[0].endpointPort=443' \
|
||||
--set 'agent.additionalBackends[0].key=ABCDEFG' \
|
||||
--set 'agent.additionalBackends[1].endpointHost=another-instana.instana.io' \
|
||||
--set 'agent.additionalBackends[1].endpointPort=1444' \
|
||||
--set 'agent.additionalBackends[1].key=LMNOPQR'
|
||||
```
|
||||
|
||||
_Note:_ There is no hard limitation on the number of backends an Instana agent can report to, although each comes at the cost of a slight increase in CPU and memory consumption.
|
||||
|
||||
#### Configuring a Proxy between the Instana agents and the Instana backend
|
||||
|
||||
If your infrastructure uses a proxy, you should ensure that you set values for:
|
||||
|
||||
* `agent.pod.proxyHost`
|
||||
* `agent.pod.proxyPort`
|
||||
* `agent.pod.proxyProtocol`
|
||||
* `agent.pod.proxyUser`
|
||||
* `agent.pod.proxyPassword`
|
||||
* `agent.pod.proxyUseDNS`
|
||||
|
||||
#### Configuring which Networks the Instana Agent should listen on
|
||||
|
||||
If your infrastructure has multiple networks defined, you might need to allow the agent to listen on all addresses (typically with value set to `*`):
|
||||
|
||||
* `agent.listenAddress`
|
||||
|
||||
#### Agent Modes
|
||||
|
||||
Agent can have either APM or INFRASTRUCTURE.
|
||||
Default is APM and if you want to override that, ensure you set value:
|
||||
|
||||
* `agent.mode`
|
||||
|
||||
For more information on agent modes, refer to the [Host Agent Modes](https://www.instana.com/docs/setup_and_manage/host_agent#host-agent-modes) documentation.
|
||||
|
||||
#### Installing with Helm 3
|
||||
|
||||
@@ -91,18 +149,18 @@ stable/instana-agent
|
||||
|
||||
To uninstall/delete the `instana-agent` release:
|
||||
|
||||
#### Uninstalling with Helm 2
|
||||
|
||||
```bash
|
||||
$ helm del --purge instana-agent
|
||||
```
|
||||
|
||||
#### Uninstalling with Helm 3
|
||||
### Uninstalling with Helm 3
|
||||
|
||||
```bash
|
||||
$ helm del instana-agent -n instana-agent
|
||||
```
|
||||
|
||||
### Uninstalling with Helm 2
|
||||
|
||||
```bash
|
||||
$ helm del --purge instana-agent
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm Chart
|
||||
@@ -115,18 +173,19 @@ The following table lists the configurable parameters of the Instana chart and t
|
||||
| `agent.downloadKey` | Your Instana Download key | `nil` Usually not required |
|
||||
| `agent.endpointHost` | Instana Agent backend endpoint host | `ingress-red-saas.instana.io` (US and ROW). If in Europe, please override with `ingress-blue-saas.instana.io` |
|
||||
| `agent.endpointPort` | Instana Agent backend endpoint port | `443` |
|
||||
| `agent.additionalBackends` | List of additional backends to report to; it must specify the `endpointHost` and `key` fields, and optionally `endpointPort` | `[]` Usually not required; see [Configuring Additional Backends](#configuring-additional-backends) for more info and examples |
|
||||
| `agent.image.name` | The image name to pull | `instana/agent` |
|
||||
| `agent.image.tag` | The image tag to pull | `latest` |
|
||||
| `agent.image.pullPolicy` | Image pull policy | `Always` |
|
||||
| `agent.key` | Your Instana Agent key | `nil` You must provide your own key |
|
||||
| `agent.listenAddress` | List of addresses to listen on, or "*" for all interfaces | `nil` |
|
||||
| `agent.mode` | Agent mode (Supported values are APM, INFRASTRUCTURE, AWS) | `APM` |
|
||||
| `agent.mode` | Agent mode. Supported values are `APM`, `INFRASTRUCTURE`, `AWS` | `APM` |
|
||||
| `agent.pod.annotations` | Additional annotations to apply to the pod | `{}` |
|
||||
| `agent.pod.limits.cpu` | Container cpu limits in cpu cores | `1.5` |
|
||||
| `agent.pod.limits.memory` | Container memory limits in MiB | `512` |
|
||||
| `agent.pod.proxyHost` | Hostname/address of a proxy | `nil` |
|
||||
| `agent.pod.proxyPort` | Port of a proxy | `nil` |
|
||||
| `agent.pod.proxyProtocol` | Proxy protocol (Supported proxy types are "http", "socks4", "socks5") | `nil` |
|
||||
| `agent.pod.proxyProtocol` | Proxy protocol. Supported proxy types are `http` (for both HTTP and HTTPS proxies), `socks4`, `socks5`. | `nil` |
|
||||
| `agent.pod.proxyUser` | Username of the proxy auth | `nil` |
|
||||
| `agent.pod.proxyPassword` | Password of the proxy auth | `nil` |
|
||||
| `agent.pod.proxyUseDNS` | Boolean if proxy also does DNS | `nil` |
|
||||
@@ -154,11 +213,15 @@ These options will be rarely used outside of development or debugging of the age
|
||||
|------------------------------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
|
||||
| `agent.host.repository` | Host path to mount as the agent maven repository | `nil` |
|
||||
|
||||
### Agent
|
||||
### Agent Configuration
|
||||
|
||||
Besides the settings listed above, there are many more settings that can be applied to the agent via the so-called "Agent Configuration File", often also referred to as `configuration.yaml` file.
|
||||
An overview of the settings that can be applied is provided in the [Agent Configuration File](https://www.instana.com/docs/setup_and_manage/host_agent/configuration#agent-configuration-file) documentation.
|
||||
To configure the agent, you can either:
|
||||
|
||||
- edit the [config map](templates/configmap.yaml), or
|
||||
- provide the configuration via the `agent.configuration_yaml` parameter in [values.yaml](values.yaml)
|
||||
|
||||
This configuration will be used for all Instana Agents on all nodes. Visit the [agent configuration documentation](https://docs.instana.io/setup_and_manage/host_agent/#agent-configuration-file) for more details on configuration options.
|
||||
|
||||
_Note:_ This Helm Chart does not support configuring [Multiple Configuration Files](https://www.instana.com/docs/setup_and_manage/host_agent/configuration#multiple-configuration-files).
|
||||
|
||||
@@ -42,3 +42,30 @@ data:
|
||||
{{- if .Values.agent.configuration_yaml -}}
|
||||
{{ .Values.agent.configuration_yaml | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.agent.additionalBackends }}
|
||||
{{- $proxyHost := .Values.agent.proxyHost }}
|
||||
{{- $proxyPort := .Values.agent.proxyPort }}
|
||||
{{- $proxyUser := .Values.agent.proxyUser }}
|
||||
{{- $proxyPassword := .Values.agent.proxyPassword }}
|
||||
{{- $proxyUseDNS := .Values.agent.proxyUseDNS }}
|
||||
{{- range $index,$backend := .Values.agent.additionalBackends }}
|
||||
{{ $backendIndex :=add $index 2 -}}
|
||||
additional-backend-{{$backendIndex}}: |
|
||||
host={{ .endpointHost }}
|
||||
port={{ default 443 .endpointPort }}
|
||||
key={{ .key }}
|
||||
protocol=HTTP/2
|
||||
{{- if $proxyHost }}
|
||||
proxy.type=HTTP
|
||||
proxy.host={{ $proxyHost }}
|
||||
proxy.port={{ $proxyPort }}
|
||||
{{- if $proxyUser }}
|
||||
proxy.user={{ $proxyUser }}
|
||||
proxy.password={{ $proxyPassword }}
|
||||
{{- end }}
|
||||
{{- if $proxyUseDNS }}
|
||||
proxyUseDNS=true
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -134,6 +134,14 @@ spec:
|
||||
- name: repo
|
||||
mountPath: /opt/instana/agent/data/repo
|
||||
{{- end }}
|
||||
{{- if .Values.agent.additionalBackends }}
|
||||
{{- range $index,$backend := .Values.agent.additionalBackends }}
|
||||
{{ $backendIndex :=add $index 2 -}}
|
||||
- name: additional-backend-{{$backendIndex}}
|
||||
subPath: additional-backend-{{$backendIndex}}
|
||||
mountPath: /opt/instana/agent/etc/instana/com.instana.agent.main.sender.Backend-{{$backendIndex}}.cfg
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /status
|
||||
@@ -206,5 +214,14 @@ spec:
|
||||
hostPath:
|
||||
path: {{ .Values.agent.host.repository }}
|
||||
{{- end }}
|
||||
{{- if .Values.agent.additionalBackends }}
|
||||
{{- $fullname := include "instana-agent.fullname" . -}}
|
||||
{{- range $index,$backend := .Values.agent.additionalBackends }}
|
||||
{{ $backendIndex :=add $index 2 -}}
|
||||
- name: additional-backend-{{$backendIndex}}
|
||||
configMap:
|
||||
name: {{ $fullname }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -16,6 +16,13 @@ agent:
|
||||
# agent.endpointPort is the port number (as a String) of the Instana server your agents will connect to.
|
||||
endpointPort: 443
|
||||
|
||||
# These are additional backends the Instana agent will report to besides
|
||||
# the one configured via the `agent.endpointHost`, `agent.endpointPort` and `agent.key` setting
|
||||
additionalBackends: []
|
||||
# - endpointHost: ingress.instana.io
|
||||
# endpointPort: 443
|
||||
# key: <agent_key>
|
||||
|
||||
image:
|
||||
# agent.image.name is the name of the container image of the Instana agent.
|
||||
name: instana/agent
|
||||
@@ -46,15 +53,15 @@ agent:
|
||||
# agent.proxyHost sets the INSTANA_AGENT_PROXY_HOST environment variable.
|
||||
# proxyHost: null
|
||||
# agent.proxyPort sets the INSTANA_AGENT_PROXY_PORT environment variable.
|
||||
# proxyPort: null
|
||||
# proxyPort: 80
|
||||
# agent.proxyProtocol sets the INSTANA_AGENT_PROXY_PROTOCOL environment variable.
|
||||
# proxyProtocol: null
|
||||
# proxyProtocol: HTTP
|
||||
# agent.proxyUser sets the INSTANA_AGENT_PROXY_USER environment variable.
|
||||
# proxyUser: null
|
||||
# agent.proxyPassword sets the INSTANA_AGENT_PROXY_PASSWORD environment variable.
|
||||
# proxyPassword: null
|
||||
# agent.proxyUseDNS sets the INSTANA_AGENT_PROXY_USE_DNS environment variable.
|
||||
# proxyUseDNS: null
|
||||
# proxyUseDNS: false
|
||||
|
||||
# use this to set additional environment variables for the instana agent
|
||||
# for example:
|
||||
|
||||
Reference in New Issue
Block a user