4

What is new in Open Service Mesh 0.4.0

 3 years ago
source link: https://thorsten-hans.com/what-is-new-in-open-service-mesh-040
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

A couple of days ago, Open Service Mesh (OSM) version 0.4.0 was released on GitHub. Compared to the previous release, several things have changed. In this post I will walk through the most important changes, which will have an impact on the actual usage of Open Service Mesh.

Sidecar Injection disabled by default in OSM 0.4.0

Open Service Mesh uses Kubernetes’ sidecar-container pattern to bring Service Mesh capabilities to your application deployments. With version 0.4.0, OSM will no longer inject sidecar-containers by default. In contrast, you have to enable it explicitly when onboarding a Namespace. This can be achieved by using osm CLI with the new --enable-sidecar-injection flag:

osm namespace add my-namespace --enable-sidecar-injection

As an alternative, you can enable sidecar-container injection using Kubernetes annotations. The annotation can be specified either on dedicated Pods or on the level of the Namespace - as shown in the following snippet:

# annotate on namespace level
kubectl annotate namespace my-namespace-2 openservicemesh.io/sidecar-injection=enabled

# annotate on pod level
kubectl annotate pod my-pod -n my-namespace-3 openservicemesh.io/sidecar-injection=enabled

Grafana and Prometheus are options integrations

OSM injects Envoy Proxy as sidecar-container. These sidecar-containers come with pre-configured Prometheus annotations. This allows Prometheus scraping detailed metrics from all application components managed by OSM. osm install exposes the --enable-prometheus flag to control if Open Service Mesh should deploy Prometheus to the Kubernetes cluster, or if it should skip Prometheus deployment to use a pre-existing Prometheus deployment.

If you want to connect OSM to your pre-existing Prometheus deployment, checkout the detailed configuration instructions on GitHub.

Grafana is used to visualize metrics scraped by Prometheus from applications managed by OSM. With 0.4.0, OSM will not install Grafana by default. This behavior can be controlled using the --enable-grafana flag of osm install command. As for Prometheus, you can bring your own (BYO) Grafana deployment instead of having a dedicated (OSM-)Grafana installation. Consult the import dashboards to BYO Grafana section for further details.

cert-manager integration as certificate provider

Open Service Mesh is now able to use pre-existing cert-manager installations to issue TLS certificates when using mTLS. Again there is an configuration section on GitHub, which guides you through the process of integrating cert-manager into your OMS installation.

OSM switches tracing-engine from Zipkin to Jaeger

OSM switched from Zipkin to Jaeger as distributed tracing engine. In contrast to Zipkin, Jaeger has out of the box support for the OpenTracing standard.

Conclusion

Personally, I like the approach of minimizing OSM’s default footprint on Kubernetes clusters. Integration with pre-existing installations of Grafana, or Prometheus and cert-manager make OSM deployments more flexible in contrast to the previous releases. Besides the changes mentioned here, you should definitely check out the Release Notes on GitHub to stay current.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK