跟读练习: How to design a Deployment Pipeline (GitOps) - 通过视频学习英语口语

选择练习模式

每种模式都会打开全屏练习室。

127 句
如果句子过短或过长,请点击 Edit 进行调整。
1
Hey everyone, in this video we're going to talk about how you can design a deployment pipeline using GetOps principles.
2
So if you're looking into designing a deployment pipeline or just want to learn a little bit more about GetOps,
3
this is going to be the video for you.
4
Now this video takes place after my last video which was how to design a CICD pipeline.
5
So if you're not sure how to design a CICD pipeline, make sure that you watch my previous video.
6
I'll let's go ahead and get started with the design of our getops pipeline.
7
Alright so here you can see that we have a pretty simple CI CD pipeline.
8
This pipeline takes our application code stored in our application repository, takes it through the source build test and release stage
9
and basically the output is going to be a container image and that container image is stored in our registry.
10
So you can see we have our application right here and it's version 1 .0.
11
So where do we go from here?
12
This is where we need a continuous deployment pipeline to actually take this application image
13
and bring it over to our different environments.
14
So the first thing that we want to do
15
when designing our deployment pipeline is create a second repository to house our configurations.
16
So our CI -CD pipeline is going to check out code from our application repo,
17
but our deployment pipeline is going to use our configurations from our configuration repo.
18
So this is a traditional GitOps pipeline.
19
So let's create another repo here, and then we'll call it config repo.
20
And this config repo is going to contain all the configuration files that we need for deploying our application.
21
So this could be anything from like Docker Compose files to Kubernetes Manifest.
22
So let's go ahead and populate this config repo with some manifest files.
23
So I'm going to put a Kubernetes Manifest file here.
24
And let's just think about what would be in this manifest.
25
So in this manifest, we would probably have something like a Kubernetes deployment.
26
So we'll call it deployment and this deployment probably uses an image
27
and the image it's going to use is going to be the image from our CI CD pipeline.
28
So we called it my app and we'll just tag it with v1 .0.
29
Now let's just move this out of the way and get an environment for us to deploy to.
30
So we have our server here, and this could be any type of server.
31
We'll just call it our test slash QA environment.
32
Now your GitOps pipelines can deploy to your environments in two different models.
33
The first model is known as the push model.
34
So we'll call this push.
35
Now the push model is really simple.
36
It's as simple as just doing something like a cube control apply.
37
So we're just going to keep it as that for now.
38
And then I'm going to discuss the pull model,
39
which is the more modern approach of actually having an operator installed in your environment that pulls down your configurations.
40
So let's talk a little bit about how this pipeline gets triggered in the first place.
41
So your deployment pipeline should be triggered automatically at the end of your CI -CD pipeline.
42
So let's draw an arrow here from our CI CD pipeline
43
because it's going to trigger our deployment pipeline as soon as it's done completing.
44
Now, every time you run your CI CD pipeline, it should be churning out a new version of your application.
45
So you can see here we have version one of our application.
46
And the next time we run our pipeline, we're going to get version 1 .1.
47
Now, if you have a really well -designed pipeline,
48
what you may want your pipeline to do is to actually go into your configuration repository
49
and submit a pull request or just push a change to it to actually update the image.
50
So here I'm going to update the image tag to v1 .1
51
and all my deployment pipeline really needs to do is rerun kubectl apply
52
and that's going to deploy it to my test and QA environment.
53
Now once the code is actually running in your environment, you should have some observability tools plugged in to monitor your application.
54
So at the very least, you should have something like Prometheus to scrape metrics from your applications.
55
And then you should have something like Grafana
56
so your QA teams can actually visualize the changes
57
and make sure things like the latency hasn't increased and all your key performance indicators are up to snuff.
58
Now once your deployment has been running in your test and QA environment for some time, what's next is to promote it to your other environments.
59
So usually you'll have something like.. a staging environment and a production environment.
60
So staging environments are usually just environments that are similar to production.
61
It's where you send your deployments first, and you're basically pretending it's production.
62
You sort of treat it like production, but it's not production.
63
And then production, of course, is where your live code runs.
64
This is where the customers are accessing your applications.
65
So let's draw some arrows to these environments here and the way
66
that these environments get pushed to is they can automatically get pushed to by your GitOps pipeline
67
or these can be manually gated by a person.
68
So sometimes companies aren't comfortable with having everything automatically trigger to their staging and production environments.
69
Usually they want an engineer to actually run the pipeline manually.
70
So these ones might be manually or automatically triggered.
71
Let's now talk about the pull model and then I'll get into canary testing, which is a common thing that's done in production environments.
72
So with the pull model, I'm just going to take these arrows
73
and I'm just going to change the direction since they are pulling their configurations and deployments down from our configuration repo.
74
So instead of CICD server doing a kubectl apply, they would have what's known as an operator installed in them.
75
So if this is our Kubernetes cluster, then we would have something like Argo CD installed into each of our clusters.
76
And basically what Argo CD does is it just checks your repository and it checks the state of your clusters.
77
And if it notices
78
if the state is different in your clusters than it is in your configuration repo
79
then it tells you it's out of sync.
80
Now it can automatically sync your environments for you or it can be manually triggered again.
81
So you may have your test and QA
82
and even your staging environments do what's known as an auto synchronization through something like Argo CD
83
and then you can have your production environment where someone actually needs to click the button to sync the environment.
84
So Argo CD is really simple to set up actually
85
and basically you just point it to your get ops repository
86
and then it just checks your configurations
87
if anything's out of sync it'll help you sync
88
it i do have a full length video on how to set up
89
and get started with argocd so
90
if you're interested in working with argocd make sure to check
91
that out i have a link in the description below let's now talk about canary deployments
92
which is something you should absolutely introduce into any deployment pipeline
93
So let's talk about how our user actually talks to our application.
94
So we got some users here, and those users usually talk to our application,
95
not directly, but they talk through what's known as a load balancer.
96
So the load balancer is going to load bounce traffic to our application.
97
So our application is running under a Kubernetes pod.
98
So we'll just say this is myapp v1 .0 and then we'll say myapp v1 .1.
99
In a traditional Canary deployment, what would happen is you would have both of the applications deployed.
100
But at the start, it would send 100 % of the traffic to your original application.
101
So we'll say 100 % there and then 0 % here.
102
And then gradually the traffic will be moved over to the new version of your application.
103
So maybe you do it in increments of 10%.
104
So you go 90 % there,
105
10 % there, and then eventually you go 80 % to 20 % and you sort of get the idea.
106
Basically, you're drifting the traffic from the old version to the new version until eventually
107
you have 100 % of the traffic going there.
108
And you can just cut off all the traffic to version one and remove that from your environment.
109
And you just keep doing this for all your new releases.
110
Now, if you're using something like Argo Rollouts in Kubernetes, it would look more like this.
111
This would be actually your rollout object.
112
If you're familiar with Kubernetes, a rollout is basically just a deployment.
113
And a deployment is something that creates your pods, which is basically just your containers.
114
So the rollout object would run a certain number of pods for your version 1 of the application,
115
and then a certain number of pods for version 1 .1.
116
And then as the rollout progresses...
117
It would basically add new pods running the new version of the application
118
and then remove old pods running the old version until eventually all the pods are gone in version one
119
and they're all running in the new version.
120
All right, so I hope this video was helpful on getting to know and understand GitOps and deployment pipelines.
121
If you have any questions, please leave them down below.
122
I know these deployment pipelines can be a little bit confusing at first, especially if you're coming from just designing CICD pipelines,
123
which are pretty much the same no matter which organization you work for.
124
All the stages are sort of the same, but with deployment pipelines, it's really going to be customized to your environment and how your company functions.
125
So make sure to ask some questions below and check out the other videos linked in the description below.
126
I'll have all my Argo related videos that goes over Argo CD as well as one for Argo rollouts.
127
Thanks again for watching and I hope to see you all in the next video.

