Kubernetes integration release notes

Kubernetes integration release notes

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.
Friday, June 5, 2020 - 15:30

Notes

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

Changelog

Thursday, June 4, 2020 - 12:00

Notes

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

Changelog

Friday, May 22, 2020 - 12:00

The Kubernetes integration v1.21.0 brings several changes related to node allocatable resources.

Changes to the cluster explorer

We added support for allocatable resources to the Kubernetes cluster explorer:

  • The cluster explorer entity list now calculates CPU usage by summing the allocatableCpuCores from the K8sNodeSample instead of using processorCount from SystemSample. Similarly, memory usage is now calculated by summing allocatableMemoryBytes instead of memoryTotalBytes. Pods' columns now refer to running pods vs. allocatable pods.
    New Relic One - Cluster explorer - Entity list
  • In addition to resource consumption, the node's tooltip in the cluster explorer now shows the amount of allocatable pods used by the node.
    New Relic One - Cluster explorer - Node Tooltip
  • The node card, which appears when clicking a node in cluster explorer, now shows resource consumption (CPU, memory, and storage) against the allocatable resources.
    • CPU usage aggregates cpuUsedCores, cpuRequestedCores, and cpuLimitCores from K8sContainerSample, and allocatableCpuCores from the K8sNodeSample.
    • Memory usage aggregates memoryWorkingSetBytes, memoryRequestedBytes, and memoryLimitBytes from K8sContainerSample, and allocatableMemoryBytes from K8sNodeSample.
    • Storage usage relies on fsUsedBytes and fsCapacityBytes fromK8sNodeSample.
  • A new pods widget has been added to the node card that shows the amount of pods used against the total allocatable pods of the node.
    New Relic One - Pods usage in node card

If you run the unprivileged version of the Kubernetes integration, you can now see the node metrics. Previously, this was only possible with the privileged version.

Changes to the cluster dashboard

The cluster explorer dashboard, which appears when clicking Kubernetes dashboard, has been updated to account for resource consumption against allocatable resources.

  • CPU widgets displays cpuUsedCores and allocatableCpuCores from K8sNodeSample. As for Memory usage, it now shows memoryWorkingSetBytes and allocatableMemoryBytes.
  • Disk widgets use fsUsedBytes and fsCapacityBytes from K8sNodeSample.
  • A new pods widget has been added that shows the amount of pods used against the total allocatable pods of the cluster.
New Relic One - Cluster explorer - Dashboard detail

Changes to Kubernetes metrics

  • Node allocatable resources and capacity are retrieved from the API server and added to the K8sNodeSample as capacity<ResourceName> and allocatable<ResourceName>.
  • The Kubernetes server version is now retrieved from the API server and cached with the APIServerCacheK8SVersionTTL config option. The version is added to K8sClusterSample as clusterK8sVersion, and to the inventory.
  • Add support for static pods status for Kubernetes server versions 1.15 or newer.
  • In older versions of Kubernetes, the kubeletes wouldn’t sync the status of the static pods with the API server and would always return a Pending status. This behavior was fixed in v1.15 of Kubernetes. Our integration now detects what version of Kubernetes the cluster is running and, if it’s 1.15 or newer, it adds the status of the static pods in K8sPodSample.

Other changes

Friday, May 15, 2020 - 00:00

Effective Wednesday, 12 August 2020, Kubernetes integration v1.7 or lower will be deprecated. To avoid losing data, upgrade to the latest version. For more information, read this note or contact your account team.

Background

In order to provide the best possible experience for monitoring Kubernetes, we are merging the Kubernetes Cluster Explorer into New Relic One, where you’ll enjoy all the latest features.

What is happening?

We will support Kubernetes integrations v1.7 or lower until Wednesday, 12 August 2020.

Starting on July 1st the Kubernetes Cluster Explorer will only be available at one.newrelic.com > Kubernetes Cluster Explorer. The Kubernetes Cluster Explorer will only be compatible with Kubernetes integrations v.1.8 and newer from Wednesday, August 12th.

Therefore in order to enjoy the latest features and to be fully compatible with the New Relic One Kubernetes Cluster Explorer, you must upgrade your Kubernetes integration to the latest version.

What do you need to do?

Follow the instructions here to upgrade to the latest version of the Kubernetes integration.

What happens if you don’t make any changes to your account?

The Kubernetes integration will still send data to the New Relic platform, though the Kubernetes Cluster Explorer in New Relic One will not work for Clusters running Kubernetes integration versions v1.7 or older after Wednesday, 12 August. In other words, the integration will still send data, however you will be unable to view that data in the Cluster Explorer.

Wednesday, April 29, 2020 - 15:30

