|
| 1 | +# newrelic-infrastructure |
| 2 | + |
| 3 | +## Chart Details |
| 4 | + |
| 5 | +This chart will deploy the New Relic Infrastructure agent as a Daemonset. |
| 6 | + |
| 7 | +## Configuration |
| 8 | + |
| 9 | +| Parameter | Description | Default | |
| 10 | +| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------- | |
| 11 | +| `cluster` | The cluster name for the Kubernetes cluster. | | |
| 12 | +| `licenseKey` | The [license key](https://docs.newrelic.com/docs/accounts/install-new-relic/account-setup/license-key) for your New Relic Account. This will be preferred configuration option if both `licenseKey` and `customSecret` are specified. | | |
| 13 | +| `customSecretName` | Name of the Secret object where the license key is stored | | |
| 14 | +| `customSecretLicenseKey` | Key in the Secret object where the license key is stored. | | |
| 15 | +| `config` | A `newrelic.yml` file if you wish to provide. | | |
| 16 | +| `integrations_config` | List of Integrations configuration to monitor services running on Kubernetes. More information on can be found [here](https://docs.newrelic.com/docs/integrations/kubernetes-integration/link-apps-services/monitor-services-running-kubernetes). | | |
| 17 | +| `disableKubeStateMetrics` | Disables kube-state-metrics data parsing if the value is ` true`. | `false` | |
| 18 | +| `kubeStateMetricsUrl` | If provided, the discovery process for kube-state-metrics endpoint won't be triggered. Example: http://172.17.0.3:8080 | | |
| 19 | +| `kubeStateMetricsPodLabel` | If provided, the kube-state-metrics pod will be discovered using this label. (should be `true` on target pod) | | |
| 20 | +| `kubeStateMetricsTimeout` | Timeout for accessing kube-state-metrics in milliseconds. If not set the newrelic default is 5000 | | |
| 21 | +| `kubeStateMetricsScheme` | If `kubeStateMetricsPodLabel` is present, it changes the scheme used to send to request to the pod. | `http` | |
| 22 | +| `kubeStateMetricsPort` | If `kubeStateMetricsPodLabel` is present, it changes the port queried in the pod. | 8080 | |
| 23 | +| `rbac.create` | Enable Role-based authentication | `true` | |
| 24 | +| `rbac.pspEnabled` | Enable pod security policy support | `false` | |
| 25 | +| `privileged` | Enable privileged mode. | `true` | |
| 26 | +| `image.repository` | The container to pull. | `newrelic/infrastructure` | |
| 27 | +| `image.pullPolicy` | The pull policy. | `IfNotPresent` | |
| 28 | +| `image.tag` | The version of the container to pull. | `1.20.0` | |
| 29 | +| `resources` | Any resources you wish to assign to the pod. | See Resources below | |
| 30 | +| `verboseLog` | Should the agent log verbosely. (Boolean) | `false` | |
| 31 | +| `priorityClassName` | Scheduling priority of the pod | `nil` | |
| 32 | +| `nodeSelector` | Node label to use for scheduling | `nil` | |
| 33 | +| `tolerations` | List of node taints to tolerate (requires Kubernetes >= 1.6) | See Tolerarions below | |
| 34 | +| `updateStrategy` | Strategy for DaemonSet updates (requires Kubernetes >= 1.6) | `RollingUpdate` | |
| 35 | +| `serviveAccount.create` | If true, a service account would be created and assigned to the deployment | true | |
| 36 | +| `serviveAccount.name` | The service account to assign to the deployment. If `serviveAccount.create` is true then this name will be used when creating the service account | | |
| 37 | +| `etcdTlsSecretName` | Name of the secret containing the cacert, cert and key used for setting the mTLS config for retrieving metrics from ETCD. | | |
| 38 | +| `etcdTlsSecretNamespace` | Namespace where the secret specified in `etcdTlsSecretName` was created. | `default` | |
| 39 | +| `etcdEndpointUrl` | Explicitly sets the etcd component url. | | |
| 40 | +| `apiServerSecurePort` | Set to query the API Server over a secure port. | | |
| 41 | +| `apiServerEndpointUrl` | Explicitly sets the api server componenturl. | | |
| 42 | +| `schedulerEndpointUrl` | Explicitly sets the scheduler component url. | | |
| 43 | +| `controllerManagerEndpointUrl` | Explicitly sets the controller manager component url. | | |
| 44 | +| `eventQueueDepth` | Iincreases the in-memory cache of the agent to accommodate for more samples at a time. |
| 45 | + |
| 46 | +## Example |
| 47 | + |
| 48 | +Make sure you have [added the New Relic chart repository.](../../README.md#installing-charts) |
| 49 | + |
| 50 | +Then, to install this chart, run the following command: |
| 51 | + |
| 52 | +```sh |
| 53 | +helm install newrelic/newrelic-infrastructure \ |
| 54 | +--set licenseKey=<enter_new_relic_license_key> \ |
| 55 | +--set cluster=my-k8s-cluster |
| 56 | +``` |
| 57 | + |
| 58 | +## Globals |
| 59 | + |
| 60 | +**Important:** global parameters have higher precedence than locals with the same name. |
| 61 | + |
| 62 | +These are meant to be used when you are writing a chart with subcharts. It helps to avoid |
| 63 | +setting values multiple times on different subcharts. |
| 64 | + |
| 65 | +More information on globals and subcharts can be found at [Helm's official documentation](https://helm.sh/docs/topics/chart_template_guide/subcharts_and_globals/). |
| 66 | + |
| 67 | +| Parameter | |
| 68 | +| ------------------------------- | |
| 69 | +| `global.cluster` | |
| 70 | +| `global.licenseKey` | |
| 71 | +| `global.customSecretName` | |
| 72 | +| `global.customSecretLicenseKey` | |
| 73 | + |
| 74 | +## Resources |
| 75 | + |
| 76 | +The default set of resources assigned to the pods is shown below: |
| 77 | + |
| 78 | +```yaml |
| 79 | +resources: |
| 80 | + limits: |
| 81 | + memory: 150M |
| 82 | + requests: |
| 83 | + cpu: 100m |
| 84 | + memory: 30M |
| 85 | +``` |
| 86 | +
|
| 87 | +## Tolerations |
| 88 | +
|
| 89 | +The default set of relations assigned to our daemonset is shown below: |
| 90 | +
|
| 91 | +```yaml |
| 92 | +- operator: "Exists" |
| 93 | + effect: "NoSchedule" |
| 94 | +- operator: "Exists" |
| 95 | + effect: "NoExecute" |
| 96 | +``` |
| 97 | +
|
| 98 | +# Config file |
| 99 | +
|
| 100 | +If you wish to provide your own `newrelic.yml` you may do so under `config`. There are a few notable exceptions you should be aware of. Some options have been omitted because they are handled either by variables, or a secret. They are `display_name`, `license_key`, `log_file` and `verbose`. |
0 commit comments