下载应用

流利口语所需的一切

AI 发音评分逐句打分
音标练习掌握每个音
词汇学习建立你的词库
词汇游戏边玩边学
FOR YOU

推荐视频

本课的词汇与口语要点

这节口语课以视频“How to design a Deployment Pipeline”为素材。 视频中反复出现的词有:pipeline, environment, deployment, application, version。 这段视频共有 127 个句子、1713 个单词可供跟读。 讲话部分时长为 11:01。 说话人语速自然,每分钟约 156 个词,接近日常对话。 只有 81% 的单词属于英语最常用的 3,000 词,词汇难度较高。

视频中的重点词汇

视频中 15 个值得学习的单词,附发音和释义:

单词发音释义
pipeline 名词/ˈpaɪpˌlaɪn/管道, 管線 /管线
configuration 名词/kənˌfɪɡ.əˈɹeɪ̯.ʃən/編排 /编排, 配置
trigger 名词/ˈtɹɪɡɚ/扳機 /扳机
pod 名词/ˈpɑd/莢 /荚
deploy 动词/dɪˈplɔɪ/部署
manifest 名词/ˈmæn.ɪ.fɛst/聲明 /声明, 宣言
cluster 名词/ˈklʌstɚ/串, 叢 /丛
manually 副词/ˈmænj(u)əliː/手动地
server 名词/ˈsɝvɚ/服務器 /服务器, 伺服器
arrow 名词/ˈæɹəʊ/җян, 箭
container 名词/kənˈteɪ.nəɹ/容器
operator 名词/ˈɑpəˌɹeɪtɚ/話務員 /话务员, 接線員 /接线员
gate 名词/ˈɡeɪ̯t/門口 /门口, 門 /门
helpful 形容词/ˈhɛlp.fl̩/有幫助 /有帮助
output 名词/ˈaʊtpʊt/輸出 /输出

