Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the new way to use the SMI specification

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)05/31 Report--

In this issue, the editor will bring you about the new method of using SMI specification. The article is rich in content and analyzed and described from a professional point of view. I hope you can get something after reading this article.

By delving into the technical details behind the Maesh project, I will explore the high-level concepts of the Service Grid Interface (Service Mesh Interface,SMI) specification, what makes the project unique in other projects, and their contribution to the SMI specification. In addition, I will introduce other partners in this ecosystem. For readers who are not familiar with SMI, before delving into the technical section, I will briefly introduce the history and goals of the project.

SMI Project introduction

Microsoft announced the SMI project to the world at the KubeCon European Congress in May 2019. The goal of the project is to define a set of API abstractions for widely used daily use cases. At the time of this writing, the interface covers access control policies, metrics (telemetry), traffic and routing (traffic diversion). In April 2020, Microsoft generously donated the project to the CNCF sandbox, providing a neutral home for the community.

Microsoft Brendan Burns made its initial submission to the SMI specification in March 2019, clarifying the intention of the project: people should be able to use and define service grid configurations without being tied to any particular implementation. The goal of the project is to establish a set of standards and specifications covering the most widely used aspects of the service grid.

The specification does not stipulate that organizations that adopt SMI API must be constrained. Vendors may build extensions or capabilities that are beyond the scope of SMI API. Adopters are encouraged to implement their use cases in a vendor-independent way and to develop the SMI specification through contributions to the project. Although the project is still young, many organizations are currently doing so, including Containous and Maesh projects.

Who participates in the SMI specification?

The good news is that there are multiple providers involved to varying degrees in implementing the SMI specification. In order to better understand these suppliers and their relationship with the ecosystem, I will briefly introduce who they are and what problems they have solved.

Service grid implementation

There is a class of software that directly implements SMI by using the API defined by the SMI group. Each implementation has its own unique properties. Examples include:

Istio: use sidecar to run Envoy

Linkerd: implemented using a custom side car agent

Consul Connect: leverages side car agents such as Envoy and built-in agents for testing, and also supports user-defined agents (HAproxy)

Maesh: a way to use per-node (DaemonSet) agents using a custom agent implementation (Traefik)

Management plane

While these tools may not directly implement the functions covered by SMI, they play an important role in the ecosystem by adopting and managing technologies that support the SMI specification:

Weaveworks Flagger: as the control plane of Kubernetes deployment, it supports multiple service grid implementations at the same time

Service Mesh Hub: a management plane implemented as multiple service grids

RIO: as the management plane of Linkerd

Introduction to Maesh: a simpler service grid

A new implementation of the SMI specification is Maesh, which is installed on a Kubernetes cluster and implements multiple SMI API to support east-west communication between services running on the cluster. We have a unique view of the service network, which provides flexibility of adoption, lower performance overhead, and less destructive upgrades.

A fresh method

As a starting point for the team to build Maesh, it makes sense to implement SMI API. API provides a clear consensus on features that have been widely adopted to ensure that engineers do not waste time dealing with limited use cases. We were then able to focus on the vision that inspired the project, abandoning some of the previous assumptions in the service grid landscape.

In the figure above, it is noted that there is an obvious lack of side car agents. This is designed. Let's have a look.

In-depth understanding of the field of technology

Before delving into the technical details in Maesh and how to implement a service grid for borderless cars, readers can take a look at some of the components and configurations discussed in this section, which may be helpful.

DNS stubs (DNS stubbing): this feature is exposed by CoreDNS, the default DNS provider deployed in most Kubernetes distributions, which allows you to define private DNS regions, often referred to as "stub domains" (stub domain)

The CoreDNS component in kube-dns:Kubernetes that handles private (internal) DNS requests

Kube-proxy: operates on each Kubernetes node, responsible for load balancing and proxy internal UDP, TCP, and SCTP packets for service-to-service communication

The team decided to take an approach by patching CoreDNS with DNS stubs, so kube-dns will resolve maesh-specific domain queries internally. Requests that match the standard DNS pattern in Kubernetes will continue to be routed through kube-proxy. Instead, requests that match stub entries, service-name.local.maesh 's, will be routed through the Traefik agent that it deploys.

The controller deployed by Maesh handles the reception of SMI objects and configures each Traefik proxy node (deployed as DaemonSet) to allow independent pod to operate without any modification. This method meets the first three goals and does not require a side car agent:

Ensure that users can upgrade the service grid without interruption

Reduce the cost of operation

Provides the flexibility to easily choose to enter or exit the service grid

These are the new ways to use the SMI specification shared by the editor. If you happen to have similar doubts, you might as well refer to the above analysis to understand. If you want to know more about it, you are welcome to follow the industry information channel.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report