开发者学堂课程【Kubernetes 云原生管理实践:Kubernetes 应用通过 Service Mesh 进行流量切分与灰度发布】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/293/detail/3440
Kubernetes 应用通过 Service Mesh 进行流量切分与灰度发布
内容介绍:
一、Open Service Mesh
二、分流
一、Open Service Mesh
1、使用OSM和OAM对应用分流,O都是开放的意思,open,两个都是开源的项目,OAM开放的应用模型,是阿里云和微软还有Kubernetes 共同开发的开源项目,OSM是微软开源,Open Service Mesh,自己对smi,Serial Management Interface的实现Smi在前两年为了应对Service Mesh出现情况做的标准,但是标准一直以来没有用,只有inked在用,有问题,所以现在开始做实现Open Service Mesh,dataplay,在数据平面envoy跟insitu一样,区别是controlplay做的是轻量级的,可拓展,因为osm可拓展性会比较容易,比较喜欢building block类型项目,不喜欢大的项目把用户都绑定在里面,想改动各方面都不好,做oam的初衷,希望各种运维能力管控能力都像砖块一样,可以自己搭建,最主要的想法相比insitu,osm现在是很轻量级的,而且没有打算实现比较多的功能。
2、osm主要功能。
Features
(1)Easily and transparently configure traffic shifting for deployments
(2)Secure service to service communication by enabling mTLS
(3)Define and execute fine grained access control policies for services
(4)Observability and insights into application metrics for debugging and monitoring services
(5)Integrate with external certificate management services/solutions with a pluqqable interface
(6)Onboard applications onto the mesh by enabling automatic sidecar in
sidecar注入跟insitu一样,政策得到管理,流量的加密,实现双向的mtls,管控比较严格,service之间默认不能通讯,打开它改设置或者打开哪一个,可以对它进行配置,保障微服务之间的安全性,certidicate service网络概念,当监听端口时会把自己变成server,server对应是service,在听端口创建,提供对外ip不对集群以外,对集群内其它服务提供ip地址可以访问,service也可以再把它拓展开,它可以对集群以外的外部流量有所反映,它在内部做no blance的工作service后面几个port进行流量控制。
名词在configure里面特别容易混淆,以前文档一直把微服务,把port说成service,流量控制它又控制service很容易混淆,讲的不是一个service,不是一个意思,除了这些以外,最主要功能是traffic shifting对流量进行控制管理能力,不管osm,用户应该装service,最主要目的进行流量控制。