当前位置:网站首页>Detailed explanation of Zadig's self-test and joint debugging sub environment for developers
Detailed explanation of Zadig's self-test and joint debugging sub environment for developers
2022-06-28 22:16:00 【InfoQ】
- establish / Destroy the environment
- Copy the environment
- Hosting environment
- Self test mode ( since v1.11.0 Version launch )
Service form

A -> B -> Cx-env=dev1A' -> B -> C'x-env=dev2A -> B'' -> C''
Model

- One K8s colony , There can be multiple sets of self-test environments
- Each project , There can be multiple sets of self-test environments
- In each self-test environment , Have a baseline environment and n Sub environment (n≥0)
- In each self-test environment , All services are in one K8s colony , Cannot deploy across clusters
- In each self-test environment , The sub environment can only interact with the base environment , The request chain passes through at most one sub environment
- In each self-test environment , Request interaction between sub environments is not supported
- Services in an environment , There is at most one version
- Anytime , The baseline environment hasTotal quantityservice
- The service of the synchronization request passes through K8s Service visit
- The request chain of synchronous requests passes through tracing Information concatenation
- Operational in the sub environment ( newly added / Delete / to update ) The services of are a subset of the benchmark environment services
- Benchmark environment 、 Sub environment 、 Direct visitors need to be in the same Mesh in
Realization principle
- Each component and service on the link can be based onRequest traffic characteristicsConductDynamic routing
- Need to identifyDifferent grayscale traffic
- The flow needs to beGrayscale identification
- All nodes under the service need to be grouped , canDifferentiated service versions
- All traffic passes through the traffic management component --- Dynamic routing according to traffic characteristics
- Routing rules can be configured at the traffic management component level --- Controllable gray scale
- The traffic passing through the traffic management component maintains a special mark --- Gray scale can be transmitted through the whole link
- The traffic management component can mark according to traffic , Select the corresponding service instance --- Performed by business independent components Dynamic routing / Service discovery
- Different versions of services can be deployed in different environments -- Differentiated service versions
- all ( north and south / thing ) The traffic flows through the gateway
- Some east-west traffic does not pass through the gateway
- Can be based on http header And other dynamic routing traffic
- be based on K8s Service Service discovery
- proxy Support header propagation
- Temporary does not support SMI TrafficSplit v1alpha3/v1alpha4, That is, based on http header Wait for dynamic routing ,issue Seelink
- Temporary does not support header propagation,issue Seelink
Technical realization
Traffic management
- VirtualService
- EnvoyFilter

- DestinationRule It's also Istio Common resources in , stay VirtualSerivce After the route takes effect , The service that controls the actual import of traffic
- But through Zadig The model of self-test mode shows , Only one version of the service can be deployed in an environment , Service versions can be differentiated by environment , Therefore, there is no need to use DestinationRule To distinguish different versions of the same type of service in an environment
Gray scale transfer
- The outgoing request caused by the application itself for the incoming request , Actively transfer the corresponding gray scale
- Integrated tracing Application of ability , Will pass tracing sdk Etc trace id Wait for the serial request ,Istio It can be recorded when the service receives the request trace id And gray scale , Then the service sends a request according to trace id Automatically increase the gray scale
- about Java Language , It can be done by Java Agent Hijack program runtime traffic , The outgoing request caused by the incoming request , Automatically add gray scale

- When requesting access to the service ,Envoy Will ask Cache Service record trace id and Gray scale Correspondence of
- When the request flows out of the service ,Envoy According to the request trace id, Inquire about Cache Service acquisition Gray scale , Configure the outgoing request
User operation implementation

Core code
- K8s project :
- Back end :https://github.com/koderover/zadig/pull/1214
- front end :https://github.com/koderover/zadig-portal/pull/660
- Helm project :
- Back end :https://github.com/koderover/zadig/pull/1425
- front end :https://github.com/koderover/zadig-portal/pull/791
expectation
边栏推荐
猜你喜欢
![[software test] 2022 national unified college enrollment examination](/img/9a/d76d7eb30a097d364fef28c2230e1a.png)
[software test] 2022 national unified college enrollment examination

How to advance data analysis from 1 to 10?

Adding a markdown editor to lavel

華為雲的AI深潜之旅

城市大脑知识图谱构建及应用研究

硬件开发笔记(七): 硬件开发基本流程,制作一个USB转RS232的模块(六):创建0603封装并关联原理图元器件

Binomial distribution (a discrete distribution)

Appium automated test Jiugongge unlock

Hardware development notes (VII): basic process of hardware development, making a USB to RS232 module (VI): creating 0603 package and associating principle graphic devices

Description détaillée du schéma technique du sous - environnement syntonique auto - test de Zadig pour les développeurs
随机推荐
运动App如何实现端侧后台保活,让运动记录更完整?
PHP login problem
Progress in visual weakly supervised learning
Survival of beaver: post-90s female doctors and AI developers
CVPR 2022|极具创意&美感的文字生成方法!支持任意输入
What is low code development?
Competition rules for the "network security" event of the secondary vocational group in the skills competition of Guangxi Vocational Colleges in 2022
[software test] 2022 national unified college enrollment examination
PAT 1021. Traversal of the deep root (25 points) graph, DFS, calculating the number of connected components
YAYA LIVE CTO 唐鸿斌:真正本地化,要让产品没有「产地」属性
Set when quartz scheduled task trigger starts
Is the VIP securities account of qiniu school really safe and regular? How do I say this?
穿越过后,她说多元宇宙真的存在
代码复查
Use of axurer9 master
F1tenth gym of ROS 2 humble hawksbill
Axure custom components
华为云的AI深潜之旅
Zadig 构建究竟何强大?一起来实践
ADB regular use of work notes