Back to Charts

⚠️ Repo Archive Notice

stable/newrelic-infrastructure/README.md

latest13.9 KB
Original Source

⚠️ Repo Archive Notice

As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.

newrelic-infrastructure

DEPRECATION NOTICE

This chart is deprecated and no longer supported.

This Helm chart is deprecated

Given the stable deprecation timeline, the New Relic infrastructure integration chart is now located at newrelic/helm-charts.

New Relic will continue providing the same cadence of updates, support, etc that we've been keeping here these years. Installation instructions are very similar, just adding the newrelic repo and using it during the installation (newrelic/<chart> instead of stable/<chart>).

bash
$ helm repo add newrelic https://helm-charts.newrelic.com
$ helm install my-release newrelic/<chart>           # Helm 3
$ helm install --name my-release newrelic/<chart>    # Helm 2

To update an exisiting stable deployment with a chart hosted in the New Relic repository you can execute:

bash
$ helm repo add newrelic https://helm-charts.newrelic.com
$ helm upgrade my-release newrelic/<chart>

Issues and PRs related to the chart itself will be redirected to newrelic/charts GitHub repository.

Past contributors

New Relic is very thankful for all the 15+ community members that contributed and helped maintain this chart throughout the years:

  • coreypobrien
  • sstarcher
  • jmccarty3
  • slayerjain
  • ryanhope2
  • rk295
  • michaelajr
  • isindir
  • idirouhab
  • ismferd
  • enver
  • diclophis
  • jeffdesc
  • costimuraru
  • verwilst
  • ezelenka

Everyone is welcome to contribute at the new repository.

Chart Details

This chart will deploy the New Relic Infrastructure agent as a Daemonset.

Configuration

ParameterDescriptionDefault
clusterThe cluster name for the Kubernetes cluster.
licenseKeyThe license key for your New Relic Account. This will be preferred configuration option if both licenseKey and customSecret are specified.
customSecretNameName of the Secret object where the license key is stored
customSecretLicenseKeyKey in the Secret object where the license key is stored.
configA newrelic.yml file if you wish to provide.
integrations_configList of Integrations configuration to monitor services running on Kubernetes. More information on can be found here.
disableKubeStateMetricsDisables kube-state-metrics data parsing if the value is true.false
kubeStateMetricsUrlIf provided, the discovery process for kube-state-metrics endpoint won't be triggered. Example: http://172.17.0.3:8080
kubeStateMetricsPodLabelIf provided, the kube-state-metrics pod will be discovered using this label. (should be true on target pod)
kubeStateMetricsTimeoutTimeout for accessing kube-state-metrics in milliseconds. If not set the newrelic default is 5000
kubeStateMetricsSchemeIf kubeStateMetricsPodLabel is present, it changes the scheme used to send to request to the pod.http
kubeStateMetricsPortIf kubeStateMetricsPodLabel is present, it changes the port queried in the pod.8080
rbac.createEnable Role-based authenticationtrue
rbac.pspEnabledEnable pod security policy supportfalse
privilegedEnable privileged mode.true
image.repositoryThe container to pull.newrelic/infrastructure
image.pullPolicyThe pull policy.IfNotPresent
image.tagThe version of the container to pull.1.21.0
resourcesAny resources you wish to assign to the pod.See Resources below
verboseLogShould the agent log verbosely. (Boolean)false
priorityClassNameScheduling priority of the podnil
nodeSelectorNode label to use for schedulingnil
tolerationsList of node taints to tolerate (requires Kubernetes >= 1.6)See Tolerarions below
updateStrategyStrategy for DaemonSet updates (requires Kubernetes >= 1.6)RollingUpdate
serviveAccount.createIf true, a service account would be created and assigned to the deploymenttrue
serviveAccount.nameThe service account to assign to the deployment. If serviveAccount.create is true then this name will be used when creating the service account
etcdTlsSecretNameName of the secret containing the cacert, cert and key used for setting the mTLS config for retrieving metrics from ETCD.
etcdTlsSecretNamespaceNamespace where the secret specified in etcdTlsSecretName was created.default
etcdEndpointUrlExplicitly sets the etcd component url.
apiServerSecurePortSet to query the API Server over a secure port.
apiServerEndpointUrlExplicitly sets the api server componenturl.
schedulerEndpointUrlExplicitly sets the scheduler component url.
controllerManagerEndpointUrlExplicitly sets the controller manager component url.
eventQueueDepthIincreases the in-memory cache of the agent to accommodate for more samples at a time.

Example

sh
helm install stable/newrelic-infrastructure \
--set licenseKey=<enter_new_relic_license_key> \
--set cluster=my-k8s-cluster

Globals

Important: global parameters have higher precedence than locals with the same name.

These are meant to be used when you are writing a chart with subcharts. It helps to avoid setting values multiple times on different subcharts.

More information on globals and subcharts can be found at Helm's official documentation.

Parameter
global.cluster
global.licenseKey
global.customSecretName
global.customSecretLicenseKey

Resources

The default set of resources assigned to the pods is shown below:

yaml
resources:
  limits:
    memory: 150M
  requests:
    cpu: 100m
    memory: 30M

Tolerations

The default set of relations assigned to our daemonset is shown below:

yaml
- operator: "Exists"
  effect: "NoSchedule"
- operator: "Exists"
  effect: "NoExecute"

Config file

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.