视频中出现的短语动词

单词发音释义
check out 动词退房
go ahead 动词/ˌɡoʊ əˈhɛd/請便 /请便
cut off 动词/ˌkʌt ˈɔf/ [ˌkɐɾ ˈɔf]切下, 割下

视频中的语法

说话人最常用的结构,并附上视频中的原话:

结构视频中的用法
被动语态 be + 过去分词 — 强调发生了什么,而不是谁做的is stored · is known · should be triggered
定语从句 who / which + 从句 — 补充说明人或事物video which was · testing, which is · pods, which is

需要注意的发音

说话人用了 32 次缩略和弱读形式,例如 we'll, you're, I'm。请按听到的简短形式来说。

  • “sh” 和 “zh” 音: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, visualize /ˈvɪʒuəˌlaɪz/
  • 长单词——注意重音位置: configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, manually /ˈmænj(u)əliː/, operator /ˈɑpəˌɹeɪtɚ/, continuous /kənˈtɪn.juː.əs/, automobile /ˈɔː.tə.məˌbil/

中文母语者容易读错的音:

  • /v/ — 不要读成 /w/,上齿轻触下唇: server /ˈsɝvɚ/, visualize /ˈvɪʒuəˌlaɪz/
  • 词尾辅音 — 要读清楚,后面不要加元音: deployment /dɪˈplɔɪmənt/, pod /ˈpɑd/, sync /sɪŋk/, manifest /ˈmæn.ɪ.fɛst/, installed /ɪnˈstɔːld/
  • /r/ 和 /l/ 的区别: principle /ˈpɹɪn.sɪ.pəl/, gradually /ˈɡɹæd͡ʒuəli/

如何用这段视频练习

  1. 先完整听一遍视频,不要开口,记下不认识的单词。
  2. 先用 0.75 倍速逐句跟读,熟练之后再回到正常速度。
  3. 录下自己的声音并与原声对比,特别注意 pipeline, configuration, trigger 这类单词。

什么是跟读法?

跟读法 (Shadowing) 是一种有科学依据的语言学习技巧,最初开发用于专业口译员的培训,并由多语言者Alexander Arguelles博士普及。这个方法简单而强大:您在听英语母语原声的同时立即大声重复——就像是一个延迟1-2秒紧跟说话者的影子。与被动听力或语法练习不同,跟读法强迫您的大脑和口腔肌肉同时处理并模仿真实的讲话模式。研究表明它能显着提高发音准确性,语调,节奏,连读,听力理解和口语流利度——使其成为雅思口语备考和真实英语交流最有效的方法之一。

影子跟读法: 阅读完整分步指南 →