Notes

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

Changelog

  • Updated base image for the nri-kube-events container to alpine 3.11.
  • Updated the version of the k8s-events-forwarder sidecar container from 1.5.31 to 1.11.24 of the infrastructure agent. You can find the release notes for the infrastructure agent here https://docs.newrelic.com/docs/release-notes/infrastructure-release-note... .
  • Updated the Deployment apiVersion from apps/v1beta2 to apps/v1.

  • Updated the ClusterRoleBinding apiVersion from rbac.authorization.k8s.io/v1beta1 to rbac.authorization.k8s.io/v1 .

  • Updated the ClusterRole apiVersion from rbac.authorization.k8s.io/v1beta1 to rbac.authorization.k8s.io/v1.

Friday, April 24, 2020 - 11:00

Notes

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

Changelog

Tuesday, April 21, 2020 - 11:00

Notes

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

Changelog

Tuesday, April 7, 2020 - 11:00

Notes

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

Changelog

Thursday, March 26, 2020 - 16:30

Notes

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

Changelog

Thursday, March 12, 2020 - 16:30

Notes

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

Changelog

  • Added: Support for completely avoid querying Kube State Metrics. It's behind the DISABLE_KUBE_STATE_METRICS environment variable and its default value is false. Note that disabling this will imply missing metrics that are collected from KSM and possibly missing features in the Kubernetes Cluster Explorer. Please, refer to our official documentation on this configuration option for more information.​
Thursday, February 27, 2020 - 16:30

Notes

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

Changelog

  • Added: support for querying Kube State Metrics (KSM) instances behind kube-rbac-proxy. This feature only works when paired with the label-based KSM discovery (see release notes of version 1.11.0 for more information). This adds two new environment variables that allow deeper configuration of the feature:
    • KUBE_STATE_METRICS_SCHEME: Whether the query should use the http or https protocols. Defaults to http and doesn't introduce a breaking change in behavior.
    • KUBE_STATE_METRICS_PORT: The port in which the kube-rbac-proxy instance is listening on. You can confirm this by describing your KSM pod. Defaults to 8080 and doesn't introduce a breaking change in behavior.
  • Added: Added 4 new environment variables to explicitly set the control plane component base URLs​. These variables can be used for Kubernetes configurations, such as OpenShift, that are different than the defaults defined in the section Discovery of master nodes and control plane components. See the section OpenShift 4.x Configuration for more information.
    • SCHEDULER_ENDPOINT_URL: The base URL of the scheduler pod metrics endpoint. The default is the empty string. In this case, the default configuration will be used.

    • ETCD_ENDPOINT_URL: The base URL of the ETCD pod metrics endpoint. The default is the empty string. In this case, the default configuration will be used.

    • CONTROLLER_MANAGER_ENDPOINT_URL: The base URL of the controller manager pod metrics endpoint. The default is the empty string. In this case, the default configuration will be used.

    • API_SERVER_ENDPOINT_URL: The base URL of the API server pod metrics endpoint. The default is the empty string. In this case, the default configuration will be used.

  • Fixed: A bug preventing attributes named like selector.<label_name> from being added to some entries in the K8sServiceSample.
  • Changed: The integration now uses newrelic/infrastructure-bundle as the base image. The tag used is for the version 1.2.0. For more information on this image please see the New Relic Infrastructure Bundle releases notes.
Thursday, February 13, 2020 - 16:30

Notes

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

Changelog

  • Changed: Internal changes in the code without any expected customer impact.
Wednesday, January 29, 2020 - 16:30

Notes

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

Changelog

  • Changed: The integration now uses the Infrastructure agent v1.9.0. For more information refer to the Infrastructure agent release notes between versions v1.8.32 and v1.9.0.
Thursday, January 23, 2020 - 17:00

Notes

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

Changelog

  • Added: daemonsetName field to the K8sDaemonsetSample.

Thursday, January 23, 2020 - 11:00

Notes

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

Changelog

  • Added: samples for Statefulsets, Daemonsets, Endpoints and Services.

  • Added: API Server metrics can now be queried using the secure port. Configure the port using the API_SERVER_SECURE_PORT environment variable. The ClusterRole has been updated to allow this query to happen.

  • Changed: The integration now uses the infrastructure agent v1.8.32-bundle. For more information, refer to the Infrastructure agent release notes between versions v1.8.23 and v1.8.32.

    The bundle container contains a subset of On-host integrations that are supported by New Relic. This also includes the ability to "Auto Discover" services running on Kubernetes in a similar way to our Container auto-discovery

  • Changed: The integration has been renamed from nr-kubernetes to nri-kubernetes.

Pages