Kubernetes integration release notes

Thursday, October 22, 2020 - 17:30

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Changed: Container identifiers are properly parsed when systemD driver is being used
    • Container identifiers are no longer prefixed with crio and suffixed with .scope
Wednesday, September 23, 2020 - 18:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Addded: Add restartCount metric to containers in the waiting and terminated states
    • For containers that enter a crash loop, this value was not being reported in the Kubernetes Explorer
Monday, September 7, 2020 - 11:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

Wednesday, August 26, 2020 - 11:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

Thursday, August 13, 2020 - 17:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Added: Support for OpenShift 4.5 and Kubernetes versions 1.18.X
  • Changed: Upgraded Docker base image newrelic/infrastructure-bundle to v1.4.2.
    For more information on the release please see the New Relic Infrastructure Bundle release notes.
  • Changed: When querying the summary endpoint from Kubelet to get the Node or Pod network metrics, if the default network interface is not eth0 then summary endpoint for Kubelet doesn't return the metrics as we expect them. We rely on them being a direct member of the "network" object. See rxBytes, txBytes and rxErrors in the following example metrics:

"network": {
 "time": "2020-06-04T10:01:15Z",
 "name": "eth0",
 "rxBytes": 207909096,
 "rxErrors": 0,
 "txBytes": 8970981,
 "txErrors": 0,
 "interfaces": [
  {
   "name": "eth0",
   "rxBytes": 207909096,
   "rxErrors": 0,
   "txBytes": 8970981,
   "txErrors": 0
  },
  {
   "name": "ip6tnl0",
   "rxBytes": 0,
   "rxErrors": 0,
   "txBytes": 0,
   "txErrors": 0
  },
  {
   "name": "tunl0",
   "rxBytes": 0,
   "rxErrors": 0,
   "txBytes": 0,
   "txErrors": 0
  }
 ]
}

This scenario only happens when the default interface is eth0. Kubernetes
source code has it hardcoded that eth0 is the default. In the following
example you can see that we only have network metrics inside the interfaces
list, in this case there is no eth0 on the and the default interface is ens5:

"network": {
 "time": "2020-06-04T10:01:15Z",
 "name": "",
 "interfaces": [
  {
   "name": "ens5",
   "rxBytes": 207909096,
   "rxErrors": 42,
   "txBytes": 8970981,
   "txErrors": 24
  },
  {
   "name": "ip6tnl0",
   "rxBytes": 0,
   "rxErrors": 0,
   "txBytes": 0,
   "txErrors": 0
  },
  {
   "name": "tunl0",
   "rxBytes": 0,
   "rxErrors": 0,
   "txBytes": 0,
   "txErrors": 0
  }
 ]

In cases like this, the integration will look for the default interface
inside the interfaces list and use those values. The default interface name
is retrieved from the network route file (default /proc/net/route).

When running the unprivileged version of the integration we don't have access
to the route file, the integration won't be able to get the default interface
name and won't send network metrics for the unless there's a network
interface called eth0.

For Pods, this issue is mainly present when using hostNetwok since they
shared the same network interfaces with the Node.

Thursday, July 30, 2020 - 10:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Added: Support for OpenShift 4.4 and Kubernetes versions 1.17.X
  • Changed: Upgraded Docker base image newrelic/infrastructure-bundle to v1.4.1.
    For more information on the release please see the New Relic Infrastructure Bundle release notes.
  • Changed: When retrieving control plane metrics from the API server to generate the K8sApiServerSample, the integration now uses by default the secure port localhost:443 with the service account's bearer authentication. If the query on the secure port fails, it will fallback automatically to the non-secure one localhost:8080, this should preserve the same behavior as previous versions. If your cluster uses a different secure port to expose its metrics you can use the configuration option API_SERVER_ENDPOINT_URL to specify it.

Monday, July 20, 2020 - 15:30

Notes

Follow standard procedures to install the New Relic integration for Kubernetes events.

Changelog

Monday, July 20, 2020 - 10:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

Friday, July 10, 2020 - 10:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Fixes a bug that was swapping the values for Node Allocatable Resources with the Node Capacity Resources in the K8sNodeSample.
Friday, June 12, 2020 - 15:00

Notes

Follow standard procedures to install or update the New Relic integration for Kubernetes.

Changelog

  • Kubernetes 1.16 is now officially supported!
    • The minimum supported version of kube-state-metrics for this release is 1.9.5, according to the KSM compatibility matrix.
  • Added container throttling metrics to the K8sContainerSample:
    • containerCpuCfsPeriodsDelta: Delta change of elapsed enforcement period intervals.
    • containerCpuCfsThrottledPeriodsDelta: Delta change of throttled period intervals.
    • containerCpuCfsThrottledSecondsDelta: Delta change of duration the container has been throttled.
    • containerCpuCfsPeriodsTotal: Number of elapsed enforcement period intervals.
    • containerCpuCfsThrottledPeriodsTotal: Number of throttled period intervals.
    • containerCpuCfsThrottledSecondsTotal: Total time duration the container has been throttled.
  • Added container mmap byte usage metrics to the K8sContainerSample:
    • containerMemoryMappedFileBytes: Size of memory mapped files in bytes.

Pages