Skip to content

Releases: newrelic/nri-kubernetes

v1.26.5

22 Oct 15:25
8a311fc
Compare
Choose a tag to compare
fix: containerId coming from system driver are correctly parsed (#34)

* fix: containerId coming from system driver are correctly parsed

v1.26.4

23 Sep 16:28
Compare
Choose a tag to compare

added restartCount to containers in the waiting state

v1.26.3

23 Sep 12:06
3513ea4
Compare
Choose a tag to compare

added restartCountmetric to containers in the terminatedstate

v1.26.2

07 Sep 09:04
9d70e81
Compare
Choose a tag to compare

Changed

v1.26.1

25 Aug 15:22
c089e04
Compare
Choose a tag to compare

Changed

v1.26.0

13 Aug 13:44
41eedb0
Compare
Choose a tag to compare

Added

  • Support for OpenShift 4.5 and Kubernetes versions 1.18.X

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.

v1.25.0

29 Jul 10:59
9160405
Compare
Choose a tag to compare

Added

  • Support for 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.

  • When retrieving control plane metrics for the API server, the integration uses by default the Secure Port with the service account's bearer authentication. If the query on the Secure Port fails, it will fallback automatically to the non-secure one. This should preserve the same behavior as previous versions.

v1.24.0: Release 1.24.0

23 Jul 10:11
0f9b0de
Compare
Choose a tag to compare

Changed