当前位置:首页 > 云计算 > 正文内容

k8s提供了saas服务(k8s提供的是)

2023-03-27 23:50:10云计算3

k8s提供的是

第二层就是所谓的PaaS,某些时候也叫做中间件。

k8s的工作原理

vrouter是主要的数据平面组件,有两种部署的模式,分别是vrouter:kernel module,以及vrouter:DPDK模式。

vrouter可以部署在常规X86服务器上,也可以在OpenStack或K8s的计算节点当中。

vrouter的职责是数据平面,用于数据包转发和由vrouter代理在计算节点上编程的数据包转发,但实际上,整个配置是通过控制器上的XMPP提供的。

我们使用XMPP通过vrouter agent与控制器通信,并且有一个专门的接口来对vrouter数据平面进行编程以转发软件包。

在DPDK中,vrouter是一个高性能、多核和多线程的应用程序,这里想强调一下,它是专用于多核的DPDK应用,我们需要寻找多核的正确用法。

k8s的使用场景

bgprocess是一个在线eda仿真云平台的软件,bgprocess这款软件支持灵活的资源使用方式,既支持向导式的用户提交界面,也支持高级用户动态地在云端创建hpc/k8s集群,支持多调度器,一站式eda仿真验证云平台,用于芯片设计前后仿真和制作流片过程中高算力需求场景等等。

k8s的deployment

微服务架构上篇

1. grpc技术介绍

2. grpc+protobuf+网关实战

3. etcd技术介绍

4. 基于etcd的服务发现与注册

5. 基于etcd的分布式锁实战

2. 微服务架构中篇

1. k8s架构介绍

2. 基于k8s的容器化部署

3. 基于k8s的Deployment工作负载

4. 基于k8s的ingress实战

5. 基于ingress和service实现灰度发布

6. 常见的服务治理策略

3. 微服务架构下篇

分布式链路追踪实战

干货:

什么是APM

什么是Opentracing

什么是SpanID

什么是TraceID

基于zipkin构建链路追踪

1. 什么是APM

APM(Application Performance Management,即应用性能管理,在分布式领域也称为分布式跟踪管理)对企业的应用系统进行实时监控,它是用于实现对应用程序性能管理和故障管理的系统化的解决方案。

APM核心功能:

服务调用跟踪

应用系统存活检测

监控告警

开源APM管理工具:

ZipKin

PinPoint

SkyWalking

Prometheus

我们这篇文章主要是讲解APM的核心功能之一:服务调用跟踪,用到的工具是ZipKin,本来想用Prometheus搭建一个监控平台,想来想去比较简单,大家直接在本地就可以搭建单机版的监控平台。

2. 什么是Opentracing

OpenTracing通过提供平台无关、厂商无关的API,使得开发人员能够方便的添加(或更换)追踪系统的实现。

不过OpenTracing并不是标准。因为CNCF不是官方标准机构,但是它的目标是致力为分布式追踪创建更标准的API和工具。

3. 什么是TraceID

一个trace代表了一个事务或者流程在(分布式)系统中的执行过程,而这个过程会有唯一ID去标识,这个唯一ID就是Trace ID,通俗解释就是一个API请求的完整调用流程。

4. 什么是SpanID

一个span代表在分布式系统中完成的单个工作单元,这个工作单元有唯一ID去标识,这个唯一ID就是Span ID。也包含其他span的“引用”,这允许将多个spans组合成一个完整的Trace。

通俗解释就是在Trace这样一个完整调用的流程中,Span扮演的角色就是每次执行的一次IO或者非IO操作。所以你通过Trace找到整个链路,然后从链路中找到确定的Span,这样就可以准确定位一次问题或者性能查询。

5. 其他名称解释

Span tags(跨度标签)可以理解为用户自定义的Span注释。便于查询、过滤和理解跟踪数据。

Span logs(跨度日志)可以记录Span内特定时间或事件的日志信息。主要用于捕获特定Span的日志信息以及应用程序本身的其他调试或信息输出。

SpanContext 代表跨越进程边界,传递到子级Span的状态。常在追踪示意图中创建上下文时使用。

6. 案例

执行时间的上下文,服务间的层次关系,服务间串行或并行调用链,结合以上信息,在实际场景中我们可以通过整个系统的调用链的上下文、性能等指标信息,一下子就能够发现系统的痛点在哪儿。

7. 什么是ZipKin

Zipkin是分布式追踪系统。它的作用是收集解决微服务架构中的延迟问题所需的时序数据。它管理这些数据的收集和查找。

Zipkin的设计基于Google Dapper论文。

8. 基于ZipKin构建链路追踪

首先在基于之前的项目之中,把server.go修改一下,让其支持分布式链路追踪。server.go:

至此我们的grpc服务就有了链路追踪功能,接下来我们演示下,启动server.go:k8s-grpc-demo go run cmd/svr/svr.go -port 50004

然后启动客户端:k8s-grpc-demo go run cmd/cli/cli.go

我们可以看下server.go的日志:图片我们发现日志完美记录到ZipKin中,接下来我们看下ZipKin地址:图片当我们点击RUN QUERY的时候可以看到如下:图片当我们点击某一个Trace的时候,就进入这个Trace的整个调用链路详情中:

这样我就基于gRPC + Opentracing + Zipkin的分布式链路追踪系统就搭建完成了,大家下去可以自己尝试下。

k8s组成部分

支流科技是 Apache 顶级项目 APISIX 背后的商业公司。

支流科技成立于 2019 年,是一家提供 API 处理和分析的开源基础软件公司,目前拥有三个核心产品,分别是是云原生 API 网关、k8s ingress controller 和服务网格,三个产品可以相互连接构成解决方案,帮助用户构建云原生体系下网络层的流量处理。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98758385.html