Release v1.5.0

2022 Aug 01

NSM v1.5.0 is released via a set of example use cases.

Kubernetes Compatibility

NSM v1.5.0 has been successfully integration tested with Kubernetes versions:

  • v1.24.0
  • v1.23.0
  • v1.22.1
  • v1.21.1
  • v1.20.7
  • v1.19.11
  • v1.18.15

And also with Calico CNI plugin.

Public Cloud Capability

NSM v1.5.0 has been tested on

Changes since v1.4.0

Added support for VMs/Bare Metal external clients

Developed an application to allow for non k8s clients connect to NSM infrastructure from outside.

More Details Try it!

Distributed DNS over vL3 network

When vL3 NSE starts it creates a new DNS server that knowns each connected to that vL3 NSE netwrok service mesh clients. By default planned to use the next domain scheme: {{ .workloadName }}.{{ .networkService}}.{{ .clusterName }}. The domain scheme planned to be configurable via go-template. If the DNS server dont known host then it fanouts the question to other vL3 NSE in the current vL3 network.

Try it!

NSM+Application Service Mesh

Added Consul mesh as a service in NSM vL3 netwrok (extension case) integration.

Try it!

vL3 Improvements

Improved next aspects for the vL3 networks:

  • Used uniform MTU for whole vL3 network. More Details
  • Shifted vL3 to using one Network Service for connecting clients and a separate one for vL3 NSEs to interconnect with each other
  • Shifted vL3 to using ClusterProperty for NSCs to select their candidates (including with scale from zero).

Webhook Improvements

Improved NSM admission webhook and added support for all container based k8s resources

OPA integration for connection monitor service

Added OPA policies for connection monitor service.

See more details:

Re-usuable workflows

Recently GitHub added a new kind of workflow that can be reused from different repos.

We integrated this fewature into sdk-.*/cmd-.* NSM repositories!

Now to modify multi-repo workflows we able simply update only base repo with reusable workflows!

Get rid of coredns sidecar

Previously we used coredns sidecar for external clients to provide capability to setup DNS.

In this release we simplified this approach and we get rid of using coredns sidecar See more details

It means that NSM is still providing DNS as it doing in previous releases but now it becomes more lightweight in term of sidecars (now we’re adding one sidecar insteadof two sidecars how it is going in v1.4.0 or less).

Stability improvements / bug fixes

Resolved bugs:

  1. https://github.com/networkservicemesh/deployments-k8s/issues/6305
  2. https://github.com/networkservicemesh/sdk/issues/1157
  3. https://github.com/networkservicemesh/sdk/pull/1316
  4. https://github.com/networkservicemesh/sdk/pull/1318
  5. https://github.com/networkservicemesh/cmd-nsmgr/issues/510
  6. https://github.com/networkservicemesh/deployments-k8s/issues/6645
  7. https://github.com/networkservicemesh/deployments-k8s/issues/6488
  8. https://github.com/networkservicemesh/sdk/pull/1312
  9. https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/664
  10. https://github.com/networkservicemesh/cmd-nse-simple-vl3-docker/issues/6
  11. https://github.com/networkservicemesh/cmd-exclude-prefixes-k8s/runs/7393153553?check_suite_focus=true
  12. https://github.com/networkservicemesh/sdk/issues/1253
  13. https://github.com/networkservicemesh/cmd-forwarder-vpp/issues/656