Skip to content

Instantly share code, notes, and snippets.

@joaovitor
Created June 11, 2018 03:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joaovitor/2247adea03645b1ae7dd058b2fc97477 to your computer and use it in GitHub Desktop.
Save joaovitor/2247adea03645b1ae7dd058b2fc97477 to your computer and use it in GitHub Desktop.
1
00:00:00,030 --> 00:00:02,210
welcome to learn Kubernetes from a
2
00:00:02,210 --> 00:00:02,220
welcome to learn Kubernetes from a
3
00:00:02,220 --> 00:00:04,849
welcome to learn Kubernetes from a
DevOps guru where you will learn the ins
4
00:00:04,849 --> 00:00:04,859
DevOps guru where you will learn the ins
5
00:00:04,859 --> 00:00:06,619
DevOps guru where you will learn the ins
and outs of the exciting container
6
00:00:06,619 --> 00:00:06,629
and outs of the exciting container
7
00:00:06,629 --> 00:00:09,049
and outs of the exciting container
orchestration technology Kubernetes my
8
00:00:09,049 --> 00:00:09,059
orchestration technology Kubernetes my
9
00:00:09,059 --> 00:00:11,299
orchestration technology Kubernetes my
name's Basit Mustafa and I'll be your
10
00:00:11,299 --> 00:00:11,309
name's Basit Mustafa and I'll be your
11
00:00:11,309 --> 00:00:13,220
name's Basit Mustafa and I'll be your
instructor for the course in my 10 year
12
00:00:13,220 --> 00:00:13,230
instructor for the course in my 10 year
13
00:00:13,230 --> 00:00:15,440
instructor for the course in my 10 year
career at IBM and now at the for years
14
00:00:15,440 --> 00:00:15,450
career at IBM and now at the for years
15
00:00:15,450 --> 00:00:16,970
career at IBM and now at the for years
the company that I founded from the
16
00:00:16,970 --> 00:00:16,980
the company that I founded from the
17
00:00:16,980 --> 00:00:20,090
the company that I founded from the
start I focused on building production
18
00:00:20,090 --> 00:00:20,100
start I focused on building production
19
00:00:20,100 --> 00:00:22,340
start I focused on building production
global scale technology systems and
20
00:00:22,340 --> 00:00:22,350
global scale technology systems and
21
00:00:22,350 --> 00:00:24,470
global scale technology systems and
leading and mentoring the technical
22
00:00:24,470 --> 00:00:24,480
leading and mentoring the technical
23
00:00:24,480 --> 00:00:26,960
leading and mentoring the technical
teams that make them a reality I have
24
00:00:26,960 --> 00:00:26,970
teams that make them a reality I have
25
00:00:26,970 --> 00:00:28,250
teams that make them a reality I have
worked through the evolution of
26
00:00:28,250 --> 00:00:28,260
worked through the evolution of
27
00:00:28,260 --> 00:00:30,740
worked through the evolution of
production systems from client-server
28
00:00:30,740 --> 00:00:30,750
production systems from client-server
29
00:00:30,750 --> 00:00:33,350
production systems from client-server
technologies to virtualization to
30
00:00:33,350 --> 00:00:33,360
technologies to virtualization to
31
00:00:33,360 --> 00:00:35,510
technologies to virtualization to
containerization and now to container
32
00:00:35,510 --> 00:00:35,520
containerization and now to container
33
00:00:35,520 --> 00:00:37,670
containerization and now to container
orchestration that's why I'm excited for
34
00:00:37,670 --> 00:00:37,680
orchestration that's why I'm excited for
35
00:00:37,680 --> 00:00:39,290
orchestration that's why I'm excited for
you to discover the ease with which
36
00:00:39,290 --> 00:00:39,300
you to discover the ease with which
37
00:00:39,300 --> 00:00:41,569
you to discover the ease with which
Kubernetes lets you create performant
38
00:00:41,569 --> 00:00:41,579
Kubernetes lets you create performant
39
00:00:41,579 --> 00:00:43,459
Kubernetes lets you create performant
scalable reliable and robust
40
00:00:43,459 --> 00:00:43,469
scalable reliable and robust
41
00:00:43,469 --> 00:00:46,220
scalable reliable and robust
applications in this course we'll start
42
00:00:46,220 --> 00:00:46,230
applications in this course we'll start
43
00:00:46,230 --> 00:00:48,080
applications in this course we'll start
with the foundations of Kubernetes as a
44
00:00:48,080 --> 00:00:48,090
with the foundations of Kubernetes as a
45
00:00:48,090 --> 00:00:50,660
with the foundations of Kubernetes as a
container orchestration and move to
46
00:00:50,660 --> 00:00:50,670
container orchestration and move to
47
00:00:50,670 --> 00:00:53,060
container orchestration and move to
practical examples that will grow your
48
00:00:53,060 --> 00:00:53,070
practical examples that will grow your
49
00:00:53,070 --> 00:00:55,520
practical examples that will grow your
skills and how to build performant
50
00:00:55,520 --> 00:00:55,530
skills and how to build performant
51
00:00:55,530 --> 00:00:58,099
skills and how to build performant
reliable and robust systems using
52
00:00:58,099 --> 00:00:58,109
reliable and robust systems using
53
00:00:58,109 --> 00:01:00,920
reliable and robust systems using
Kubernetes on your laptop all the way up
54
00:01:00,920 --> 00:01:00,930
Kubernetes on your laptop all the way up
55
00:01:00,930 --> 00:01:02,990
Kubernetes on your laptop all the way up
to large production high availability
56
00:01:02,990 --> 00:01:03,000
to large production high availability
57
00:01:03,000 --> 00:01:05,840
to large production high availability
systems in the world's largest public
58
00:01:05,840 --> 00:01:05,850
systems in the world's largest public
59
00:01:05,850 --> 00:01:07,910
systems in the world's largest public
cloud will examine the ins and outs of
60
00:01:07,910 --> 00:01:07,920
cloud will examine the ins and outs of
61
00:01:07,920 --> 00:01:10,640
cloud will examine the ins and outs of
actual deployments on real clusters and
62
00:01:10,640 --> 00:01:10,650
actual deployments on real clusters and
63
00:01:10,650 --> 00:01:12,920
actual deployments on real clusters and
you'll gain experience and wisdom that
64
00:01:12,920 --> 00:01:12,930
you'll gain experience and wisdom that
65
00:01:12,930 --> 00:01:15,440
you'll gain experience and wisdom that
can only come from doing it in real life
66
00:01:15,440 --> 00:01:15,450
can only come from doing it in real life
67
00:01:15,450 --> 00:01:17,480
can only come from doing it in real life
I'll be with you every step of the way
68
00:01:17,480 --> 00:01:17,490
I'll be with you every step of the way
69
00:01:17,490 --> 00:01:20,929
I'll be with you every step of the way
to point out pitfalls gotchas and other
70
00:01:20,929 --> 00:01:20,939
to point out pitfalls gotchas and other
71
00:01:20,939 --> 00:01:23,149
to point out pitfalls gotchas and other
things you can only get from experience
72
00:01:23,149 --> 00:01:23,159
things you can only get from experience
73
00:01:23,159 --> 00:01:25,370
things you can only get from experience
I'm excited to be a part of the next
74
00:01:25,370 --> 00:01:25,380
I'm excited to be a part of the next
75
00:01:25,380 --> 00:01:27,350
I'm excited to be a part of the next
step in your DevOps journey as we
76
00:01:27,350 --> 00:01:27,360
step in your DevOps journey as we
77
00:01:27,360 --> 00:01:32,940
step in your DevOps journey as we
explore Kubernetes together
78
00:01:32,950 --> 00:01:35,940
[Music]
79
00:01:35,940 --> 00:01:35,950
[Music]
80
00:01:35,950 --> 00:01:38,890
[Music]
welcome to master Kubernetes in this
81
00:01:38,890 --> 00:01:38,900
welcome to master Kubernetes in this
82
00:01:38,900 --> 00:01:40,720
welcome to master Kubernetes in this
course will explore Kubernetes the
83
00:01:40,720 --> 00:01:40,730
course will explore Kubernetes the
84
00:01:40,730 --> 00:01:42,100
course will explore Kubernetes the
leading package in one of the most
85
00:01:42,100 --> 00:01:42,110
leading package in one of the most
86
00:01:42,110 --> 00:01:43,900
leading package in one of the most
exciting and lucrative areas of
87
00:01:43,900 --> 00:01:43,910
exciting and lucrative areas of
88
00:01:43,910 --> 00:01:46,030
exciting and lucrative areas of
computing technology today container
89
00:01:46,030 --> 00:01:46,040
computing technology today container
90
00:01:46,040 --> 00:01:48,970
computing technology today container
orchestration and deployment will focus
91
00:01:48,970 --> 00:01:48,980
orchestration and deployment will focus
92
00:01:48,980 --> 00:01:49,930
orchestration and deployment will focus
on hands-on learning
93
00:01:49,930 --> 00:01:49,940
on hands-on learning
94
00:01:49,940 --> 00:01:52,120
on hands-on learning
but first let's explore the trends that
95
00:01:52,120 --> 00:01:52,130
but first let's explore the trends that
96
00:01:52,130 --> 00:01:54,160
but first let's explore the trends that
are given rise to containers the need
97
00:01:54,160 --> 00:01:54,170
are given rise to containers the need
98
00:01:54,170 --> 00:01:56,350
are given rise to containers the need
for container orchestration and how that
99
00:01:56,350 --> 00:01:56,360
for container orchestration and how that
100
00:01:56,360 --> 00:01:58,150
for container orchestration and how that
it's created the space for Kubernetes to
101
00:01:58,150 --> 00:01:58,160
it's created the space for Kubernetes to
102
00:01:58,160 --> 00:02:01,420
it's created the space for Kubernetes to
rise to dominance and growth the growth
103
00:02:01,420 --> 00:02:01,430
rise to dominance and growth the growth
104
00:02:01,430 --> 00:02:03,190
rise to dominance and growth the growth
of technology into every aspect of our
105
00:02:03,190 --> 00:02:03,200
of technology into every aspect of our
106
00:02:03,200 --> 00:02:05,410
of technology into every aspect of our
lives and days has created immense
107
00:02:05,410 --> 00:02:05,420
lives and days has created immense
108
00:02:05,420 --> 00:02:07,510
lives and days has created immense
demand on software the companies and
109
00:02:07,510 --> 00:02:07,520
demand on software the companies and
110
00:02:07,520 --> 00:02:08,919
demand on software the companies and
organizations that sell and deliver
111
00:02:08,919 --> 00:02:08,929
organizations that sell and deliver
112
00:02:08,929 --> 00:02:11,140
organizations that sell and deliver
products based on software or just use
113
00:02:11,140 --> 00:02:11,150
products based on software or just use
114
00:02:11,150 --> 00:02:13,390
products based on software or just use
software in their businesses this really
115
00:02:13,390 --> 00:02:13,400
software in their businesses this really
116
00:02:13,400 --> 00:02:15,730
software in their businesses this really
is nearly any business and anyone who
117
00:02:15,730 --> 00:02:15,740
is nearly any business and anyone who
118
00:02:15,740 --> 00:02:17,590
is nearly any business and anyone who
doesn't live entirely off the grid
119
00:02:17,590 --> 00:02:17,600
doesn't live entirely off the grid
120
00:02:17,600 --> 00:02:20,260
doesn't live entirely off the grid
this pressure has spurred innovation and
121
00:02:20,260 --> 00:02:20,270
this pressure has spurred innovation and
122
00:02:20,270 --> 00:02:22,540
this pressure has spurred innovation and
standardization and the needs and stakes
123
00:02:22,540 --> 00:02:22,550
standardization and the needs and stakes
124
00:02:22,550 --> 00:02:24,699
standardization and the needs and stakes
are so high it has fundamentally changed
125
00:02:24,699 --> 00:02:24,709
are so high it has fundamentally changed
126
00:02:24,709 --> 00:02:27,130
are so high it has fundamentally changed
house offers developed and deployed into
127
00:02:27,130 --> 00:02:27,140
house offers developed and deployed into
128
00:02:27,140 --> 00:02:29,500
house offers developed and deployed into
production but this evolution isn't
129
00:02:29,500 --> 00:02:29,510
production but this evolution isn't
130
00:02:29,510 --> 00:02:30,670
production but this evolution isn't
without precedent
131
00:02:30,670 --> 00:02:30,680
without precedent
132
00:02:30,680 --> 00:02:33,220
without precedent
could you imagine the world's economy
133
00:02:33,220 --> 00:02:33,230
could you imagine the world's economy
134
00:02:33,230 --> 00:02:35,080
could you imagine the world's economy
relying on methods like this for the
135
00:02:35,080 --> 00:02:35,090
relying on methods like this for the
136
00:02:35,090 --> 00:02:37,120
relying on methods like this for the
trade of goods there would be no way
137
00:02:37,120 --> 00:02:37,130
trade of goods there would be no way
138
00:02:37,130 --> 00:02:40,449
trade of goods there would be no way
you'd get your new iPhone in time now we
139
00:02:40,449 --> 00:02:40,459
you'd get your new iPhone in time now we
140
00:02:40,459 --> 00:02:41,680
you'd get your new iPhone in time now we
take it for granted that shipping
141
00:02:41,680 --> 00:02:41,690
take it for granted that shipping
142
00:02:41,690 --> 00:02:43,390
take it for granted that shipping
containers efficiently move between
143
00:02:43,390 --> 00:02:43,400
containers efficiently move between
144
00:02:43,400 --> 00:02:45,120
containers efficiently move between
different modes of transportation
145
00:02:45,120 --> 00:02:45,130
different modes of transportation
146
00:02:45,130 --> 00:02:47,140
different modes of transportation
different ship owners and shipping
147
00:02:47,140 --> 00:02:47,150
different ship owners and shipping
148
00:02:47,150 --> 00:02:49,120
different ship owners and shipping
companies and have standardized
149
00:02:49,120 --> 00:02:49,130
companies and have standardized
150
00:02:49,130 --> 00:02:51,430
companies and have standardized
ubiquitous and available anywhere in the
151
00:02:51,430 --> 00:02:51,440
ubiquitous and available anywhere in the
152
00:02:51,440 --> 00:02:53,949
ubiquitous and available anywhere in the
world almost always no matter what it's
153
00:02:53,949 --> 00:02:53,959
world almost always no matter what it's
154
00:02:53,959 --> 00:02:58,360
world almost always no matter what it's
in if it fits it ships modern software
155
00:02:58,360 --> 00:02:58,370
in if it fits it ships modern software
156
00:02:58,370 --> 00:03:00,729
in if it fits it ships modern software
is becoming quite similar as software
157
00:03:00,729 --> 00:03:00,739
is becoming quite similar as software
158
00:03:00,739 --> 00:03:02,650
is becoming quite similar as software
systems become more complicated this
159
00:03:02,650 --> 00:03:02,660
systems become more complicated this
160
00:03:02,660 --> 00:03:04,750
systems become more complicated this
complication has driven software to be
161
00:03:04,750 --> 00:03:04,760
complication has driven software to be
162
00:03:04,760 --> 00:03:06,520
complication has driven software to be
divided into smaller pieces such as
163
00:03:06,520 --> 00:03:06,530
divided into smaller pieces such as
164
00:03:06,530 --> 00:03:08,680
divided into smaller pieces such as
micro services whether they're called
165
00:03:08,680 --> 00:03:08,690
micro services whether they're called
166
00:03:08,690 --> 00:03:10,509
micro services whether they're called
micro services or not these smaller
167
00:03:10,509 --> 00:03:10,519
micro services or not these smaller
168
00:03:10,519 --> 00:03:12,130
micro services or not these smaller
pieces of software each need to be
169
00:03:12,130 --> 00:03:12,140
pieces of software each need to be
170
00:03:12,140 --> 00:03:15,220
pieces of software each need to be
packaged built deployed and accessed by
171
00:03:15,220 --> 00:03:15,230
packaged built deployed and accessed by
172
00:03:15,230 --> 00:03:17,259
packaged built deployed and accessed by
other pieces of software around them to
173
00:03:17,259 --> 00:03:17,269
other pieces of software around them to
174
00:03:17,269 --> 00:03:19,539
other pieces of software around them to
function as a total system these small
175
00:03:19,539 --> 00:03:19,549
function as a total system these small
176
00:03:19,549 --> 00:03:21,430
function as a total system these small
pieces of software can be deployed into
177
00:03:21,430 --> 00:03:21,440
pieces of software can be deployed into
178
00:03:21,440 --> 00:03:23,830
pieces of software can be deployed into
containers that allow them to run on the
179
00:03:23,830 --> 00:03:23,840
containers that allow them to run on the
180
00:03:23,840 --> 00:03:26,949
containers that allow them to run on the
same machine virtual or real but making
181
00:03:26,949 --> 00:03:26,959
same machine virtual or real but making
182
00:03:26,959 --> 00:03:28,570
same machine virtual or real but making
it appear to the software that is the
183
00:03:28,570 --> 00:03:28,580
it appear to the software that is the
184
00:03:28,580 --> 00:03:31,000
it appear to the software that is the
only process running here's where we
185
00:03:31,000 --> 00:03:31,010
only process running here's where we
186
00:03:31,010 --> 00:03:32,140
only process running here's where we
depart from the shipping container
187
00:03:32,140 --> 00:03:32,150
depart from the shipping container
188
00:03:32,150 --> 00:03:33,940
depart from the shipping container
metaphor a bit while a shipping
189
00:03:33,940 --> 00:03:33,950
metaphor a bit while a shipping
190
00:03:33,950 --> 00:03:35,860
metaphor a bit while a shipping
containers sole job is to keep things
191
00:03:35,860 --> 00:03:35,870
containers sole job is to keep things
192
00:03:35,870 --> 00:03:37,990
containers sole job is to keep things
contained within itself typically
193
00:03:37,990 --> 00:03:38,000
contained within itself typically
194
00:03:38,000 --> 00:03:40,000
contained within itself typically
interesting and useful software depends
195
00:03:40,000 --> 00:03:40,010
interesting and useful software depends
196
00:03:40,010 --> 00:03:42,190
interesting and useful software depends
on other software around it to do its
197
00:03:42,190 --> 00:03:42,200
on other software around it to do its
198
00:03:42,200 --> 00:03:44,979
on other software around it to do its
job here is where the need for container
199
00:03:44,979 --> 00:03:44,989
job here is where the need for container
200
00:03:44,989 --> 00:03:46,990
job here is where the need for container
orchestration is born
201
00:03:46,990 --> 00:03:47,000
orchestration is born
202
00:03:47,000 --> 00:03:49,580
orchestration is born
there are definite benefits and keeping
203
00:03:49,580 --> 00:03:49,590
there are definite benefits and keeping
204
00:03:49,590 --> 00:03:51,290
there are definite benefits and keeping
logically distinct soft fare separate
205
00:03:51,290 --> 00:03:51,300
logically distinct soft fare separate
206
00:03:51,300 --> 00:03:53,630
logically distinct soft fare separate
from each other you can develop deploy
207
00:03:53,630 --> 00:03:53,640
from each other you can develop deploy
208
00:03:53,640 --> 00:03:56,270
from each other you can develop deploy
scale and maintain each small piece
209
00:03:56,270 --> 00:03:56,280
scale and maintain each small piece
210
00:03:56,280 --> 00:03:58,670
scale and maintain each small piece
without too much fuss between the other
211
00:03:58,670 --> 00:03:58,680
without too much fuss between the other
212
00:03:58,680 --> 00:03:59,720
without too much fuss between the other
parts of the system
213
00:03:59,720 --> 00:03:59,730
parts of the system
214
00:03:59,730 --> 00:04:01,580
parts of the system
when it's not all on the same module
215
00:04:01,580 --> 00:04:01,590
when it's not all on the same module
216
00:04:01,590 --> 00:04:05,150
when it's not all on the same module
however at some point different parts of
217
00:04:05,150 --> 00:04:05,160
however at some point different parts of
218
00:04:05,160 --> 00:04:07,430
however at some point different parts of
your application likely to communicate
219
00:04:07,430 --> 00:04:07,440
your application likely to communicate
220
00:04:07,440 --> 00:04:08,630
your application likely to communicate
with each other to do something
221
00:04:08,630 --> 00:04:08,640
with each other to do something
222
00:04:08,640 --> 00:04:11,479
with each other to do something
interesting for example an API may need
223
00:04:11,479 --> 00:04:11,489
interesting for example an API may need
224
00:04:11,489 --> 00:04:13,339
interesting for example an API may need
to communicate with business logic it
225
00:04:13,339 --> 00:04:13,349
to communicate with business logic it
226
00:04:13,349 --> 00:04:15,530
to communicate with business logic it
needs in turn to access information or
227
00:04:15,530 --> 00:04:15,540
needs in turn to access information or
228
00:04:15,540 --> 00:04:18,440
needs in turn to access information or
database containers themselves keep
229
00:04:18,440 --> 00:04:18,450
database containers themselves keep
230
00:04:18,450 --> 00:04:20,719
database containers themselves keep
logically distinct pieces of software
231
00:04:20,719 --> 00:04:20,729
logically distinct pieces of software
232
00:04:20,729 --> 00:04:23,120
logically distinct pieces of software
separate so they can be built deployed
233
00:04:23,120 --> 00:04:23,130
separate so they can be built deployed
234
00:04:23,130 --> 00:04:25,969
separate so they can be built deployed
maintained managed and scaled on their
235
00:04:25,969 --> 00:04:25,979
maintained managed and scaled on their
236
00:04:25,979 --> 00:04:28,670
maintained managed and scaled on their
own without unduly affecting other parts
237
00:04:28,670 --> 00:04:28,680
own without unduly affecting other parts
238
00:04:28,680 --> 00:04:31,879
own without unduly affecting other parts
of the system container orchestration on
239
00:04:31,879 --> 00:04:31,889
of the system container orchestration on
240
00:04:31,889 --> 00:04:34,100
of the system container orchestration on
the other hand defines how these
241
00:04:34,100 --> 00:04:34,110
the other hand defines how these
242
00:04:34,110 --> 00:04:36,740
the other hand defines how these
containers interact as a system the
243
00:04:36,740 --> 00:04:36,750
containers interact as a system the
244
00:04:36,750 --> 00:04:39,379
containers interact as a system the
needs between each other and how they
245
00:04:39,379 --> 00:04:39,389
needs between each other and how they
246
00:04:39,389 --> 00:04:41,379
needs between each other and how they
come together to your performant
247
00:04:41,379 --> 00:04:41,389
come together to your performant
248
00:04:41,389 --> 00:04:46,659
come together to your performant
manageable reliable and scalable system
249
00:04:46,659 --> 00:04:46,669
manageable reliable and scalable system
250
00:04:46,669 --> 00:04:49,820
manageable reliable and scalable system
it is currently safe to say that docker
251
00:04:49,820 --> 00:04:49,830
it is currently safe to say that docker
252
00:04:49,830 --> 00:04:51,830
it is currently safe to say that docker
is the dominant leader in both
253
00:04:51,830 --> 00:04:51,840
is the dominant leader in both
254
00:04:51,840 --> 00:04:54,680
is the dominant leader in both
technology and an adoption in containers
255
00:04:54,680 --> 00:04:54,690
technology and an adoption in containers
256
00:04:54,690 --> 00:04:57,500
technology and an adoption in containers
while others exist in the space their
257
00:04:57,500 --> 00:04:57,510
while others exist in the space their
258
00:04:57,510 --> 00:04:59,840
while others exist in the space their
dominance is so great when you mentioned
259
00:04:59,840 --> 00:04:59,850
dominance is so great when you mentioned
260
00:04:59,850 --> 00:05:02,300
dominance is so great when you mentioned
containers it is almost synonymous with
261
00:05:02,300 --> 00:05:02,310
containers it is almost synonymous with
262
00:05:02,310 --> 00:05:05,000
containers it is almost synonymous with
docker other players exist in niche
263
00:05:05,000 --> 00:05:05,010
docker other players exist in niche
264
00:05:05,010 --> 00:05:07,010
docker other players exist in niche
applications and some movement around
265
00:05:07,010 --> 00:05:07,020
applications and some movement around
266
00:05:07,020 --> 00:05:09,710
applications and some movement around
standardization is occurring although is
267
00:05:09,710 --> 00:05:09,720
standardization is occurring although is
268
00:05:09,720 --> 00:05:12,080
standardization is occurring although is
nascent at the docker file standard is
269
00:05:12,080 --> 00:05:12,090
nascent at the docker file standard is
270
00:05:12,090 --> 00:05:14,690
nascent at the docker file standard is
essentially today's standard and docker
271
00:05:14,690 --> 00:05:14,700
essentially today's standard and docker
272
00:05:14,700 --> 00:05:17,000
essentially today's standard and docker
repositories define the dominant way of
273
00:05:17,000 --> 00:05:17,010
repositories define the dominant way of
274
00:05:17,010 --> 00:05:19,730
repositories define the dominant way of
hosting versions of a container between
275
00:05:19,730 --> 00:05:19,740
hosting versions of a container between
276
00:05:19,740 --> 00:05:21,890
hosting versions of a container between
developers and between systems that need
277
00:05:21,890 --> 00:05:21,900
developers and between systems that need
278
00:05:21,900 --> 00:05:24,050
developers and between systems that need
to use them such as orchestration
279
00:05:24,050 --> 00:05:24,060
to use them such as orchestration
280
00:05:24,060 --> 00:05:27,200
to use them such as orchestration
systems like Kubernetes since container
281
00:05:27,200 --> 00:05:27,210
systems like Kubernetes since container
282
00:05:27,210 --> 00:05:29,870
systems like Kubernetes since container
orchestration is a much newer space only
283
00:05:29,870 --> 00:05:29,880
orchestration is a much newer space only
284
00:05:29,880 --> 00:05:31,879
orchestration is a much newer space only
growing since the adoption of containers
285
00:05:31,879 --> 00:05:31,889
growing since the adoption of containers
286
00:05:31,889 --> 00:05:34,070
growing since the adoption of containers
the technologies are newer and still
287
00:05:34,070 --> 00:05:34,080
the technologies are newer and still
288
00:05:34,080 --> 00:05:36,590
the technologies are newer and still
evolving however Kubernetes is quite
289
00:05:36,590 --> 00:05:36,600
evolving however Kubernetes is quite
290
00:05:36,600 --> 00:05:38,779
evolving however Kubernetes is quite
advanced and with Amazon Web Services
291
00:05:38,779 --> 00:05:38,789
advanced and with Amazon Web Services
292
00:05:38,789 --> 00:05:40,670
advanced and with Amazon Web Services
finally joining its competitors and
293
00:05:40,670 --> 00:05:40,680
finally joining its competitors and
294
00:05:40,680 --> 00:05:43,219
finally joining its competitors and
embracing Kubernetes it has the backing
295
00:05:43,219 --> 00:05:43,229
embracing Kubernetes it has the backing
296
00:05:43,229 --> 00:05:45,830
embracing Kubernetes it has the backing
of nearly every major player and cloud
297
00:05:45,830 --> 00:05:45,840
of nearly every major player and cloud
298
00:05:45,840 --> 00:05:47,779
of nearly every major player and cloud
computing through the cloud native
299
00:05:47,779 --> 00:05:47,789
computing through the cloud native
300
00:05:47,789 --> 00:05:50,330
computing through the cloud native
computing foundation also known as the
301
00:05:50,330 --> 00:05:50,340
computing foundation also known as the
302
00:05:50,340 --> 00:05:53,360
computing foundation also known as the
CNCF the organization that now governs
303
00:05:53,360 --> 00:05:53,370
CNCF the organization that now governs
304
00:05:53,370 --> 00:05:56,270
CNCF the organization that now governs
Kubernetes it has essentially become the
305
00:05:56,270 --> 00:05:56,280
Kubernetes it has essentially become the
306
00:05:56,280 --> 00:05:58,730
Kubernetes it has essentially become the
de facto standard especially now that
307
00:05:58,730 --> 00:05:58,740
de facto standard especially now that
308
00:05:58,740 --> 00:05:59,800
de facto standard especially now that
it's mirroring
309
00:05:59,800 --> 00:05:59,810
it's mirroring
310
00:05:59,810 --> 00:06:02,850
it's mirroring
no competing technology docker swarm
311
00:06:02,850 --> 00:06:02,860
no competing technology docker swarm
312
00:06:02,860 --> 00:06:05,140
no competing technology docker swarm
Dockers solution to container
313
00:06:05,140 --> 00:06:05,150
Dockers solution to container
314
00:06:05,150 --> 00:06:07,629
Dockers solution to container
orchestration has now announced support
315
00:06:07,629 --> 00:06:07,639
orchestration has now announced support
316
00:06:07,639 --> 00:06:09,909
orchestration has now announced support
for Kubernetes style configuration and
317
00:06:09,909 --> 00:06:09,919
for Kubernetes style configuration and
318
00:06:09,919 --> 00:06:12,490
for Kubernetes style configuration and
processing it is clear that Kubernetes
319
00:06:12,490 --> 00:06:12,500
processing it is clear that Kubernetes
320
00:06:12,500 --> 00:06:15,010
processing it is clear that Kubernetes
is now the de facto standard if not the
321
00:06:15,010 --> 00:06:15,020
is now the de facto standard if not the
322
00:06:15,020 --> 00:06:17,560
is now the de facto standard if not the
acknowledged standard in the industry in
323
00:06:17,560 --> 00:06:17,570
acknowledged standard in the industry in
324
00:06:17,570 --> 00:06:22,510
acknowledged standard in the industry in
container orchestration containerization
325
00:06:22,510 --> 00:06:22,520
container orchestration containerization
326
00:06:22,520 --> 00:06:24,220
container orchestration containerization
change how software was developed and
327
00:06:24,220 --> 00:06:24,230
change how software was developed and
328
00:06:24,230 --> 00:06:26,620
change how software was developed and
packaged container orchestration is
329
00:06:26,620 --> 00:06:26,630
packaged container orchestration is
330
00:06:26,630 --> 00:06:28,270
packaged container orchestration is
changing how containers are deployed
331
00:06:28,270 --> 00:06:28,280
changing how containers are deployed
332
00:06:28,280 --> 00:06:31,960
changing how containers are deployed
into bigger useful systems from here on
333
00:06:31,960 --> 00:06:31,970
into bigger useful systems from here on
334
00:06:31,970 --> 00:06:34,060
into bigger useful systems from here on
out we'll focus on how to use Kubernetes
335
00:06:34,060 --> 00:06:34,070
out we'll focus on how to use Kubernetes
336
00:06:34,070 --> 00:06:35,950
out we'll focus on how to use Kubernetes
as your framework for container
337
00:06:35,950 --> 00:06:35,960
as your framework for container
338
00:06:35,960 --> 00:06:38,110
as your framework for container
management using docker containers in
339
00:06:38,110 --> 00:06:38,120
management using docker containers in
340
00:06:38,120 --> 00:06:40,360
management using docker containers in
the next lecture we'll focus on the
341
00:06:40,360 --> 00:06:40,370
the next lecture we'll focus on the
342
00:06:40,370 --> 00:06:43,210
the next lecture we'll focus on the
growth lineage of and why the market has
343
00:06:43,210 --> 00:06:43,220
growth lineage of and why the market has
344
00:06:43,220 --> 00:06:53,830
growth lineage of and why the market has
chosen Kubernetes in the previous
345
00:06:53,830 --> 00:06:53,840
chosen Kubernetes in the previous
346
00:06:53,840 --> 00:06:55,630
chosen Kubernetes in the previous
lecture we discussed how the evolution
347
00:06:55,630 --> 00:06:55,640
lecture we discussed how the evolution
348
00:06:55,640 --> 00:06:57,730
lecture we discussed how the evolution
of deploying software modules into
349
00:06:57,730 --> 00:06:57,740
of deploying software modules into
350
00:06:57,740 --> 00:06:59,680
of deploying software modules into
standardized packages that could run
351
00:06:59,680 --> 00:06:59,690
standardized packages that could run
352
00:06:59,690 --> 00:07:02,680
standardized packages that could run
nearly anywhere was called containers or
353
00:07:02,680 --> 00:07:02,690
nearly anywhere was called containers or
354
00:07:02,690 --> 00:07:05,290
nearly anywhere was called containers or
container is a ssin you may recall that
355
00:07:05,290 --> 00:07:05,300
container is a ssin you may recall that
356
00:07:05,300 --> 00:07:06,820
container is a ssin you may recall that
this movement towards containerization
357
00:07:06,820 --> 00:07:06,830
this movement towards containerization
358
00:07:06,830 --> 00:07:09,430
this movement towards containerization
has created a new need to define and
359
00:07:09,430 --> 00:07:09,440
has created a new need to define and
360
00:07:09,440 --> 00:07:11,050
has created a new need to define and
manage the life cycle of these
361
00:07:11,050 --> 00:07:11,060
manage the life cycle of these
362
00:07:11,060 --> 00:07:13,030
manage the life cycle of these
containers and how these containers
363
00:07:13,030 --> 00:07:13,040
containers and how these containers
364
00:07:13,040 --> 00:07:14,890
containers and how these containers
interact with each other to create a
365
00:07:14,890 --> 00:07:14,900
interact with each other to create a
366
00:07:14,900 --> 00:07:17,200
interact with each other to create a
larger interesting and useful software
367
00:07:17,200 --> 00:07:17,210
larger interesting and useful software
368
00:07:17,210 --> 00:07:20,500
larger interesting and useful software
system the de facto standard for
369
00:07:20,500 --> 00:07:20,510
system the de facto standard for
370
00:07:20,510 --> 00:07:22,090
system the de facto standard for
container orchestration is now
371
00:07:22,090 --> 00:07:22,100
container orchestration is now
372
00:07:22,100 --> 00:07:24,730
container orchestration is now
Kubernetes Kubernetes was born at a
373
00:07:24,730 --> 00:07:24,740
Kubernetes Kubernetes was born at a
374
00:07:24,740 --> 00:07:27,010
Kubernetes Kubernetes was born at a
project of Google's internal need for
375
00:07:27,010 --> 00:07:27,020
project of Google's internal need for
376
00:07:27,020 --> 00:07:29,260
project of Google's internal need for
container orchestration it was first
377
00:07:29,260 --> 00:07:29,270
container orchestration it was first
378
00:07:29,270 --> 00:07:31,960
container orchestration it was first
announced in 2014 and has grown into a
379
00:07:31,960 --> 00:07:31,970
announced in 2014 and has grown into a
380
00:07:31,970 --> 00:07:34,779
announced in 2014 and has grown into a
mature product currently at version 1.8
381
00:07:34,779 --> 00:07:34,789
mature product currently at version 1.8
382
00:07:34,789 --> 00:07:36,490
mature product currently at version 1.8
with support and growth in the
383
00:07:36,490 --> 00:07:36,500
with support and growth in the
384
00:07:36,500 --> 00:07:38,170
with support and growth in the
enterprise and most major cloud
385
00:07:38,170 --> 00:07:38,180
enterprise and most major cloud
386
00:07:38,180 --> 00:07:41,320
enterprise and most major cloud
providers Kubernetes as a product is
387
00:07:41,320 --> 00:07:41,330
providers Kubernetes as a product is
388
00:07:41,330 --> 00:07:43,540
providers Kubernetes as a product is
governed in standards and deployment and
389
00:07:43,540 --> 00:07:43,550
governed in standards and deployment and
390
00:07:43,550 --> 00:07:46,540
governed in standards and deployment and
development by a public process led by
391
00:07:46,540 --> 00:07:46,550
development by a public process led by
392
00:07:46,550 --> 00:07:48,460
development by a public process led by
the cloud native computing foundation
393
00:07:48,460 --> 00:07:48,470
the cloud native computing foundation
394
00:07:48,470 --> 00:07:52,029
the cloud native computing foundation
also known as the CNCF much like the
395
00:07:52,029 --> 00:07:52,039
also known as the CNCF much like the
396
00:07:52,039 --> 00:07:54,370
also known as the CNCF much like the
Linux model Kubernetes has itself been
397
00:07:54,370 --> 00:07:54,380
Linux model Kubernetes has itself been
398
00:07:54,380 --> 00:07:56,529
Linux model Kubernetes has itself been
repackaged into distributions with
399
00:07:56,529 --> 00:07:56,539
repackaged into distributions with
400
00:07:56,539 --> 00:07:58,270
repackaged into distributions with
support and other commercialized
401
00:07:58,270 --> 00:07:58,280
support and other commercialized
402
00:07:58,280 --> 00:08:00,909
support and other commercialized
offerings by large vendors many of whom
403
00:08:00,909 --> 00:08:00,919
offerings by large vendors many of whom
404
00:08:00,919 --> 00:08:04,029
offerings by large vendors many of whom
themselves are members of the CNCF with
405
00:08:04,029 --> 00:08:04,039
themselves are members of the CNCF with
406
00:08:04,039 --> 00:08:05,980
themselves are members of the CNCF with
many of the changes and improvements
407
00:08:05,980 --> 00:08:05,990
many of the changes and improvements
408
00:08:05,990 --> 00:08:08,050
many of the changes and improvements
that they make going back into the open
409
00:08:08,050 --> 00:08:08,060
that they make going back into the open
410
00:08:08,060 --> 00:08:12,820
that they make going back into the open
source project Kubernetes enjoys a major
411
00:08:12,820 --> 00:08:12,830
source project Kubernetes enjoys a major
412
00:08:12,830 --> 00:08:13,719
source project Kubernetes enjoys a major
lead and
413
00:08:13,719 --> 00:08:13,729
lead and
414
00:08:13,729 --> 00:08:15,760
lead and
maturity and adoption for a variety of
415
00:08:15,760 --> 00:08:15,770
maturity and adoption for a variety of
416
00:08:15,770 --> 00:08:18,760
maturity and adoption for a variety of
reasons first Kubernetes and its
417
00:08:18,760 --> 00:08:18,770
reasons first Kubernetes and its
418
00:08:18,770 --> 00:08:21,519
reasons first Kubernetes and its
predecessor google borg go back to the
419
00:08:21,519 --> 00:08:21,529
predecessor google borg go back to the
420
00:08:21,529 --> 00:08:23,019
predecessor google borg go back to the
very beginning of container
421
00:08:23,019 --> 00:08:23,029
very beginning of container
422
00:08:23,029 --> 00:08:25,450
very beginning of container
orchestration it simply has a head start
423
00:08:25,450 --> 00:08:25,460
orchestration it simply has a head start
424
00:08:25,460 --> 00:08:27,760
orchestration it simply has a head start
on solving a very complicated problem
425
00:08:27,760 --> 00:08:27,770
on solving a very complicated problem
426
00:08:27,770 --> 00:08:30,429
on solving a very complicated problem
but that's not enough to so a large
427
00:08:30,429 --> 00:08:30,439
but that's not enough to so a large
428
00:08:30,439 --> 00:08:32,829
but that's not enough to so a large
advantage of course that dovetails with
429
00:08:32,829 --> 00:08:32,839
advantage of course that dovetails with
430
00:08:32,839 --> 00:08:35,800
advantage of course that dovetails with
a second Kubernetes and the people
431
00:08:35,800 --> 00:08:35,810
a second Kubernetes and the people
432
00:08:35,810 --> 00:08:38,019
a second Kubernetes and the people
around it especially as founders have
433
00:08:38,019 --> 00:08:38,029
around it especially as founders have
434
00:08:38,029 --> 00:08:39,819
around it especially as founders have
taken this organizational knowledge and
435
00:08:39,819 --> 00:08:39,829
taken this organizational knowledge and
436
00:08:39,829 --> 00:08:42,579
taken this organizational knowledge and
preserved a grown it through the CNCF
437
00:08:42,579 --> 00:08:42,589
preserved a grown it through the CNCF
438
00:08:42,589 --> 00:08:44,920
preserved a grown it through the CNCF
and a public stewardship process that
439
00:08:44,920 --> 00:08:44,930
and a public stewardship process that
440
00:08:44,930 --> 00:08:46,870
and a public stewardship process that
allows Kubernetes to grow unlike
441
00:08:46,870 --> 00:08:46,880
allows Kubernetes to grow unlike
442
00:08:46,880 --> 00:08:49,689
allows Kubernetes to grow unlike
proprietary technologies Kubernetes has
443
00:08:49,689 --> 00:08:49,699
proprietary technologies Kubernetes has
444
00:08:49,699 --> 00:08:51,310
proprietary technologies Kubernetes has
been free to be bigger than any one
445
00:08:51,310 --> 00:08:51,320
been free to be bigger than any one
446
00:08:51,320 --> 00:08:53,590
been free to be bigger than any one
vendors market share and has gained the
447
00:08:53,590 --> 00:08:53,600
vendors market share and has gained the
448
00:08:53,600 --> 00:08:55,750
vendors market share and has gained the
trust and commitments of its users and
449
00:08:55,750 --> 00:08:55,760
trust and commitments of its users and
450
00:08:55,760 --> 00:08:58,629
trust and commitments of its users and
the open source community at large in
451
00:08:58,629 --> 00:08:58,639
the open source community at large in
452
00:08:58,639 --> 00:09:01,090
the open source community at large in
large part by avoiding vendor lock-in
453
00:09:01,090 --> 00:09:01,100
large part by avoiding vendor lock-in
454
00:09:01,100 --> 00:09:03,490
large part by avoiding vendor lock-in
but allowing access to the kind of
455
00:09:03,490 --> 00:09:03,500
but allowing access to the kind of
456
00:09:03,500 --> 00:09:05,710
but allowing access to the kind of
support and assured quality large
457
00:09:05,710 --> 00:09:05,720
support and assured quality large
458
00:09:05,720 --> 00:09:07,210
support and assured quality large
vendors can offer through their own
459
00:09:07,210 --> 00:09:07,220
vendors can offer through their own
460
00:09:07,220 --> 00:09:09,910
vendors can offer through their own
distributions that is not to say that
461
00:09:09,910 --> 00:09:09,920
distributions that is not to say that
462
00:09:09,920 --> 00:09:11,829
distributions that is not to say that
Kubernetes was or is without its
463
00:09:11,829 --> 00:09:11,839
Kubernetes was or is without its
464
00:09:11,839 --> 00:09:14,139
Kubernetes was or is without its
competitors docker the company that
465
00:09:14,139 --> 00:09:14,149
competitors docker the company that
466
00:09:14,149 --> 00:09:15,550
competitors docker the company that
created docker containers themselves
467
00:09:15,550 --> 00:09:15,560
created docker containers themselves
468
00:09:15,560 --> 00:09:18,730
created docker containers themselves
that Kubernetes uses by default has its
469
00:09:18,730 --> 00:09:18,740
that Kubernetes uses by default has its
470
00:09:18,740 --> 00:09:20,680
that Kubernetes uses by default has its
own orchestration offering for example
471
00:09:20,680 --> 00:09:20,690
own orchestration offering for example
472
00:09:20,690 --> 00:09:23,710
own orchestration offering for example
however as it relates to docker swarm or
473
00:09:23,710 --> 00:09:23,720
however as it relates to docker swarm or
474
00:09:23,720 --> 00:09:26,079
however as it relates to docker swarm or
even Apache maize O's another mature
475
00:09:26,079 --> 00:09:26,089
even Apache maize O's another mature
476
00:09:26,089 --> 00:09:28,480
even Apache maize O's another mature
orchestration project Kubernetes has
477
00:09:28,480 --> 00:09:28,490
orchestration project Kubernetes has
478
00:09:28,490 --> 00:09:30,069
orchestration project Kubernetes has
several distinct advantages at the
479
00:09:30,069 --> 00:09:30,079
several distinct advantages at the
480
00:09:30,079 --> 00:09:33,129
several distinct advantages at the
moment first its lineage has given it
481
00:09:33,129 --> 00:09:33,139
moment first its lineage has given it
482
00:09:33,139 --> 00:09:34,870
moment first its lineage has given it
quite a lead time in both time and
483
00:09:34,870 --> 00:09:34,880
quite a lead time in both time and
484
00:09:34,880 --> 00:09:37,540
quite a lead time in both time and
pedigree it never hurts to be born at
485
00:09:37,540 --> 00:09:37,550
pedigree it never hurts to be born at
486
00:09:37,550 --> 00:09:39,930
pedigree it never hurts to be born at
Google solving problems at Google scale
487
00:09:39,930 --> 00:09:39,940
Google solving problems at Google scale
488
00:09:39,940 --> 00:09:42,759
Google solving problems at Google scale
second it's not just achieved critical
489
00:09:42,759 --> 00:09:42,769
second it's not just achieved critical
490
00:09:42,769 --> 00:09:44,590
second it's not just achieved critical
mass it's actually grown to
491
00:09:44,590 --> 00:09:44,600
mass it's actually grown to
492
00:09:44,600 --> 00:09:46,840
mass it's actually grown to
sustainability and the CNC F
493
00:09:46,840 --> 00:09:46,850
sustainability and the CNC F
494
00:09:46,850 --> 00:09:49,210
sustainability and the CNC F
organization provides some permanence to
495
00:09:49,210 --> 00:09:49,220
organization provides some permanence to
496
00:09:49,220 --> 00:09:51,670
organization provides some permanence to
this especially as every major cloud
497
00:09:51,670 --> 00:09:51,680
this especially as every major cloud
498
00:09:51,680 --> 00:09:53,920
this especially as every major cloud
vendor and many major software vendors
499
00:09:53,920 --> 00:09:53,930
vendor and many major software vendors
500
00:09:53,930 --> 00:09:56,559
vendor and many major software vendors
have joined the organization as for the
501
00:09:56,559 --> 00:09:56,569
have joined the organization as for the
502
00:09:56,569 --> 00:09:59,019
have joined the organization as for the
code just look at the commits follows
503
00:09:59,019 --> 00:09:59,029
code just look at the commits follows
504
00:09:59,029 --> 00:10:00,910
code just look at the commits follows
and stars of the various Kubernetes
505
00:10:00,910 --> 00:10:00,920
and stars of the various Kubernetes
506
00:10:00,920 --> 00:10:03,389
and stars of the various Kubernetes
projects they speak for themselves
507
00:10:03,389 --> 00:10:03,399
projects they speak for themselves
508
00:10:03,399 --> 00:10:06,550
projects they speak for themselves
third Kubernetes offers auto scaling
509
00:10:06,550 --> 00:10:06,560
third Kubernetes offers auto scaling
510
00:10:06,560 --> 00:10:08,740
third Kubernetes offers auto scaling
that continues to mature and does not
511
00:10:08,740 --> 00:10:08,750
that continues to mature and does not
512
00:10:08,750 --> 00:10:11,139
that continues to mature and does not
introduce provider specific details but
513
00:10:11,139 --> 00:10:11,149
introduce provider specific details but
514
00:10:11,149 --> 00:10:13,449
introduce provider specific details but
lets you leverage many cloud providers
515
00:10:13,449 --> 00:10:13,459
lets you leverage many cloud providers
516
00:10:13,459 --> 00:10:15,579
lets you leverage many cloud providers
implementation by abstracting them
517
00:10:15,579 --> 00:10:15,589
implementation by abstracting them
518
00:10:15,589 --> 00:10:17,860
implementation by abstracting them
intelligently into common configuration
519
00:10:17,860 --> 00:10:17,870
intelligently into common configuration
520
00:10:17,870 --> 00:10:20,410
intelligently into common configuration
files this makes for an ease of
521
00:10:20,410 --> 00:10:20,420
files this makes for an ease of
522
00:10:20,420 --> 00:10:24,040
files this makes for an ease of
deployment across hybrid clouds or
523
00:10:24,040 --> 00:10:24,050
deployment across hybrid clouds or
524
00:10:24,050 --> 00:10:26,199
deployment across hybrid clouds or
public clouds or any type of deployment
525
00:10:26,199 --> 00:10:26,209
public clouds or any type of deployment
526
00:10:26,209 --> 00:10:28,980
public clouds or any type of deployment
infrastructure
527
00:10:28,990 --> 00:10:31,569
Kubernetes is a technology and software
528
00:10:31,569 --> 00:10:31,579
Kubernetes is a technology and software
529
00:10:31,579 --> 00:10:33,430
Kubernetes is a technology and software
package you can run on your own on your
530
00:10:33,430 --> 00:10:33,440
package you can run on your own on your
531
00:10:33,440 --> 00:10:35,829
package you can run on your own on your
laptop your own server hardware your
532
00:10:35,829 --> 00:10:35,839
laptop your own server hardware your
533
00:10:35,839 --> 00:10:37,870
laptop your own server hardware your
data centers child providers or a
534
00:10:37,870 --> 00:10:37,880
data centers child providers or a
535
00:10:37,880 --> 00:10:39,759
data centers child providers or a
combination of them all if you'd like in
536
00:10:39,759 --> 00:10:39,769
combination of them all if you'd like in
537
00:10:39,769 --> 00:10:41,889
combination of them all if you'd like in
the next lecture we will discuss where
538
00:10:41,889 --> 00:10:41,899
the next lecture we will discuss where
539
00:10:41,899 --> 00:10:43,480
the next lecture we will discuss where
to get started how you can set up
540
00:10:43,480 --> 00:10:43,490
to get started how you can set up
541
00:10:43,490 --> 00:10:45,579
to get started how you can set up
Kubernetes on each no matter where or
542
00:10:45,579 --> 00:10:45,589
Kubernetes on each no matter where or
543
00:10:45,589 --> 00:10:48,250
Kubernetes on each no matter where or
what path you plan to choose or need in
544
00:10:48,250 --> 00:10:48,260
what path you plan to choose or need in
545
00:10:48,260 --> 00:10:57,730
what path you plan to choose or need in
your particular application in the
546
00:10:57,730 --> 00:10:57,740
your particular application in the
547
00:10:57,740 --> 00:10:59,290
your particular application in the
previous lecture we discussed how
548
00:10:59,290 --> 00:10:59,300
previous lecture we discussed how
549
00:10:59,300 --> 00:11:01,150
previous lecture we discussed how
Kubernetes can run linearly anywhere
550
00:11:01,150 --> 00:11:01,160
Kubernetes can run linearly anywhere
551
00:11:01,160 --> 00:11:03,910
Kubernetes can run linearly anywhere
Linux does on your laptop your own
552
00:11:03,910 --> 00:11:03,920
Linux does on your laptop your own
553
00:11:03,920 --> 00:11:06,310
Linux does on your laptop your own
server hardware a cloud provider or a
554
00:11:06,310 --> 00:11:06,320
server hardware a cloud provider or a
555
00:11:06,320 --> 00:11:09,130
server hardware a cloud provider or a
combination of them all in this lecture
556
00:11:09,130 --> 00:11:09,140
combination of them all in this lecture
557
00:11:09,140 --> 00:11:11,470
combination of them all in this lecture
we'll discuss with more specificity how
558
00:11:11,470 --> 00:11:11,480
we'll discuss with more specificity how
559
00:11:11,480 --> 00:11:14,639
we'll discuss with more specificity how
and where Kubernetes is deployed
560
00:11:14,639 --> 00:11:14,649
and where Kubernetes is deployed
561
00:11:14,649 --> 00:11:17,199
and where Kubernetes is deployed
Kubernetes has a healthy ecosystem that
562
00:11:17,199 --> 00:11:17,209
Kubernetes has a healthy ecosystem that
563
00:11:17,209 --> 00:11:19,690
Kubernetes has a healthy ecosystem that
carries with it many advantages as it
564
00:11:19,690 --> 00:11:19,700
carries with it many advantages as it
565
00:11:19,700 --> 00:11:21,550
carries with it many advantages as it
relates to setup and where Kubernetes
566
00:11:21,550 --> 00:11:21,560
relates to setup and where Kubernetes
567
00:11:21,560 --> 00:11:24,130
relates to setup and where Kubernetes
lives this means many people and
568
00:11:24,130 --> 00:11:24,140
lives this means many people and
569
00:11:24,140 --> 00:11:26,079
lives this means many people and
companies have created both formal and
570
00:11:26,079 --> 00:11:26,089
companies have created both formal and
571
00:11:26,089 --> 00:11:28,329
companies have created both formal and
informal support for Kubernetes use
572
00:11:28,329 --> 00:11:28,339
informal support for Kubernetes use
573
00:11:28,339 --> 00:11:31,509
informal support for Kubernetes use
cases for nearly anyone's needs for
574
00:11:31,509 --> 00:11:31,519
cases for nearly anyone's needs for
575
00:11:31,519 --> 00:11:33,880
cases for nearly anyone's needs for
evaluating and learning Kubernetes many
576
00:11:33,880 --> 00:11:33,890
evaluating and learning Kubernetes many
577
00:11:33,890 --> 00:11:36,550
evaluating and learning Kubernetes many
people choose the minikube distribution
578
00:11:36,550 --> 00:11:36,560
people choose the minikube distribution
579
00:11:36,560 --> 00:11:39,400
people choose the minikube distribution
of Kubernetes it sets up a Kubernetes
580
00:11:39,400 --> 00:11:39,410
of Kubernetes it sets up a Kubernetes
581
00:11:39,410 --> 00:11:42,160
of Kubernetes it sets up a Kubernetes
cluster locally on any modern Mac OS
582
00:11:42,160 --> 00:11:42,170
cluster locally on any modern Mac OS
583
00:11:42,170 --> 00:11:44,860
cluster locally on any modern Mac OS
Linux or Windows machine it is not
584
00:11:44,860 --> 00:11:44,870
Linux or Windows machine it is not
585
00:11:44,870 --> 00:11:46,930
Linux or Windows machine it is not
suitable for production by any means but
586
00:11:46,930 --> 00:11:46,940
suitable for production by any means but
587
00:11:46,940 --> 00:11:48,819
suitable for production by any means but
quite friendly and favorable for
588
00:11:48,819 --> 00:11:48,829
quite friendly and favorable for
589
00:11:48,829 --> 00:11:50,949
quite friendly and favorable for
development and evaluation needs as
590
00:11:50,949 --> 00:11:50,959
development and evaluation needs as
591
00:11:50,959 --> 00:11:52,840
development and evaluation needs as
changes are quickly and easily
592
00:11:52,840 --> 00:11:52,850
changes are quickly and easily
593
00:11:52,850 --> 00:11:55,689
changes are quickly and easily
propagated on to a local instance of
594
00:11:55,689 --> 00:11:55,699
propagated on to a local instance of
595
00:11:55,699 --> 00:11:58,389
propagated on to a local instance of
Kubernetes without any major networks to
596
00:11:58,389 --> 00:11:58,399
Kubernetes without any major networks to
597
00:11:58,399 --> 00:12:01,389
Kubernetes without any major networks to
slow you down for larger development or
598
00:12:01,389 --> 00:12:01,399
slow you down for larger development or
599
00:12:01,399 --> 00:12:03,699
slow you down for larger development or
staging work in production Kubernetes
600
00:12:03,699 --> 00:12:03,709
staging work in production Kubernetes
601
00:12:03,709 --> 00:12:06,430
staging work in production Kubernetes
can run on bare metal hardware or on
602
00:12:06,430 --> 00:12:06,440
can run on bare metal hardware or on
603
00:12:06,440 --> 00:12:08,860
can run on bare metal hardware or on
cloud providers many cloud providers
604
00:12:08,860 --> 00:12:08,870
cloud providers many cloud providers
605
00:12:08,870 --> 00:12:11,650
cloud providers many cloud providers
even provide a Kubernetes offering which
606
00:12:11,650 --> 00:12:11,660
even provide a Kubernetes offering which
607
00:12:11,660 --> 00:12:14,040
even provide a Kubernetes offering which
takes care of many of the more menial
608
00:12:14,040 --> 00:12:14,050
takes care of many of the more menial
609
00:12:14,050 --> 00:12:16,750
takes care of many of the more menial
administration configuration and other
610
00:12:16,750 --> 00:12:16,760
administration configuration and other
611
00:12:16,760 --> 00:12:18,730
administration configuration and other
tasks associated with running a
612
00:12:18,730 --> 00:12:18,740
tasks associated with running a
613
00:12:18,740 --> 00:12:21,550
tasks associated with running a
Kubernetes cluster for you google cloud
614
00:12:21,550 --> 00:12:21,560
Kubernetes cluster for you google cloud
615
00:12:21,560 --> 00:12:23,620
Kubernetes cluster for you google cloud
platform and as you ER offer mature
616
00:12:23,620 --> 00:12:23,630
platform and as you ER offer mature
617
00:12:23,630 --> 00:12:26,290
platform and as you ER offer mature
Kubernetes offerings that handle setup
618
00:12:26,290 --> 00:12:26,300
Kubernetes offerings that handle setup
619
00:12:26,300 --> 00:12:28,480
Kubernetes offerings that handle setup
management of your Kubernetes clusters
620
00:12:28,480 --> 00:12:28,490
management of your Kubernetes clusters
621
00:12:28,490 --> 00:12:31,300
management of your Kubernetes clusters
on their cloud with ease even through a
622
00:12:31,300 --> 00:12:31,310
on their cloud with ease even through a
623
00:12:31,310 --> 00:12:33,310
on their cloud with ease even through a
friendly web interface design and
624
00:12:33,310 --> 00:12:33,320
friendly web interface design and
625
00:12:33,320 --> 00:12:35,490
friendly web interface design and
integrated with their cloud consoles
626
00:12:35,490 --> 00:12:35,500
integrated with their cloud consoles
627
00:12:35,500 --> 00:12:37,689
integrated with their cloud consoles
Amazon is rumored to have one of their
628
00:12:37,689 --> 00:12:37,699
Amazon is rumored to have one of their
629
00:12:37,699 --> 00:12:39,519
Amazon is rumored to have one of their
own in development or to bring
630
00:12:39,519 --> 00:12:39,529
own in development or to bring
631
00:12:39,529 --> 00:12:40,750
own in development or to bring
Kubernetes compatibility
632
00:12:40,750 --> 00:12:40,760
Kubernetes compatibility
633
00:12:40,760 --> 00:12:42,760
Kubernetes compatibility
to their existing elastic container
634
00:12:42,760 --> 00:12:42,770
to their existing elastic container
635
00:12:42,770 --> 00:12:46,330
to their existing elastic container
service to do the same regardless of
636
00:12:46,330 --> 00:12:46,340
service to do the same regardless of
637
00:12:46,340 --> 00:12:48,610
service to do the same regardless of
where and how you run Kubernetes you can
638
00:12:48,610 --> 00:12:48,620
where and how you run Kubernetes you can
639
00:12:48,620 --> 00:12:50,080
where and how you run Kubernetes you can
always elect to stand up your own
640
00:12:50,080 --> 00:12:50,090
always elect to stand up your own
641
00:12:50,090 --> 00:12:52,060
always elect to stand up your own
Kubernetes cluster on any cloud
642
00:12:52,060 --> 00:12:52,070
Kubernetes cluster on any cloud
643
00:12:52,070 --> 00:12:53,890
Kubernetes cluster on any cloud
providers virtual machines if they do
644
00:12:53,890 --> 00:12:53,900
providers virtual machines if they do
645
00:12:53,900 --> 00:12:56,110
providers virtual machines if they do
not offer a Kubernetes service or if
646
00:12:56,110 --> 00:12:56,120
not offer a Kubernetes service or if
647
00:12:56,120 --> 00:12:57,400
not offer a Kubernetes service or if
you'd rather not use theirs
648
00:12:57,400 --> 00:12:57,410
you'd rather not use theirs
649
00:12:57,410 --> 00:12:59,680
you'd rather not use theirs
however most managed Kubernetes
650
00:12:59,680 --> 00:12:59,690
however most managed Kubernetes
651
00:12:59,690 --> 00:13:01,210
however most managed Kubernetes
offerings in the current marketplace
652
00:13:01,210 --> 00:13:01,220
offerings in the current marketplace
653
00:13:01,220 --> 00:13:04,120
offerings in the current marketplace
provide a good value for mini cluster
654
00:13:04,120 --> 00:13:04,130
provide a good value for mini cluster
655
00:13:04,130 --> 00:13:09,040
provide a good value for mini cluster
use cases Amazon does not yet offer a
656
00:13:09,040 --> 00:13:09,050
use cases Amazon does not yet offer a
657
00:13:09,050 --> 00:13:10,600
use cases Amazon does not yet offer a
Kubernetes service although with their
658
00:13:10,600 --> 00:13:10,610
Kubernetes service although with their
659
00:13:10,610 --> 00:13:13,660
Kubernetes service although with their
recent introduction into CNCF is all
660
00:13:13,660 --> 00:13:13,670
recent introduction into CNCF is all
661
00:13:13,670 --> 00:13:15,010
recent introduction into CNCF is all
but assured that one will be coming soon
662
00:13:15,010 --> 00:13:15,020
but assured that one will be coming soon
663
00:13:15,020 --> 00:13:17,380
but assured that one will be coming soon
in some form of the other running
664
00:13:17,380 --> 00:13:17,390
in some form of the other running
665
00:13:17,390 --> 00:13:19,300
in some form of the other running
Kubernetes on Amazon Web Services
666
00:13:19,300 --> 00:13:19,310
Kubernetes on Amazon Web Services
667
00:13:19,310 --> 00:13:21,130
Kubernetes on Amazon Web Services
requires the user to set up Kubernetes
668
00:13:21,130 --> 00:13:21,140
requires the user to set up Kubernetes
669
00:13:21,140 --> 00:13:23,260
requires the user to set up Kubernetes
on virtual machines and configure
670
00:13:23,260 --> 00:13:23,270
on virtual machines and configure
671
00:13:23,270 --> 00:13:25,840
on virtual machines and configure
networking either on their own or using
672
00:13:25,840 --> 00:13:25,850
networking either on their own or using
673
00:13:25,850 --> 00:13:28,750
networking either on their own or using
the CNCF managed Kay ops deployment
674
00:13:28,750 --> 00:13:28,760
the CNCF managed Kay ops deployment
675
00:13:28,760 --> 00:13:31,900
the CNCF managed Kay ops deployment
tool set using cops whenever possible is
676
00:13:31,900 --> 00:13:31,910
tool set using cops whenever possible is
677
00:13:31,910 --> 00:13:34,300
tool set using cops whenever possible is
highly recommended as it reduces error
678
00:13:34,300 --> 00:13:34,310
highly recommended as it reduces error
679
00:13:34,310 --> 00:13:36,310
highly recommended as it reduces error
simplifies the work and maintains
680
00:13:36,310 --> 00:13:36,320
simplifies the work and maintains
681
00:13:36,320 --> 00:13:40,660
simplifies the work and maintains
consistency naturally as the birthplace
682
00:13:40,660 --> 00:13:40,670
consistency naturally as the birthplace
683
00:13:40,670 --> 00:13:43,060
consistency naturally as the birthplace
of Kubernetes Google cloud platform has
684
00:13:43,060 --> 00:13:43,070
of Kubernetes Google cloud platform has
685
00:13:43,070 --> 00:13:45,070
of Kubernetes Google cloud platform has
mature support for Kubernetes as a
686
00:13:45,070 --> 00:13:45,080
mature support for Kubernetes as a
687
00:13:45,080 --> 00:13:46,870
mature support for Kubernetes as a
manage software offering through its
688
00:13:46,870 --> 00:13:46,880
manage software offering through its
689
00:13:46,880 --> 00:13:48,580
manage software offering through its
Google container engine product as
690
00:13:48,580 --> 00:13:48,590
Google container engine product as
691
00:13:48,590 --> 00:13:50,580
Google container engine product as
you'll see later in this video series
692
00:13:50,580 --> 00:13:50,590
you'll see later in this video series
693
00:13:50,590 --> 00:13:53,620
you'll see later in this video series
Kubernetes setup requires a master a few
694
00:13:53,620 --> 00:13:53,630
Kubernetes setup requires a master a few
695
00:13:53,630 --> 00:13:55,770
Kubernetes setup requires a master a few
data stores and the like to function
696
00:13:55,770 --> 00:13:55,780
data stores and the like to function
697
00:13:55,780 --> 00:13:58,270
data stores and the like to function
Google cloud platforms container engine
698
00:13:58,270 --> 00:13:58,280
Google cloud platforms container engine
699
00:13:58,280 --> 00:14:00,460
Google cloud platforms container engine
offering abstracts these away and
700
00:14:00,460 --> 00:14:00,470
offering abstracts these away and
701
00:14:00,470 --> 00:14:02,440
offering abstracts these away and
provides a management interface in their
702
00:14:02,440 --> 00:14:02,450
provides a management interface in their
703
00:14:02,450 --> 00:14:04,870
provides a management interface in their
cloud console for these items of course
704
00:14:04,870 --> 00:14:04,880
cloud console for these items of course
705
00:14:04,880 --> 00:14:06,460
cloud console for these items of course
you can always set up your own cluster
706
00:14:06,460 --> 00:14:06,470
you can always set up your own cluster
707
00:14:06,470 --> 00:14:09,280
you can always set up your own cluster
on bare virtual machines to manually or
708
00:14:09,280 --> 00:14:09,290
on bare virtual machines to manually or
709
00:14:09,290 --> 00:14:11,620
on bare virtual machines to manually or
using cops however if the economics of
710
00:14:11,620 --> 00:14:11,630
using cops however if the economics of
711
00:14:11,630 --> 00:14:13,480
using cops however if the economics of
container engine are reasonable it's
712
00:14:13,480 --> 00:14:13,490
container engine are reasonable it's
713
00:14:13,490 --> 00:14:15,790
container engine are reasonable it's
always wise to consider their managed
714
00:14:15,790 --> 00:14:15,800
always wise to consider their managed
715
00:14:15,800 --> 00:14:17,800
always wise to consider their managed
service to avoid having to run and
716
00:14:17,800 --> 00:14:17,810
service to avoid having to run and
717
00:14:17,810 --> 00:14:19,810
service to avoid having to run and
maintain certain parts for Kubernetes
718
00:14:19,810 --> 00:14:19,820
maintain certain parts for Kubernetes
719
00:14:19,820 --> 00:14:23,470
maintain certain parts for Kubernetes
infrastructure for developing and
720
00:14:23,470 --> 00:14:23,480
infrastructure for developing and
721
00:14:23,480 --> 00:14:26,200
infrastructure for developing and
testing with applications on Kubernetes
722
00:14:26,200 --> 00:14:26,210
testing with applications on Kubernetes
723
00:14:26,210 --> 00:14:28,570
testing with applications on Kubernetes
and especially training it rarely makes
724
00:14:28,570 --> 00:14:28,580
and especially training it rarely makes
725
00:14:28,580 --> 00:14:30,370
and especially training it rarely makes
sense to stand up a large Kubernetes
726
00:14:30,370 --> 00:14:30,380
sense to stand up a large Kubernetes
727
00:14:30,380 --> 00:14:32,830
sense to stand up a large Kubernetes
cluster in the cloud so minikube has
728
00:14:32,830 --> 00:14:32,840
cluster in the cloud so minikube has
729
00:14:32,840 --> 00:14:34,840
cluster in the cloud so minikube has
been created to allow you to run the
730
00:14:34,840 --> 00:14:34,850
been created to allow you to run the
731
00:14:34,850 --> 00:14:37,090
been created to allow you to run the
actual Kubernetes code locally on your
732
00:14:37,090 --> 00:14:37,100
actual Kubernetes code locally on your
733
00:14:37,100 --> 00:14:39,850
actual Kubernetes code locally on your
machine to avoid the complexity expense
734
00:14:39,850 --> 00:14:39,860
machine to avoid the complexity expense
735
00:14:39,860 --> 00:14:42,730
machine to avoid the complexity expense
and slow response time of a full remote
736
00:14:42,730 --> 00:14:42,740
and slow response time of a full remote
737
00:14:42,740 --> 00:14:45,190
and slow response time of a full remote
cluster we'll use minikube in this
738
00:14:45,190 --> 00:14:45,200
cluster we'll use minikube in this
739
00:14:45,200 --> 00:14:47,740
cluster we'll use minikube in this
video series almost extensively and
740
00:14:47,740 --> 00:14:47,750
video series almost extensively and
741
00:14:47,750 --> 00:14:50,770
video series almost extensively and
exclusively for just this purpose mini
742
00:14:50,770 --> 00:14:50,780
exclusively for just this purpose mini
743
00:14:50,780 --> 00:14:52,390
exclusively for just this purpose mini
coop is well supported for development
744
00:14:52,390 --> 00:14:52,400
coop is well supported for development
745
00:14:52,400 --> 00:14:54,489
coop is well supported for development
testing however it is not a product
746
00:14:54,489 --> 00:14:54,499
testing however it is not a product
747
00:14:54,499 --> 00:14:57,189
testing however it is not a product
technology it runs the actual Kubernetes
748
00:14:57,189 --> 00:14:57,199
technology it runs the actual Kubernetes
749
00:14:57,199 --> 00:14:57,729
technology it runs the actual Kubernetes
codes
750
00:14:57,729 --> 00:14:57,739
codes
751
00:14:57,739 --> 00:14:59,979
codes
it is not emulation however running
752
00:14:59,979 --> 00:14:59,989
it is not emulation however running
753
00:14:59,989 --> 00:15:02,469
it is not emulation however running
Kubernetes locally defeats many of the
754
00:15:02,469 --> 00:15:02,479
Kubernetes locally defeats many of the
755
00:15:02,479 --> 00:15:04,269
Kubernetes locally defeats many of the
purposes of container orchestration and
756
00:15:04,269 --> 00:15:04,279
purposes of container orchestration and
757
00:15:04,279 --> 00:15:06,549
purposes of container orchestration and
cannot be relied upon for production
758
00:15:06,549 --> 00:15:06,559
cannot be relied upon for production
759
00:15:06,559 --> 00:15:09,579
cannot be relied upon for production
workloads but it is very convenient for
760
00:15:09,579 --> 00:15:09,589
workloads but it is very convenient for
761
00:15:09,589 --> 00:15:11,529
workloads but it is very convenient for
training and evaluation so we'll
762
00:15:11,529 --> 00:15:11,539
training and evaluation so we'll
763
00:15:11,539 --> 00:15:13,539
training and evaluation so we'll
leverage it extensively for this that is
764
00:15:13,539 --> 00:15:13,549
leverage it extensively for this that is
765
00:15:13,549 --> 00:15:25,989
leverage it extensively for this that is
excels in this area the previous three
766
00:15:25,989 --> 00:15:25,999
excels in this area the previous three
767
00:15:25,999 --> 00:15:27,639
excels in this area the previous three
lectures have focused on setting the
768
00:15:27,639 --> 00:15:27,649
lectures have focused on setting the
769
00:15:27,649 --> 00:15:29,829
lectures have focused on setting the
stage for why containers and container
770
00:15:29,829 --> 00:15:29,839
stage for why containers and container
771
00:15:29,839 --> 00:15:32,439
stage for why containers and container
orchestration are so important by this
772
00:15:32,439 --> 00:15:32,449
orchestration are so important by this
773
00:15:32,449 --> 00:15:34,959
orchestration are so important by this
point you may be wondering with software
774
00:15:34,959 --> 00:15:34,969
point you may be wondering with software
775
00:15:34,969 --> 00:15:37,419
point you may be wondering with software
dedicated to such large tasks at such
776
00:15:37,419 --> 00:15:37,429
dedicated to such large tasks at such
777
00:15:37,429 --> 00:15:40,179
dedicated to such large tasks at such
large scale how does one get started and
778
00:15:40,179 --> 00:15:40,189
large scale how does one get started and
779
00:15:40,189 --> 00:15:42,669
large scale how does one get started and
interact with it in a manageable easy
780
00:15:42,669 --> 00:15:42,679
interact with it in a manageable easy
781
00:15:42,679 --> 00:15:45,669
interact with it in a manageable easy
way luckily there's a very good answer
782
00:15:45,669 --> 00:15:45,679
way luckily there's a very good answer
783
00:15:45,679 --> 00:15:47,949
way luckily there's a very good answer
to this question that's easy to approach
784
00:15:47,949 --> 00:15:47,959
to this question that's easy to approach
785
00:15:47,959 --> 00:15:51,339
to this question that's easy to approach
and easy to get started with as we
786
00:15:51,339 --> 00:15:51,349
and easy to get started with as we
787
00:15:51,349 --> 00:15:53,229
and easy to get started with as we
discussed in the last lecture this is
788
00:15:53,229 --> 00:15:53,239
discussed in the last lecture this is
789
00:15:53,239 --> 00:15:54,869
discussed in the last lecture this is
what minikube is all about a
790
00:15:54,869 --> 00:15:54,879
what minikube is all about a
791
00:15:54,879 --> 00:15:57,459
what minikube is all about a
distribution and package of the actual
792
00:15:57,459 --> 00:15:57,469
distribution and package of the actual
793
00:15:57,469 --> 00:15:59,949
distribution and package of the actual
Kubernetes code that runs and an entire
794
00:15:59,949 --> 00:15:59,959
Kubernetes code that runs and an entire
795
00:15:59,959 --> 00:16:02,169
Kubernetes code that runs and an entire
Kubernetes cluster on your laptop
796
00:16:02,169 --> 00:16:02,179
Kubernetes cluster on your laptop
797
00:16:02,179 --> 00:16:04,779
Kubernetes cluster on your laptop
remember minikube isn't something you'd
798
00:16:04,779 --> 00:16:04,789
remember minikube isn't something you'd
799
00:16:04,789 --> 00:16:06,039
remember minikube isn't something you'd
want to use in production or even
800
00:16:06,039 --> 00:16:06,049
want to use in production or even
801
00:16:06,049 --> 00:16:08,679
want to use in production or even
staging for an application what makes it
802
00:16:08,679 --> 00:16:08,689
staging for an application what makes it
803
00:16:08,689 --> 00:16:10,359
staging for an application what makes it
great for training development and
804
00:16:10,359 --> 00:16:10,369
great for training development and
805
00:16:10,369 --> 00:16:12,369
great for training development and
learning makes it quite useless for
806
00:16:12,369 --> 00:16:12,379
learning makes it quite useless for
807
00:16:12,379 --> 00:16:14,529
learning makes it quite useless for
production it's a great way to get into
808
00:16:14,529 --> 00:16:14,539
production it's a great way to get into
809
00:16:14,539 --> 00:16:16,839
production it's a great way to get into
Kubernetes quickly easily and without
810
00:16:16,839 --> 00:16:16,849
Kubernetes quickly easily and without
811
00:16:16,849 --> 00:16:18,969
Kubernetes quickly easily and without
the headache and hassle of a number of
812
00:16:18,969 --> 00:16:18,979
the headache and hassle of a number of
813
00:16:18,979 --> 00:16:20,379
the headache and hassle of a number of
other things that are required for
814
00:16:20,379 --> 00:16:20,389
other things that are required for
815
00:16:20,389 --> 00:16:22,809
other things that are required for
production use let's get started by
816
00:16:22,809 --> 00:16:22,819
production use let's get started by
817
00:16:22,819 --> 00:16:25,149
production use let's get started by
installing Kubernetes but first make
818
00:16:25,149 --> 00:16:25,159
installing Kubernetes but first make
819
00:16:25,159 --> 00:16:26,679
installing Kubernetes but first make
sure you have a Linux machine with the
820
00:16:26,679 --> 00:16:26,689
sure you have a Linux machine with the
821
00:16:26,689 --> 00:16:28,659
sure you have a Linux machine with the
latest version of VirtualBox installed
822
00:16:28,659 --> 00:16:28,669
latest version of VirtualBox installed
823
00:16:28,669 --> 00:16:30,939
latest version of VirtualBox installed
or a Mac with the latest version of
824
00:16:30,939 --> 00:16:30,949
or a Mac with the latest version of
825
00:16:30,949 --> 00:16:36,489
or a Mac with the latest version of
VirtualBox or VMware fusion as we setup
826
00:16:36,489 --> 00:16:36,499
VirtualBox or VMware fusion as we setup
827
00:16:36,499 --> 00:16:38,379
VirtualBox or VMware fusion as we setup
minikube take notice of how we interact
828
00:16:38,379 --> 00:16:38,389
minikube take notice of how we interact
829
00:16:38,389 --> 00:16:40,539
minikube take notice of how we interact
with it the patterns of the commands and
830
00:16:40,539 --> 00:16:40,549
with it the patterns of the commands and
831
00:16:40,549 --> 00:16:42,219
with it the patterns of the commands and
the light how they're structured for
832
00:16:42,219 --> 00:16:42,229
the light how they're structured for
833
00:16:42,229 --> 00:16:44,289
the light how they're structured for
example these should be pretty familiar
834
00:16:44,289 --> 00:16:44,299
example these should be pretty familiar
835
00:16:44,299 --> 00:16:46,569
example these should be pretty familiar
if not identical to how you work with
836
00:16:46,569 --> 00:16:46,579
if not identical to how you work with
837
00:16:46,579 --> 00:16:48,759
if not identical to how you work with
full Kubernetes clusters buggers
838
00:16:48,759 --> 00:16:48,769
full Kubernetes clusters buggers
839
00:16:48,769 --> 00:16:50,619
full Kubernetes clusters buggers
remember minikube is the actual
840
00:16:50,619 --> 00:16:50,629
remember minikube is the actual
841
00:16:50,629 --> 00:16:52,479
remember minikube is the actual
Kubernetes code and we will use the
842
00:16:52,479 --> 00:16:52,489
Kubernetes code and we will use the
843
00:16:52,489 --> 00:16:54,879
Kubernetes code and we will use the
actual Kubernetes command-line tools to
844
00:16:54,879 --> 00:16:54,889
actual Kubernetes command-line tools to
845
00:16:54,889 --> 00:16:56,949
actual Kubernetes command-line tools to
interact with it just as if it was a
846
00:16:56,949 --> 00:16:56,959
interact with it just as if it was a
847
00:16:56,959 --> 00:17:01,749
interact with it just as if it was a
full production remote cluster as we've
848
00:17:01,749 --> 00:17:01,759
full production remote cluster as we've
849
00:17:01,759 --> 00:17:03,489
full production remote cluster as we've
mentioned before minikube requires
850
00:17:03,489 --> 00:17:03,499
mentioned before minikube requires
851
00:17:03,499 --> 00:17:06,039
mentioned before minikube requires
Linux or Mac machines capable of
852
00:17:06,039 --> 00:17:06,049
Linux or Mac machines capable of
853
00:17:06,049 --> 00:17:07,809
Linux or Mac machines capable of
virtualization where the hypervisor
854
00:17:07,809 --> 00:17:07,819
virtualization where the hypervisor
855
00:17:07,819 --> 00:17:08,559
virtualization where the hypervisor
installed
856
00:17:08,559 --> 00:17:08,569
installed
857
00:17:08,569 --> 00:17:11,249
installed
on Mac OS this can be any number of
858
00:17:11,249 --> 00:17:11,259
on Mac OS this can be any number of
859
00:17:11,259 --> 00:17:15,370
on Mac OS this can be any number of
hypervisors such as X hy-vee VirtualBox
860
00:17:15,370 --> 00:17:15,380
hypervisors such as X hy-vee VirtualBox
861
00:17:15,380 --> 00:17:18,340
hypervisors such as X hy-vee VirtualBox
or VMware fusion on Linux this can be
862
00:17:18,340 --> 00:17:18,350
or VMware fusion on Linux this can be
863
00:17:18,350 --> 00:17:22,240
or VMware fusion on Linux this can be
VirtualBox or k vm virtualbox is by far
864
00:17:22,240 --> 00:17:22,250
VirtualBox or k vm virtualbox is by far
865
00:17:22,250 --> 00:17:24,129
VirtualBox or k vm virtualbox is by far
the most popular and is available at
866
00:17:24,129 --> 00:17:24,139
the most popular and is available at
867
00:17:24,139 --> 00:17:29,789
the most popular and is available at
HTTP colon slash slash W whi Box org
868
00:17:29,789 --> 00:17:29,799
HTTP colon slash slash W whi Box org
869
00:17:29,799 --> 00:17:32,049
HTTP colon slash slash W whi Box org
we'll start with installing a package
870
00:17:32,049 --> 00:17:32,059
we'll start with installing a package
871
00:17:32,059 --> 00:17:34,840
we'll start with installing a package
called kubectl this is the command line
872
00:17:34,840 --> 00:17:34,850
called kubectl this is the command line
873
00:17:34,850 --> 00:17:36,789
called kubectl this is the command line
control tools for Kubernetes clusters
874
00:17:36,789 --> 00:17:36,799
control tools for Kubernetes clusters
875
00:17:36,799 --> 00:17:39,580
control tools for Kubernetes clusters
whether it's a minikube or a full-blown
876
00:17:39,580 --> 00:17:39,590
whether it's a minikube or a full-blown
877
00:17:39,590 --> 00:17:42,100
whether it's a minikube or a full-blown
cloud hosted cluster you will use this
878
00:17:42,100 --> 00:17:42,110
cloud hosted cluster you will use this
879
00:17:42,110 --> 00:17:44,169
cloud hosted cluster you will use this
command line package to interact with
880
00:17:44,169 --> 00:17:44,179
command line package to interact with
881
00:17:44,179 --> 00:17:46,090
command line package to interact with
your cluster of choice including the
882
00:17:46,090 --> 00:17:46,100
your cluster of choice including the
883
00:17:46,100 --> 00:17:48,090
your cluster of choice including the
minikube cluster we're setting up today
884
00:17:48,090 --> 00:17:48,100
minikube cluster we're setting up today
885
00:17:48,100 --> 00:17:50,590
minikube cluster we're setting up today
then we'll actually install minikube
886
00:17:50,590 --> 00:17:50,600
then we'll actually install minikube
887
00:17:50,600 --> 00:17:52,330
then we'll actually install minikube
and go through a few basic commands on
888
00:17:52,330 --> 00:17:52,340
and go through a few basic commands on
889
00:17:52,340 --> 00:17:56,740
and go through a few basic commands on
how to work with it as we dive into our
890
00:17:56,740 --> 00:17:56,750
how to work with it as we dive into our
891
00:17:56,750 --> 00:17:58,570
how to work with it as we dive into our
first hands-on example it's time to
892
00:17:58,570 --> 00:17:58,580
first hands-on example it's time to
893
00:17:58,580 --> 00:18:00,279
first hands-on example it's time to
discuss a bit of detail as to how
894
00:18:00,279 --> 00:18:00,289
discuss a bit of detail as to how
895
00:18:00,289 --> 00:18:02,470
discuss a bit of detail as to how
Kubernetes organizes concepts and a bit
896
00:18:02,470 --> 00:18:02,480
Kubernetes organizes concepts and a bit
897
00:18:02,480 --> 00:18:04,210
Kubernetes organizes concepts and a bit
of terminology so this will all make
898
00:18:04,210 --> 00:18:04,220
of terminology so this will all make
899
00:18:04,220 --> 00:18:07,149
of terminology so this will all make
sense first a central concept in
900
00:18:07,149 --> 00:18:07,159
sense first a central concept in
901
00:18:07,159 --> 00:18:09,549
sense first a central concept in
Kubernetes is the deployment it is a
902
00:18:09,549 --> 00:18:09,559
Kubernetes is the deployment it is a
903
00:18:09,559 --> 00:18:12,460
Kubernetes is the deployment it is a
large general high-level construct that
904
00:18:12,460 --> 00:18:12,470
large general high-level construct that
905
00:18:12,470 --> 00:18:14,470
large general high-level construct that
groups together the various parts of an
906
00:18:14,470 --> 00:18:14,480
groups together the various parts of an
907
00:18:14,480 --> 00:18:17,320
groups together the various parts of an
application you can for now consider a
908
00:18:17,320 --> 00:18:17,330
application you can for now consider a
909
00:18:17,330 --> 00:18:19,269
application you can for now consider a
deployment to be akin to an application
910
00:18:19,269 --> 00:18:19,279
deployment to be akin to an application
911
00:18:19,279 --> 00:18:21,220
deployment to be akin to an application
that you'd like to deploy thus the name
912
00:18:21,220 --> 00:18:21,230
that you'd like to deploy thus the name
913
00:18:21,230 --> 00:18:24,940
that you'd like to deploy thus the name
deployment second deployments have pods
914
00:18:24,940 --> 00:18:24,950
deployment second deployments have pods
915
00:18:24,950 --> 00:18:27,519
deployment second deployments have pods
a pod is a group of one or more
916
00:18:27,519 --> 00:18:27,529
a pod is a group of one or more
917
00:18:27,529 --> 00:18:30,549
a pod is a group of one or more
containers for an application a pod is
918
00:18:30,549 --> 00:18:30,559
containers for an application a pod is
919
00:18:30,559 --> 00:18:32,649
containers for an application a pod is
an instance of a container image and
920
00:18:32,649 --> 00:18:32,659
an instance of a container image and
921
00:18:32,659 --> 00:18:34,360
an instance of a container image and
there can be many of them in a
922
00:18:34,360 --> 00:18:34,370
there can be many of them in a
923
00:18:34,370 --> 00:18:36,299
there can be many of them in a
deployment as needed
924
00:18:36,299 --> 00:18:36,309
deployment as needed
925
00:18:36,309 --> 00:18:40,360
deployment as needed
third services are endpoints that expose
926
00:18:40,360 --> 00:18:40,370
third services are endpoints that expose
927
00:18:40,370 --> 00:18:42,340
third services are endpoints that expose
network ports to the outside world and
928
00:18:42,340 --> 00:18:42,350
network ports to the outside world and
929
00:18:42,350 --> 00:18:44,889
network ports to the outside world and
our map to a port on a given pod for a
930
00:18:44,889 --> 00:18:44,899
our map to a port on a given pod for a
931
00:18:44,899 --> 00:18:47,590
our map to a port on a given pod for a
deployment this is how end-users or in
932
00:18:47,590 --> 00:18:47,600
deployment this is how end-users or in
933
00:18:47,600 --> 00:18:50,259
deployment this is how end-users or in
your mediate services might access the
934
00:18:50,259 --> 00:18:50,269
your mediate services might access the
935
00:18:50,269 --> 00:18:54,039
your mediate services might access the
services exposed by your pod or your
936
00:18:54,039 --> 00:18:54,049
services exposed by your pod or your
937
00:18:54,049 --> 00:18:56,999
services exposed by your pod or your
container image you're looking to deploy
938
00:18:56,999 --> 00:18:57,009
container image you're looking to deploy
939
00:18:57,009 --> 00:18:59,529
container image you're looking to deploy
there are various types of services that
940
00:18:59,529 --> 00:18:59,539
there are various types of services that
941
00:18:59,539 --> 00:19:01,119
there are various types of services that
we'll get into later in the lecture
942
00:19:01,119 --> 00:19:01,129
we'll get into later in the lecture
943
00:19:01,129 --> 00:19:03,730
we'll get into later in the lecture
series for now just consider services as
944
00:19:03,730 --> 00:19:03,740
series for now just consider services as
945
00:19:03,740 --> 00:19:09,149
series for now just consider services as
network ports that expose an application
946
00:19:09,159 --> 00:19:12,519
first let's install kubectl the
947
00:19:12,519 --> 00:19:12,529
first let's install kubectl the
948
00:19:12,529 --> 00:19:14,259
first let's install kubectl the
command-line utility used to interact
949
00:19:14,259 --> 00:19:14,269
command-line utility used to interact
950
00:19:14,269 --> 00:19:16,269
command-line utility used to interact
with Kubernetes clusters you will use
951
00:19:16,269 --> 00:19:16,279
with Kubernetes clusters you will use
952
00:19:16,279 --> 00:19:18,100
with Kubernetes clusters you will use
this tool for both our local minikube
953
00:19:18,100 --> 00:19:18,110
this tool for both our local minikube
954
00:19:18,110 --> 00:19:19,869
this tool for both our local minikube
instance and any remote customers you
955
00:19:19,869 --> 00:19:19,879
instance and any remote customers you
956
00:19:19,879 --> 00:19:20,820
instance and any remote customers you
may manage or
957
00:19:20,820 --> 00:19:20,830
may manage or
958
00:19:20,830 --> 00:19:23,400
may manage or
with these installation instructions are
959
00:19:23,400 --> 00:19:23,410
with these installation instructions are
960
00:19:23,410 --> 00:19:26,010
with these installation instructions are
built against Kubernetes 1.8 and guide
961
00:19:26,010 --> 00:19:26,020
built against Kubernetes 1.8 and guide
962
00:19:26,020 --> 00:19:27,750
built against Kubernetes 1.8 and guide
you through manually installing and
963
00:19:27,750 --> 00:19:27,760
you through manually installing and
964
00:19:27,760 --> 00:19:30,600
you through manually installing and
downloading the kubectl executable and
965
00:19:30,600 --> 00:19:30,610
downloading the kubectl executable and
966
00:19:30,610 --> 00:19:33,360
downloading the kubectl executable and
installing it into your path if you're
967
00:19:33,360 --> 00:19:33,370
installing it into your path if you're
968
00:19:33,370 --> 00:19:34,950
installing it into your path if you're
familiar and comfortable with your
969
00:19:34,950 --> 00:19:34,960
familiar and comfortable with your
970
00:19:34,960 --> 00:19:36,600
familiar and comfortable with your
specific operating systems package
971
00:19:36,600 --> 00:19:36,610
specific operating systems package
972
00:19:36,610 --> 00:19:38,850
specific operating systems package
manager options it may be beneficial to
973
00:19:38,850 --> 00:19:38,860
manager options it may be beneficial to
974
00:19:38,860 --> 00:19:40,620
manager options it may be beneficial to
you such a route to install and maintain
975
00:19:40,620 --> 00:19:40,630
you such a route to install and maintain
976
00:19:40,630 --> 00:19:44,490
you such a route to install and maintain
the latest version for example on Mac OS
977
00:19:44,490 --> 00:19:44,500
the latest version for example on Mac OS
978
00:19:44,500 --> 00:19:46,560
the latest version for example on Mac OS
the homebrew package manager provides
979
00:19:46,560 --> 00:19:46,570
the homebrew package manager provides
980
00:19:46,570 --> 00:19:48,690
the homebrew package manager provides
simple and straightforward installation
981
00:19:48,690 --> 00:19:48,700
simple and straightforward installation
982
00:19:48,700 --> 00:19:50,880
simple and straightforward installation
and maintenance of the kubectl package
983
00:19:50,880 --> 00:19:50,890
and maintenance of the kubectl package
984
00:19:50,890 --> 00:19:53,700
and maintenance of the kubectl package
and several unofficial debian sources
985
00:19:53,700 --> 00:19:53,710
and several unofficial debian sources
986
00:19:53,710 --> 00:19:55,650
and several unofficial debian sources
exist for use with the app package
987
00:19:55,650 --> 00:19:55,660
exist for use with the app package
988
00:19:55,660 --> 00:19:58,100
exist for use with the app package
system on various Linux distributions if
989
00:19:58,100 --> 00:19:58,110
system on various Linux distributions if
990
00:19:58,110 --> 00:20:01,290
system on various Linux distributions if
you're comfortable and aware of how to
991
00:20:01,290 --> 00:20:01,300
you're comfortable and aware of how to
992
00:20:01,300 --> 00:20:03,000
you're comfortable and aware of how to
use your operating systems package
993
00:20:03,000 --> 00:20:03,010
use your operating systems package
994
00:20:03,010 --> 00:20:03,570
use your operating systems package
manager
995
00:20:03,570 --> 00:20:03,580
manager
996
00:20:03,580 --> 00:20:05,790
manager
we recommend using it to install and
997
00:20:05,790 --> 00:20:05,800
we recommend using it to install and
998
00:20:05,800 --> 00:20:08,720
we recommend using it to install and
maintain the kubectl command set
999
00:20:08,720 --> 00:20:08,730
maintain the kubectl command set
1000
00:20:08,730 --> 00:20:11,130
maintain the kubectl command set
you can skip these installation
1001
00:20:11,130 --> 00:20:11,140
you can skip these installation
1002
00:20:11,140 --> 00:20:12,720
you can skip these installation
instructions if you'd like to use your
1003
00:20:12,720 --> 00:20:12,730
instructions if you'd like to use your
1004
00:20:12,730 --> 00:20:17,490
instructions if you'd like to use your
operating systems package manager if so
1005
00:20:17,490 --> 00:20:17,500
operating systems package manager if so
1006
00:20:17,500 --> 00:20:19,770
operating systems package manager if so
rejoin us on the next slide for testing
1007
00:20:19,770 --> 00:20:19,780
rejoin us on the next slide for testing
1008
00:20:19,780 --> 00:20:21,630
rejoin us on the next slide for testing
your installation and moving on to mini
1009
00:20:21,630 --> 00:20:21,640
your installation and moving on to mini
1010
00:20:21,640 --> 00:20:25,590
your installation and moving on to mini
Kubb we'll begin by using google to find
1011
00:20:25,590 --> 00:20:25,600
Kubb we'll begin by using google to find
1012
00:20:25,600 --> 00:20:27,930
Kubb we'll begin by using google to find
the appropriate documentation let's
1013
00:20:27,930 --> 00:20:27,940
the appropriate documentation let's
1014
00:20:27,940 --> 00:20:32,880
the appropriate documentation let's
Google install and setup kubectl the
1015
00:20:32,880 --> 00:20:32,890
Google install and setup kubectl the
1016
00:20:32,890 --> 00:20:34,020
Google install and setup kubectl the
first hits exactly what we're looking
1017
00:20:34,020 --> 00:20:34,030
first hits exactly what we're looking
1018
00:20:34,030 --> 00:20:36,180
first hits exactly what we're looking
for the Kubernetes documentation on
1019
00:20:36,180 --> 00:20:36,190
for the Kubernetes documentation on
1020
00:20:36,190 --> 00:20:40,890
for the Kubernetes documentation on
setting up kubectl let's go here and
1021
00:20:40,890 --> 00:20:40,900
setting up kubectl let's go here and
1022
00:20:40,900 --> 00:20:44,190
setting up kubectl let's go here and
scroll down to the area that includes
1023
00:20:44,190 --> 00:20:44,200
scroll down to the area that includes
1024
00:20:44,200 --> 00:20:47,150
scroll down to the area that includes
the URL to download for our platform
1025
00:20:47,150 --> 00:20:47,160
the URL to download for our platform
1026
00:20:47,160 --> 00:20:51,840
the URL to download for our platform
we'll choose Linux let's copy the URL
1027
00:20:51,840 --> 00:20:51,850
we'll choose Linux let's copy the URL
1028
00:20:51,850 --> 00:20:53,850
we'll choose Linux let's copy the URL
and the command all at once so we don't
1029
00:20:53,850 --> 00:20:53,860
and the command all at once so we don't
1030
00:20:53,860 --> 00:20:56,790
and the command all at once so we don't
have to retype it with this copy to our
1031
00:20:56,790 --> 00:20:56,800
have to retype it with this copy to our
1032
00:20:56,800 --> 00:20:58,860
have to retype it with this copy to our
clipboard will now begin installation
1033
00:20:58,860 --> 00:20:58,870
clipboard will now begin installation
1034
00:20:58,870 --> 00:21:02,190
clipboard will now begin installation
and remember we copied the URL but
1035
00:21:02,190 --> 00:21:02,200
and remember we copied the URL but
1036
00:21:02,200 --> 00:21:03,780
and remember we copied the URL but
you're also free to copy subsequent
1037
00:21:03,780 --> 00:21:03,790
you're also free to copy subsequent
1038
00:21:03,790 --> 00:21:04,950
you're also free to copy subsequent
commands out of the Kubernetes
1039
00:21:04,950 --> 00:21:04,960
commands out of the Kubernetes
1040
00:21:04,960 --> 00:21:06,450
commands out of the Kubernetes
documentation if you'd like to avoid
1041
00:21:06,450 --> 00:21:06,460
documentation if you'd like to avoid
1042
00:21:06,460 --> 00:21:09,260
documentation if you'd like to avoid
retyping them
1043
00:21:09,260 --> 00:21:09,270
retyping them
1044
00:21:09,270 --> 00:21:11,400
retyping them
we'll start by downloading the
1045
00:21:11,400 --> 00:21:11,410
we'll start by downloading the
1046
00:21:11,410 --> 00:21:13,049
we'll start by downloading the
appropriate package for our operating
1047
00:21:13,049 --> 00:21:13,059
appropriate package for our operating
1048
00:21:13,059 --> 00:21:17,310
appropriate package for our operating
system in this case Linux once the
1049
00:21:17,310 --> 00:21:17,320
system in this case Linux once the
1050
00:21:17,320 --> 00:21:18,690
system in this case Linux once the
download is completed we'll make it
1051
00:21:18,690 --> 00:21:18,700
download is completed we'll make it
1052
00:21:18,700 --> 00:21:20,640
download is completed we'll make it
executable this step is not required on
1053
00:21:20,640 --> 00:21:20,650
executable this step is not required on
1054
00:21:20,650 --> 00:21:26,070
executable this step is not required on
Windows now we'll finally copy it into
1055
00:21:26,070 --> 00:21:26,080
Windows now we'll finally copy it into
1056
00:21:26,080 --> 00:21:27,930
Windows now we'll finally copy it into
our path so it's executable no matter
1057
00:21:27,930 --> 00:21:27,940
our path so it's executable no matter
1058
00:21:27,940 --> 00:21:32,299
our path so it's executable no matter
what directory we might be in
1059
00:21:32,309 --> 00:21:34,860
now that you have kubectl installed
1060
00:21:34,860 --> 00:21:34,870
now that you have kubectl installed
1061
00:21:34,870 --> 00:21:36,570
now that you have kubectl installed
let's check to make sure it works
1062
00:21:36,570 --> 00:21:36,580
let's check to make sure it works
1063
00:21:36,580 --> 00:21:39,450
let's check to make sure it works
properly at the command line type kubectl
1064
00:21:39,450 --> 00:21:39,460
properly at the command line type kubectl
1065
00:21:39,460 --> 00:21:42,240
properly at the command line type kubectl
space version it should output
1066
00:21:42,240 --> 00:21:42,250
space version it should output
1067
00:21:42,250 --> 00:21:43,710
space version it should output
something similar to what you see on the
1068
00:21:43,710 --> 00:21:43,720
something similar to what you see on the
1069
00:21:43,720 --> 00:21:44,370
something similar to what you see on the
screen here
1070
00:21:44,370 --> 00:21:44,380
screen here
1071
00:21:44,380 --> 00:21:46,169
screen here
your version numbers may be different
1072
00:21:46,169 --> 00:21:46,179
your version numbers may be different
1073
00:21:46,179 --> 00:21:47,580
your version numbers may be different
and your get commit numbers are
1074
00:21:47,580 --> 00:21:47,590
and your get commit numbers are
1075
00:21:47,590 --> 00:21:50,100
and your get commit numbers are
certainly going to be different but as
1076
00:21:50,100 --> 00:21:50,110
certainly going to be different but as
1077
00:21:50,110 --> 00:21:51,750
certainly going to be different but as
long as the command was found and it
1078
00:21:51,750 --> 00:21:51,760
long as the command was found and it
1079
00:21:51,760 --> 00:21:53,430
long as the command was found and it
returns something similar to what you
1080
00:21:53,430 --> 00:21:53,440
returns something similar to what you
1081
00:21:53,440 --> 00:21:55,440
returns something similar to what you
see here you can be relatively confident
1082
00:21:55,440 --> 00:21:55,450
see here you can be relatively confident
1083
00:21:55,450 --> 00:21:58,650
see here you can be relatively confident
that your install went well let's run
1084
00:21:58,650 --> 00:21:58,660
that your install went well let's run
1085
00:21:58,660 --> 00:22:00,270
that your install went well let's run
this command on our Linux instance to
1086
00:22:00,270 --> 00:22:00,280
this command on our Linux instance to
1087
00:22:00,280 --> 00:22:02,130
this command on our Linux instance to
see what its output looks like don't be
1088
00:22:02,130 --> 00:22:02,140
see what its output looks like don't be
1089
00:22:02,140 --> 00:22:03,810
see what its output looks like don't be
alarmed with the error this is just
1090
00:22:03,810 --> 00:22:03,820
alarmed with the error this is just
1091
00:22:03,820 --> 00:22:05,159
alarmed with the error this is just
because we haven't set up a Kubernetes
1092
00:22:05,159 --> 00:22:05,169
because we haven't set up a Kubernetes
1093
00:22:05,169 --> 00:22:09,150
because we haven't set up a Kubernetes
instance now that we have kubectl
1094
00:22:09,150 --> 00:22:09,160
instance now that we have kubectl
1095
00:22:09,160 --> 00:22:10,890
instance now that we have kubectl
properly installed and working let's
1096
00:22:10,890 --> 00:22:10,900
properly installed and working let's
1097
00:22:10,900 --> 00:22:15,450
properly installed and working let's
move on to installing minikube again
1098
00:22:15,450 --> 00:22:15,460
move on to installing minikube again
1099
00:22:15,460 --> 00:22:17,070
move on to installing minikube again
these installation instructions are
1100
00:22:17,070 --> 00:22:17,080
these installation instructions are
1101
00:22:17,080 --> 00:22:19,320
these installation instructions are
built against Kubernetes 1.8 and guide
1102
00:22:19,320 --> 00:22:19,330
built against Kubernetes 1.8 and guide
1103
00:22:19,330 --> 00:22:20,700
built against Kubernetes 1.8 and guide
you through manually installing and
1104
00:22:20,700 --> 00:22:20,710
you through manually installing and
1105
00:22:20,710 --> 00:22:22,860
you through manually installing and
downloading minikube on installing it
1106
00:22:22,860 --> 00:22:22,870
downloading minikube on installing it
1107
00:22:22,870 --> 00:22:24,960
downloading minikube on installing it
into your path if you're familiar and
1108
00:22:24,960 --> 00:22:24,970
into your path if you're familiar and
1109
00:22:24,970 --> 00:22:26,430
into your path if you're familiar and
comfortable with your specific operating
1110
00:22:26,430 --> 00:22:26,440
comfortable with your specific operating
1111
00:22:26,440 --> 00:22:28,530
comfortable with your specific operating
systems package manager again we
1112
00:22:28,530 --> 00:22:28,540
systems package manager again we
1113
00:22:28,540 --> 00:22:30,120
systems package manager again we
recommend that you use that option to
1114
00:22:30,120 --> 00:22:30,130
recommend that you use that option to
1115
00:22:30,130 --> 00:22:32,970
recommend that you use that option to
install minikube on Mac OS the homebrew
1116
00:22:32,970 --> 00:22:32,980
install minikube on Mac OS the homebrew
1117
00:22:32,980 --> 00:22:35,340
install minikube on Mac OS the homebrew
package manager sometimes provides the
1118
00:22:35,340 --> 00:22:35,350
package manager sometimes provides the
1119
00:22:35,350 --> 00:22:39,000
package manager sometimes provides the
minikube formulas and on unofficial
1120
00:22:39,000 --> 00:22:39,010
minikube formulas and on unofficial
1121
00:22:39,010 --> 00:22:41,039
minikube formulas and on unofficial
Debian sources exist for use with the
1122
00:22:41,039 --> 00:22:41,049
Debian sources exist for use with the
1123
00:22:41,049 --> 00:22:43,650
Debian sources exist for use with the
app package management system again once
1124
00:22:43,650 --> 00:22:43,660
app package management system again once
1125
00:22:43,660 --> 00:22:46,230
app package management system again once
again let's consult Google for the
1126
00:22:46,230 --> 00:22:46,240
again let's consult Google for the
1127
00:22:46,240 --> 00:22:48,750
again let's consult Google for the
appropriate page well google installing
1128
00:22:48,750 --> 00:22:48,760
appropriate page well google installing
1129
00:22:48,760 --> 00:22:52,680
appropriate page well google installing
minikube release again the first result
1130
00:22:52,680 --> 00:22:52,690
minikube release again the first result
1131
00:22:52,690 --> 00:22:53,760
minikube release again the first result
in this case is what we're looking for
1132
00:22:53,760 --> 00:22:53,770
in this case is what we're looking for
1133
00:22:53,770 --> 00:22:56,250
in this case is what we're looking for
the releases page on github from the
1134
00:22:56,250 --> 00:22:56,260
the releases page on github from the
1135
00:22:56,260 --> 00:23:01,500
the releases page on github from the
minikube project let's go there let's
1136
00:23:01,500 --> 00:23:01,510
minikube project let's go there let's
1137
00:23:01,510 --> 00:23:04,320
minikube project let's go there let's
scroll down on the latest release T
1138
00:23:04,320 --> 00:23:04,330
scroll down on the latest release T
1139
00:23:04,330 --> 00:23:07,140
scroll down on the latest release T
installation instructions and URLs again
1140
00:23:07,140 --> 00:23:07,150
installation instructions and URLs again
1141
00:23:07,150 --> 00:23:08,970
installation instructions and URLs again
let's copy the appropriate one for our
1142
00:23:08,970 --> 00:23:08,980
let's copy the appropriate one for our
1143
00:23:08,980 --> 00:23:11,570
let's copy the appropriate one for our
platform to avoid having to retype it
1144
00:23:11,570 --> 00:23:11,580
platform to avoid having to retype it
1145
00:23:11,580 --> 00:23:13,830
platform to avoid having to retype it
remember you can continue to do this for
1146
00:23:13,830 --> 00:23:13,840
remember you can continue to do this for
1147
00:23:13,840 --> 00:23:15,630
remember you can continue to do this for
subsequent instructions if you'd like to
1148
00:23:15,630 --> 00:23:15,640
subsequent instructions if you'd like to
1149
00:23:15,640 --> 00:23:19,020
subsequent instructions if you'd like to
avoid retyping them with this in our
1150
00:23:19,020 --> 00:23:19,030
avoid retyping them with this in our
1151
00:23:19,030 --> 00:23:21,149
avoid retyping them with this in our
clipboard let's move on to the actual
1152
00:23:21,149 --> 00:23:21,159
clipboard let's move on to the actual
1153
00:23:21,159 --> 00:23:22,709
clipboard let's move on to the actual
install steps
1154
00:23:22,709 --> 00:23:22,719
install steps
1155
00:23:22,719 --> 00:23:24,940
install steps
we'll use the appropriate command to
1156
00:23:24,940 --> 00:23:24,950
we'll use the appropriate command to
1157
00:23:24,950 --> 00:23:26,320
we'll use the appropriate command to
install minikube for our operating
1158
00:23:26,320 --> 00:23:26,330
install minikube for our operating
1159
00:23:26,330 --> 00:23:31,989
install minikube for our operating
system now that you have minikube set
1160
00:23:31,989 --> 00:23:31,999
system now that you have minikube set
1161
00:23:31,999 --> 00:23:33,459
system now that you have minikube set
up in your system let's go through some
1162
00:23:33,459 --> 00:23:33,469
up in your system let's go through some
1163
00:23:33,469 --> 00:23:36,519
up in your system let's go through some
basic minikube commands before we get
1164
00:23:36,519 --> 00:23:36,529
basic minikube commands before we get
1165
00:23:36,529 --> 00:23:39,099
basic minikube commands before we get
started remember you can copy and paste
1166
00:23:39,099 --> 00:23:39,109
started remember you can copy and paste
1167
00:23:39,109 --> 00:23:40,899
started remember you can copy and paste
these commands from the text lecture at
1168
00:23:40,899 --> 00:23:40,909
these commands from the text lecture at
1169
00:23:40,909 --> 00:23:43,359
these commands from the text lecture at
any point each one of these commands is
1170
00:23:43,359 --> 00:23:43,369
any point each one of these commands is
1171
00:23:43,369 --> 00:23:45,070
any point each one of these commands is
available for you to copy and paste in
1172
00:23:45,070 --> 00:23:45,080
available for you to copy and paste in
1173
00:23:45,080 --> 00:23:48,269
available for you to copy and paste in
this lecture and in subsequent examples
1174
00:23:48,269 --> 00:23:48,279
this lecture and in subsequent examples
1175
00:23:48,279 --> 00:23:50,889
this lecture and in subsequent examples
to begin let's actually start our mini
1176
00:23:50,889 --> 00:23:50,899
to begin let's actually start our mini
1177
00:23:50,899 --> 00:23:54,450
to begin let's actually start our mini
coop cluster by typing minikube start
1178
00:23:54,450 --> 00:23:54,460
coop cluster by typing minikube start
1179
00:23:54,460 --> 00:23:57,129
coop cluster by typing minikube start
it will take some time to download the
1180
00:23:57,129 --> 00:23:57,139
it will take some time to download the
1181
00:23:57,139 --> 00:23:59,079
it will take some time to download the
various images and get the cluster
1182
00:23:59,079 --> 00:23:59,089
various images and get the cluster
1183
00:23:59,089 --> 00:24:04,749
various images and get the cluster
started on your machine if your machines
1184
00:24:04,749 --> 00:24:04,759
started on your machine if your machines
1185
00:24:04,759 --> 00:24:06,879
started on your machine if your machines
as slow as mine you may want to go get a
1186
00:24:06,879 --> 00:24:06,889
as slow as mine you may want to go get a
1187
00:24:06,889 --> 00:24:13,890
as slow as mine you may want to go get a
beer
1188
00:24:13,900 --> 00:24:16,660
you'll notice the kubectl is configured
1189
00:24:16,660 --> 00:24:16,670
you'll notice the kubectl is configured
1190
00:24:16,670 --> 00:24:18,790
you'll notice the kubectl is configured
to use the cluster minikube does this
1191
00:24:18,790 --> 00:24:18,800
to use the cluster minikube does this
1192
00:24:18,800 --> 00:24:22,660
to use the cluster minikube does this
for us automatically let's use kubectl
1193
00:24:22,660 --> 00:24:22,670
for us automatically let's use kubectl
1194
00:24:22,670 --> 00:24:25,330
for us automatically let's use kubectl
to actually deploy the hello minikube
1195
00:24:25,330 --> 00:24:25,340
to actually deploy the hello minikube
1196
00:24:25,340 --> 00:24:28,540
to actually deploy the hello minikube
sample application we use the kubectl
1197
00:24:28,540 --> 00:24:28,550
sample application we use the kubectl
1198
00:24:28,550 --> 00:24:31,480
sample application we use the kubectl
run command to deploy a sample image to
1199
00:24:31,480 --> 00:24:31,490
run command to deploy a sample image to
1200
00:24:31,490 --> 00:24:33,970
run command to deploy a sample image to
our Kubernetes cluster this command is
1201
00:24:33,970 --> 00:24:33,980
our Kubernetes cluster this command is
1202
00:24:33,980 --> 00:24:35,830
our Kubernetes cluster this command is
worth noting we'll use it extensively
1203
00:24:35,830 --> 00:24:35,840
worth noting we'll use it extensively
1204
00:24:35,840 --> 00:24:38,230
worth noting we'll use it extensively
throughout this example and in future
1205
00:24:38,230 --> 00:24:38,240
throughout this example and in future
1206
00:24:38,240 --> 00:24:41,140
throughout this example and in future
lectures this command provides a simple
1207
00:24:41,140 --> 00:24:41,150
lectures this command provides a simple
1208
00:24:41,150 --> 00:24:43,600
lectures this command provides a simple
and quick way to run a given docker
1209
00:24:43,600 --> 00:24:43,610
and quick way to run a given docker
1210
00:24:43,610 --> 00:24:47,290
and quick way to run a given docker
image on your Kubernetes cluster while
1211
00:24:47,290 --> 00:24:47,300
image on your Kubernetes cluster while
1212
00:24:47,300 --> 00:24:49,510
image on your Kubernetes cluster while
you may want to package docker image
1213
00:24:49,510 --> 00:24:49,520
you may want to package docker image
1214
00:24:49,520 --> 00:24:50,980
you may want to package docker image
with more sophistication for full
1215
00:24:50,980 --> 00:24:50,990
with more sophistication for full
1216
00:24:50,990 --> 00:24:53,440
with more sophistication for full
orchestration capabilities the kubectl
1217
00:24:53,440 --> 00:24:53,450
orchestration capabilities the kubectl
1218
00:24:53,450 --> 00:24:55,330
orchestration capabilities the kubectl
run command provides you the ability to
1219
00:24:55,330 --> 00:24:55,340
run command provides you the ability to
1220
00:24:55,340 --> 00:24:58,390
run command provides you the ability to
quickly in a straightforward way run a
1221
00:24:58,390 --> 00:24:58,400
quickly in a straightforward way run a
1222
00:24:58,400 --> 00:25:01,000
quickly in a straightforward way run a
given image on a Kubernetes cluster when
1223
00:25:01,000 --> 00:25:01,010
given image on a Kubernetes cluster when
1224
00:25:01,010 --> 00:25:03,370
given image on a Kubernetes cluster when
you need to it's a useful command that
1225
00:25:03,370 --> 00:25:03,380
you need to it's a useful command that
1226
00:25:03,380 --> 00:25:05,590
you need to it's a useful command that
you should note we'll go further in
1227
00:25:05,590 --> 00:25:05,600
you should note we'll go further in
1228
00:25:05,600 --> 00:25:07,570
you should note we'll go further in
depth about the usage of the kubectl
1229
00:25:07,570 --> 00:25:07,580
depth about the usage of the kubectl
1230
00:25:07,580 --> 00:25:11,690
depth about the usage of the kubectl
run command in further lectures
1231
00:25:11,700 --> 00:25:16,080
now that it's deployed let's expose the
1232
00:25:16,080 --> 00:25:16,090
now that it's deployed let's expose the
1233
00:25:16,090 --> 00:25:18,540
now that it's deployed let's expose the
minikube sample application using the
1234
00:25:18,540 --> 00:25:18,550
minikube sample application using the
1235
00:25:18,550 --> 00:25:22,260
minikube sample application using the
service command this command will take
1236
00:25:22,260 --> 00:25:22,270
service command this command will take
1237
00:25:22,270 --> 00:25:24,330
service command this command will take
the application which is running locally
1238
00:25:24,330 --> 00:25:24,340
the application which is running locally
1239
00:25:24,340 --> 00:25:26,310
the application which is running locally
in our Kubernetes cluster and allow
1240
00:25:26,310 --> 00:25:26,320
in our Kubernetes cluster and allow
1241
00:25:26,320 --> 00:25:33,399
in our Kubernetes cluster and allow
external IP addresses to access it
1242
00:25:33,409 --> 00:25:36,110
you may have noticed the use of the word
1243
00:25:36,110 --> 00:25:36,120
you may have noticed the use of the word
1244
00:25:36,120 --> 00:25:39,289
you may have noticed the use of the word
deployment in Kubernetes a deployment is
1245
00:25:39,289 --> 00:25:39,299
deployment in Kubernetes a deployment is
1246
00:25:39,299 --> 00:25:41,930
deployment in Kubernetes a deployment is
any set of resources that deploys a
1247
00:25:41,930 --> 00:25:41,940
any set of resources that deploys a
1248
00:25:41,940 --> 00:25:44,810
any set of resources that deploys a
container and application a set of
1249
00:25:44,810 --> 00:25:44,820
container and application a set of
1250
00:25:44,820 --> 00:25:48,649
container and application a set of
containers or pods will go further in
1251
00:25:48,649 --> 00:25:48,659
containers or pods will go further in
1252
00:25:48,659 --> 00:25:50,450
containers or pods will go further in
depth as to what deployments are and how
1253
00:25:50,450 --> 00:25:50,460
depth as to what deployments are and how
1254
00:25:50,460 --> 00:25:52,390
depth as to what deployments are and how
to work with them later in the course
1255
00:25:52,390 --> 00:25:52,400
to work with them later in the course
1256
00:25:52,400 --> 00:25:55,340
to work with them later in the course
the kubectl expose command is another
1257
00:25:55,340 --> 00:25:55,350
the kubectl expose command is another
1258
00:25:55,350 --> 00:25:57,200
the kubectl expose command is another
command that you'll likely end up using
1259
00:25:57,200 --> 00:25:57,210
command that you'll likely end up using
1260
00:25:57,210 --> 00:25:58,909
command that you'll likely end up using
quite frequently throughout your time
1261
00:25:58,909 --> 00:25:58,919
quite frequently throughout your time
1262
00:25:58,919 --> 00:26:01,340
quite frequently throughout your time
with louver Nettie's take some time to
1263
00:26:01,340 --> 00:26:01,350
with louver Nettie's take some time to
1264
00:26:01,350 --> 00:26:03,860
with louver Nettie's take some time to
understand exactly what it does in this
1265
00:26:03,860 --> 00:26:03,870
understand exactly what it does in this
1266
00:26:03,870 --> 00:26:07,100
understand exactly what it does in this
case we're exposing the deployment hello
1267
00:26:07,100 --> 00:26:07,110
case we're exposing the deployment hello
1268
00:26:07,110 --> 00:26:10,490
case we're exposing the deployment hello
minikube with a service of type node
1269
00:26:10,490 --> 00:26:10,500
minikube with a service of type node
1270
00:26:10,500 --> 00:26:13,310
minikube with a service of type node
port there are a variety of types of
1271
00:26:13,310 --> 00:26:13,320
port there are a variety of types of
1272
00:26:13,320 --> 00:26:15,740
port there are a variety of types of
services that are available specifying a
1273
00:26:15,740 --> 00:26:15,750
services that are available specifying a
1274
00:26:15,750 --> 00:26:18,890
services that are available specifying a
node port allows us to have an external
1275
00:26:18,890 --> 00:26:18,900
node port allows us to have an external
1276
00:26:18,900 --> 00:26:21,860
node port allows us to have an external
IP address connected to the port on the
1277
00:26:21,860 --> 00:26:21,870
IP address connected to the port on the
1278
00:26:21,870 --> 00:26:23,779
IP address connected to the port on the
container that we just deployed using
1279
00:26:23,779 --> 00:26:23,789
container that we just deployed using
1280
00:26:23,789 --> 00:26:27,230
container that we just deployed using
kubectl run other types include
1281
00:26:27,230 --> 00:26:27,240
kubectl run other types include
1282
00:26:27,240 --> 00:26:29,840
kubectl run other types include
cluster IP which is a private IP not
1283
00:26:29,840 --> 00:26:29,850
cluster IP which is a private IP not
1284
00:26:29,850 --> 00:26:31,940
cluster IP which is a private IP not
available to the external world and load
1285
00:26:31,940 --> 00:26:31,950
available to the external world and load
1286
00:26:31,950 --> 00:26:35,270
available to the external world and load
balancer load balancer requires external
1287
00:26:35,270 --> 00:26:35,280
balancer load balancer requires external
1288
00:26:35,280 --> 00:26:37,460
balancer load balancer requires external
functionality from either the hypervisor
1289
00:26:37,460 --> 00:26:37,470
functionality from either the hypervisor
1290
00:26:37,470 --> 00:26:40,789
functionality from either the hypervisor
the cloud provider or the host upon
1291
00:26:40,789 --> 00:26:40,799
the cloud provider or the host upon
1292
00:26:40,799 --> 00:26:42,740
the cloud provider or the host upon
which Kubernetes is running we'll get
1293
00:26:42,740 --> 00:26:42,750
which Kubernetes is running we'll get
1294
00:26:42,750 --> 00:26:44,330
which Kubernetes is running we'll get
into the specific types and other
1295
00:26:44,330 --> 00:26:44,340
into the specific types and other
1296
00:26:44,340 --> 00:26:48,830
into the specific types and other
varieties later on in the course you'll
1297
00:26:48,830 --> 00:26:48,840
varieties later on in the course you'll
1298
00:26:48,840 --> 00:26:53,630
varieties later on in the course you'll
see the service was created we can use
1299
00:26:53,630 --> 00:26:53,640
see the service was created we can use
1300
00:26:53,640 --> 00:26:55,909
see the service was created we can use
the git pod command of the kubectl
1301
00:26:55,909 --> 00:26:55,919
the git pod command of the kubectl
1302
00:26:55,919 --> 00:26:58,220
the git pod command of the kubectl
command-line tool to see the status it's
1303
00:26:58,220 --> 00:26:58,230
command-line tool to see the status it's
1304
00:26:58,230 --> 00:27:00,169
command-line tool to see the status it's
running has no restarts engine running
1305
00:27:00,169 --> 00:27:00,179
running has no restarts engine running
1306
00:27:00,179 --> 00:27:07,930
running has no restarts engine running
for 46 seconds
1307
00:27:07,940 --> 00:27:10,370
we can now access the cluster and
1308
00:27:10,370 --> 00:27:10,380
we can now access the cluster and
1309
00:27:10,380 --> 00:27:13,070
we can now access the cluster and
actually access the data on the service
1310
00:27:13,070 --> 00:27:13,080
actually access the data on the service
1311
00:27:13,080 --> 00:27:15,919
actually access the data on the service
using the curl command you'll notice in
1312
00:27:15,919 --> 00:27:15,929
using the curl command you'll notice in
1313
00:27:15,929 --> 00:27:17,930
using the curl command you'll notice in
this case we use the minikube service
1314
00:27:17,930 --> 00:27:17,940
this case we use the minikube service
1315
00:27:17,940 --> 00:27:22,009
this case we use the minikube service
to be able to get the URL of our pod the
1316
00:27:22,009 --> 00:27:22,019
to be able to get the URL of our pod the
1317
00:27:22,019 --> 00:27:26,180
to be able to get the URL of our pod the
output as we expected gives us an HTTP
1318
00:27:26,180 --> 00:27:26,190
output as we expected gives us an HTTP
1319
00:27:26,190 --> 00:27:33,510
output as we expected gives us an HTTP
response
1320
00:27:33,520 --> 00:27:35,940
and finally when you're done with the
1321
00:27:35,940 --> 00:27:35,950
and finally when you're done with the
1322
00:27:35,950 --> 00:27:37,470
and finally when you're done with the
deployment or no longer need a
1323
00:27:37,470 --> 00:27:37,480
deployment or no longer need a
1324
00:27:37,480 --> 00:27:39,450
deployment or no longer need a
deployment or would like to replace it
1325
00:27:39,450 --> 00:27:39,460
deployment or would like to replace it
1326
00:27:39,460 --> 00:27:41,610
deployment or would like to replace it
you can use the kubectl delete
1327
00:27:41,610 --> 00:27:41,620
you can use the kubectl delete
1328
00:27:41,620 --> 00:27:43,680
you can use the kubectl delete
deployment command to specify a
1329
00:27:43,680 --> 00:27:43,690
deployment command to specify a
1330
00:27:43,690 --> 00:27:49,890
deployment command to specify a
deployment for deletion you can also use
1331
00:27:49,890 --> 00:27:49,900
deployment for deletion you can also use
1332
00:27:49,900 --> 00:27:52,650
deployment for deletion you can also use
the minikube stop command to stop your
1333
00:27:52,650 --> 00:27:52,660
the minikube stop command to stop your
1334
00:27:52,660 --> 00:27:54,390
the minikube stop command to stop your
local minikube Buster and free up any
1335
00:27:54,390 --> 00:27:54,400
local minikube Buster and free up any
1336
00:27:54,400 --> 00:28:03,010
local minikube Buster and free up any
resources when you're completed
1337
00:28:03,020 --> 00:28:04,370
[Music]
1338
00:28:04,370 --> 00:28:04,380
[Music]
1339
00:28:04,380 --> 00:28:08,730
[Music]
in the previous lecture we use mini
1340
00:28:08,730 --> 00:28:08,740
in the previous lecture we use mini
1341
00:28:08,740 --> 00:28:11,730
in the previous lecture we use mini
coupe to deploy a sample application to
1342
00:28:11,730 --> 00:28:11,740
coupe to deploy a sample application to
1343
00:28:11,740 --> 00:28:13,770
coupe to deploy a sample application to
verify that we had our local Kubernetes
1344
00:28:13,770 --> 00:28:13,780
verify that we had our local Kubernetes
1345
00:28:13,780 --> 00:28:16,740
verify that we had our local Kubernetes
cluster installed properly by now you're
1346
00:28:16,740 --> 00:28:16,750
cluster installed properly by now you're
1347
00:28:16,750 --> 00:28:20,190
cluster installed properly by now you're
probably wondering what exactly is the
1348
00:28:20,190 --> 00:28:20,200
probably wondering what exactly is the
1349
00:28:20,200 --> 00:28:21,650
probably wondering what exactly is the
application that we deployed
1350
00:28:21,650 --> 00:28:21,660
application that we deployed
1351
00:28:21,660 --> 00:28:24,300
application that we deployed
how does Kubernetes know which docker
1352
00:28:24,300 --> 00:28:24,310
how does Kubernetes know which docker
1353
00:28:24,310 --> 00:28:26,280
how does Kubernetes know which docker
image to pull how does it know what to
1354
00:28:26,280 --> 00:28:26,290
image to pull how does it know what to
1355
00:28:26,290 --> 00:28:28,560
image to pull how does it know what to
do with that docker image how does it
1356
00:28:28,560 --> 00:28:28,570
do with that docker image how does it
1357
00:28:28,570 --> 00:28:30,480
do with that docker image how does it
know how the docker image works together
1358
00:28:30,480 --> 00:28:30,490
know how the docker image works together
1359
00:28:30,490 --> 00:28:32,400
know how the docker image works together
how does it know how that scales and how
1360
00:28:32,400 --> 00:28:32,410
how does it know how that scales and how
1361
00:28:32,410 --> 00:28:35,280
how does it know how that scales and how
does it know how it fails these are all
1362
00:28:35,280 --> 00:28:35,290
does it know how it fails these are all
1363
00:28:35,290 --> 00:28:37,710
does it know how it fails these are all
very good questions we'll start at the
1364
00:28:37,710 --> 00:28:37,720
very good questions we'll start at the
1365
00:28:37,720 --> 00:28:38,280
very good questions we'll start at the
beginning
1366
00:28:38,280 --> 00:28:38,290
beginning
1367
00:28:38,290 --> 00:28:40,950
beginning
your first Kubernetes application a very
1368
00:28:40,950 --> 00:28:40,960
your first Kubernetes application a very
1369
00:28:40,960 --> 00:28:42,570
your first Kubernetes application a very
simple deployment of the Tomcat
1370
00:28:42,570 --> 00:28:42,580
simple deployment of the Tomcat
1371
00:28:42,580 --> 00:28:44,670
simple deployment of the Tomcat
application server we'll look at how
1372
00:28:44,670 --> 00:28:44,680
application server we'll look at how
1373
00:28:44,680 --> 00:28:46,890
application server we'll look at how
deployments are described and how we can
1374
00:28:46,890 --> 00:28:46,900
deployments are described and how we can
1375
00:28:46,900 --> 00:28:51,630
deployments are described and how we can
deploy them to Kubernetes so what does a
1376
00:28:51,630 --> 00:28:51,640
deploy them to Kubernetes so what does a
1377
00:28:51,640 --> 00:28:53,270
deploy them to Kubernetes so what does a
Kubernetes application look like
1378
00:28:53,270 --> 00:28:53,280
Kubernetes application look like
1379
00:28:53,280 --> 00:28:55,800
Kubernetes application look like
remember deployments are the central
1380
00:28:55,800 --> 00:28:55,810
remember deployments are the central
1381
00:28:55,810 --> 00:28:57,900
remember deployments are the central
metaphor for what we consider apps or
1382
00:28:57,900 --> 00:28:57,910
metaphor for what we consider apps or
1383
00:28:57,910 --> 00:29:01,200
metaphor for what we consider apps or
services within Kubernetes deployments
1384
00:29:01,200 --> 00:29:01,210
services within Kubernetes deployments
1385
00:29:01,210 --> 00:29:02,700
services within Kubernetes deployments
are described as a collection of
1386
00:29:02,700 --> 00:29:02,710
are described as a collection of
1387
00:29:02,710 --> 00:29:05,970
are described as a collection of
resources and references deployments
1388
00:29:05,970 --> 00:29:05,980
resources and references deployments
1389
00:29:05,980 --> 00:29:08,190
resources and references deployments
tell Kubernetes what docker containers
1390
00:29:08,190 --> 00:29:08,200
tell Kubernetes what docker containers
1391
00:29:08,200 --> 00:29:10,470
tell Kubernetes what docker containers
are interesting to us describes a little
1392
00:29:10,470 --> 00:29:10,480
are interesting to us describes a little
1393
00:29:10,480 --> 00:29:12,570
are interesting to us describes a little
bit about them and how they break work
1394
00:29:12,570 --> 00:29:12,580
bit about them and how they break work
1395
00:29:12,580 --> 00:29:14,820
bit about them and how they break work
together what's required to keep them
1396
00:29:14,820 --> 00:29:14,830
together what's required to keep them
1397
00:29:14,830 --> 00:29:17,040
together what's required to keep them
healthy and what to do when they may
1398
00:29:17,040 --> 00:29:17,050
healthy and what to do when they may
1399
00:29:17,050 --> 00:29:19,590
healthy and what to do when they may
become unhealthy deployments can take
1400
00:29:19,590 --> 00:29:19,600
become unhealthy deployments can take
1401
00:29:19,600 --> 00:29:21,660
become unhealthy deployments can take
many forms based on the type of service
1402
00:29:21,660 --> 00:29:21,670
many forms based on the type of service
1403
00:29:21,670 --> 00:29:24,150
many forms based on the type of service
being deployed whatever form they take
1404
00:29:24,150 --> 00:29:24,160
being deployed whatever form they take
1405
00:29:24,160 --> 00:29:26,190
being deployed whatever form they take
they're usually described in a Yamma
1406
00:29:26,190 --> 00:29:26,200
they're usually described in a Yamma
1407
00:29:26,200 --> 00:29:28,770
they're usually described in a Yamma
format you can store this deployment in
1408
00:29:28,770 --> 00:29:28,780
format you can store this deployment in
1409
00:29:28,780 --> 00:29:30,900
format you can store this deployment in
a file for replication across many
1410
00:29:30,900 --> 00:29:30,910
a file for replication across many
1411
00:29:30,910 --> 00:29:33,540
a file for replication across many
docker containers across minikube
1412
00:29:33,540 --> 00:29:33,550
docker containers across minikube
1413
00:29:33,550 --> 00:29:37,250
docker containers across minikube
systems however complicated they get
1414
00:29:37,250 --> 00:29:37,260
systems however complicated they get
1415
00:29:37,260 --> 00:29:40,320
systems however complicated they get
ultimately deployments simply describe
1416
00:29:40,320 --> 00:29:40,330
ultimately deployments simply describe
1417
00:29:40,330 --> 00:29:42,350
ultimately deployments simply describe
the containers used in an application
1418
00:29:42,350 --> 00:29:42,360
the containers used in an application
1419
00:29:42,360 --> 00:29:45,510
the containers used in an application
how they work together and the care and
1420
00:29:45,510 --> 00:29:45,520
how they work together and the care and
1421
00:29:45,520 --> 00:29:50,730
how they work together and the care and
feeding of them deployments as you can
1422
00:29:50,730 --> 00:29:50,740
feeding of them deployments as you can
1423
00:29:50,740 --> 00:29:52,410
feeding of them deployments as you can
imagine can get relatively sophisticated
1424
00:29:52,410 --> 00:29:52,420
imagine can get relatively sophisticated
1425
00:29:52,420 --> 00:29:55,110
imagine can get relatively sophisticated
for complicated applications but let's
1426
00:29:55,110 --> 00:29:55,120
for complicated applications but let's
1427
00:29:55,120 --> 00:29:56,880
for complicated applications but let's
keep it simple and start with something
1428
00:29:56,880 --> 00:29:56,890
keep it simple and start with something
1429
00:29:56,890 --> 00:30:02,790
keep it simple and start with something
small and understandable a deployment of
1430
00:30:02,790 --> 00:30:02,800
small and understandable a deployment of
1431
00:30:02,800 --> 00:30:05,640
small and understandable a deployment of
the tomcat application server in this
1432
00:30:05,640 --> 00:30:05,650
the tomcat application server in this
1433
00:30:05,650 --> 00:30:07,680
the tomcat application server in this
example we'll deploy the tomcat app
1434
00:30:07,680 --> 00:30:07,690
example we'll deploy the tomcat app
1435
00:30:07,690 --> 00:30:10,220
example we'll deploy the tomcat app
server using the official docker image
1436
00:30:10,220 --> 00:30:10,230
server using the official docker image
1437
00:30:10,230 --> 00:30:13,980
server using the official docker image
RT tasks will be like any deployment you
1438
00:30:13,980 --> 00:30:13,990
RT tasks will be like any deployment you
1439
00:30:13,990 --> 00:30:14,220
RT tasks will be like any deployment you
might
1440
00:30:14,220 --> 00:30:14,230
might
1441
00:30:14,230 --> 00:30:16,730
might
plan no matter how small or how large
1442
00:30:16,730 --> 00:30:16,740
plan no matter how small or how large
1443
00:30:16,740 --> 00:30:20,100
plan no matter how small or how large
first we will define the deployment what
1444
00:30:20,100 --> 00:30:20,110
first we will define the deployment what
1445
00:30:20,110 --> 00:30:22,380
first we will define the deployment what
containers we use what services those
1446
00:30:22,380 --> 00:30:22,390
containers we use what services those
1447
00:30:22,390 --> 00:30:24,780
containers we use what services those
containers might offer and where they
1448
00:30:24,780 --> 00:30:24,790
containers might offer and where they
1449
00:30:24,790 --> 00:30:28,140
containers might offer and where they
come from then we'll expose the services
1450
00:30:28,140 --> 00:30:28,150
come from then we'll expose the services
1451
00:30:28,150 --> 00:30:31,650
come from then we'll expose the services
to the world what TCP ports and West HD
1452
00:30:31,650 --> 00:30:31,660
to the world what TCP ports and West HD
1453
00:30:31,660 --> 00:30:33,659
to the world what TCP ports and West HD
HTTP services are defined in the
1454
00:30:33,659 --> 00:30:33,669
HTTP services are defined in the
1455
00:30:33,669 --> 00:30:35,960
HTTP services are defined in the
containers and where to reach them
1456
00:30:35,960 --> 00:30:35,970
containers and where to reach them
1457
00:30:35,970 --> 00:30:38,760
containers and where to reach them
finally we'll take that configuration
1458
00:30:38,760 --> 00:30:38,770
finally we'll take that configuration
1459
00:30:38,770 --> 00:30:40,650
finally we'll take that configuration
information and we'll deploy it to our
1460
00:30:40,650 --> 00:30:40,660
information and we'll deploy it to our
1461
00:30:40,660 --> 00:30:46,799
information and we'll deploy it to our
cluster the first step is to define the
1462
00:30:46,799 --> 00:30:46,809
cluster the first step is to define the
1463
00:30:46,809 --> 00:30:49,110
cluster the first step is to define the
deployment the most simple deployment in
1464
00:30:49,110 --> 00:30:49,120
deployment the most simple deployment in
1465
00:30:49,120 --> 00:30:52,260
deployment the most simple deployment in
Kubernetes is a single pod remember a
1466
00:30:52,260 --> 00:30:52,270
Kubernetes is a single pod remember a
1467
00:30:52,270 --> 00:30:55,310
Kubernetes is a single pod remember a
pod is an instance of a docker container
1468
00:30:55,310 --> 00:30:55,320
pod is an instance of a docker container
1469
00:30:55,320 --> 00:30:57,570
pod is an instance of a docker container
deployments can have any number of pods
1470
00:30:57,570 --> 00:30:57,580
deployments can have any number of pods
1471
00:30:57,580 --> 00:31:00,120
deployments can have any number of pods
required to get the job done they can
1472
00:31:00,120 --> 00:31:00,130
required to get the job done they can
1473
00:31:00,130 --> 00:31:02,970
required to get the job done they can
range from one instance of a single
1474
00:31:02,970 --> 00:31:02,980
range from one instance of a single
1475
00:31:02,980 --> 00:31:06,390
range from one instance of a single
image like we're doing today and grow to
1476
00:31:06,390 --> 00:31:06,400
image like we're doing today and grow to
1477
00:31:06,400 --> 00:31:08,720
image like we're doing today and grow to
hundreds of images of different types
1478
00:31:08,720 --> 00:31:08,730
hundreds of images of different types
1479
00:31:08,730 --> 00:31:11,310
hundreds of images of different types
the most simple deployment simply has
1480
00:31:11,310 --> 00:31:11,320
the most simple deployment simply has
1481
00:31:11,320 --> 00:31:14,730
the most simple deployment simply has
one pod no redundancy no separation of
1482
00:31:14,730 --> 00:31:14,740
one pod no redundancy no separation of
1483
00:31:14,740 --> 00:31:17,010
one pod no redundancy no separation of
services just one plod deployed to
1484
00:31:17,010 --> 00:31:17,020
services just one plod deployed to
1485
00:31:17,020 --> 00:31:22,409
services just one plod deployed to
Kubernetes this source files for both
1486
00:31:22,409 --> 00:31:22,419
Kubernetes this source files for both
1487
00:31:22,419 --> 00:31:24,690
Kubernetes this source files for both
this lecture and subsequent lectures are
1488
00:31:24,690 --> 00:31:24,700
this lecture and subsequent lectures are
1489
00:31:24,700 --> 00:31:26,820
this lecture and subsequent lectures are
available on github if you're familiar
1490
00:31:26,820 --> 00:31:26,830
available on github if you're familiar
1491
00:31:26,830 --> 00:31:29,310
available on github if you're familiar
with how to use get github and
1492
00:31:29,310 --> 00:31:29,320
with how to use get github and
1493
00:31:29,320 --> 00:31:32,010
with how to use get github and
associated tools feel free to clone the
1494
00:31:32,010 --> 00:31:32,020
associated tools feel free to clone the
1495
00:31:32,020 --> 00:31:34,230
associated tools feel free to clone the
repository on your own if you're
1496
00:31:34,230 --> 00:31:34,240
repository on your own if you're
1497
00:31:34,240 --> 00:31:36,630
repository on your own if you're
unfamiliar how to do it follow along and
1498
00:31:36,630 --> 00:31:36,640
unfamiliar how to do it follow along and
1499
00:31:36,640 --> 00:31:38,730
unfamiliar how to do it follow along and
will download the appropriate tools and
1500
00:31:38,730 --> 00:31:38,740
will download the appropriate tools and
1501
00:31:38,740 --> 00:31:42,990
will download the appropriate tools and
do it together the github repository is
1502
00:31:42,990 --> 00:31:43,000
do it together the github repository is
1503
00:31:43,000 --> 00:31:46,130
do it together the github repository is
available via the web at github comm
1504
00:31:46,130 --> 00:31:46,140
available via the web at github comm
1505
00:31:46,140 --> 00:31:49,380
available via the web at github comm
forceps jelly tutorial forward slash
1506
00:31:49,380 --> 00:31:49,390
forceps jelly tutorial forward slash
1507
00:31:49,390 --> 00:31:53,549
forceps jelly tutorial forward slash
Kubernetes - demo if you're gonna clone
1508
00:31:53,549 --> 00:31:53,559
Kubernetes - demo if you're gonna clone
1509
00:31:53,559 --> 00:31:56,130
Kubernetes - demo if you're gonna clone
this on your own feel free to go ahead
1510
00:31:56,130 --> 00:31:56,140
this on your own feel free to go ahead
1511
00:31:56,140 --> 00:31:59,370
this on your own feel free to go ahead
clone it and join us in the rest of the
1512
00:31:59,370 --> 00:31:59,380
clone it and join us in the rest of the
1513
00:31:59,380 --> 00:32:02,909
clone it and join us in the rest of the
example otherwise open a web browser and
1514
00:32:02,909 --> 00:32:02,919
example otherwise open a web browser and
1515
00:32:02,919 --> 00:32:09,630
example otherwise open a web browser and
head to this URL there are a few ways
1516
00:32:09,630 --> 00:32:09,640
head to this URL there are a few ways
1517
00:32:09,640 --> 00:32:11,610
head to this URL there are a few ways
that you can access the source code and
1518
00:32:11,610 --> 00:32:11,620
that you can access the source code and
1519
00:32:11,620 --> 00:32:13,280
that you can access the source code and
save it to your computer
1520
00:32:13,280 --> 00:32:13,290
save it to your computer
1521
00:32:13,290 --> 00:32:16,530
save it to your computer
we'll use github desktop perhaps you
1522
00:32:16,530 --> 00:32:16,540
we'll use github desktop perhaps you
1523
00:32:16,540 --> 00:32:17,789
we'll use github desktop perhaps you
have it installed it and perhaps you
1524
00:32:17,789 --> 00:32:17,799
have it installed it and perhaps you
1525
00:32:17,799 --> 00:32:20,730
have it installed it and perhaps you
don't whether or not you do click on the
1526
00:32:20,730 --> 00:32:20,740
don't whether or not you do click on the
1527
00:32:20,740 --> 00:32:23,190
don't whether or not you do click on the
green clone or download button where
1528
00:32:23,190 --> 00:32:23,200
green clone or download button where
1529
00:32:23,200 --> 00:32:25,049
green clone or download button where
you're presented with a choice you have
1530
00:32:25,049 --> 00:32:25,059
you're presented with a choice you have
1531
00:32:25,059 --> 00:32:26,789
you're presented with a choice you have
a free to download a zip file of the
1532
00:32:26,789 --> 00:32:26,799
a free to download a zip file of the
1533
00:32:26,799 --> 00:32:27,550
a free to download a zip file of the
repository
1534
00:32:27,550 --> 00:32:27,560
repository
1535
00:32:27,560 --> 00:32:29,340
repository
which doesn't require any extra software
1536
00:32:29,340 --> 00:32:29,350
which doesn't require any extra software
1537
00:32:29,350 --> 00:32:32,950
which doesn't require any extra software
other than unzip in order to access the
1538
00:32:32,950 --> 00:32:32,960
other than unzip in order to access the
1539
00:32:32,960 --> 00:32:35,590
other than unzip in order to access the
files we're gonna choose open and
1540
00:32:35,590 --> 00:32:35,600
files we're gonna choose open and
1541
00:32:35,600 --> 00:32:38,290
files we're gonna choose open and
desktop when you click open in desktop
1542
00:32:38,290 --> 00:32:38,300
desktop when you click open in desktop
1543
00:32:38,300 --> 00:32:40,270
desktop when you click open in desktop
it will prompt you if you don't already
1544
00:32:40,270 --> 00:32:40,280
it will prompt you if you don't already
1545
00:32:40,280 --> 00:32:42,370
it will prompt you if you don't already
have it downloaded to download the
1546
00:32:42,370 --> 00:32:42,380
have it downloaded to download the
1547
00:32:42,380 --> 00:32:44,890
have it downloaded to download the
github desktop program in this case
1548
00:32:44,890 --> 00:32:44,900
github desktop program in this case
1549
00:32:44,900 --> 00:32:46,990
github desktop program in this case
we'll download it for Mac OS once the
1550
00:32:46,990 --> 00:32:47,000
we'll download it for Mac OS once the
1551
00:32:47,000 --> 00:32:48,730
we'll download it for Mac OS once the
download has completed open the file
1552
00:32:48,730 --> 00:32:48,740
download has completed open the file
1553
00:32:48,740 --> 00:32:50,950
download has completed open the file
install it appropriately for your given
1554
00:32:50,950 --> 00:32:50,960
install it appropriately for your given
1555
00:32:50,960 --> 00:32:52,930
install it appropriately for your given
operating system and open the program
1556
00:32:52,930 --> 00:32:52,940
operating system and open the program
1557
00:32:52,940 --> 00:32:55,180
operating system and open the program
once github desktop is installed and
1558
00:32:55,180 --> 00:32:55,190
once github desktop is installed and
1559
00:32:55,190 --> 00:32:58,450
once github desktop is installed and
open go to the file menu and click clone
1560
00:32:58,450 --> 00:32:58,460
open go to the file menu and click clone
1561
00:32:58,460 --> 00:33:02,290
open go to the file menu and click clone
repository ensure that the URL tab is
1562
00:33:02,290 --> 00:33:02,300
repository ensure that the URL tab is
1563
00:33:02,300 --> 00:33:06,670
repository ensure that the URL tab is
selected choose a local path to where to
1564
00:33:06,670 --> 00:33:06,680
selected choose a local path to where to
1565
00:33:06,680 --> 00:33:14,350
selected choose a local path to where to
download the files and type or paste the
1566
00:33:14,350 --> 00:33:14,360
download the files and type or paste the
1567
00:33:14,360 --> 00:33:16,710
download the files and type or paste the
URL of the repository
1568
00:33:16,710 --> 00:33:16,720
URL of the repository
1569
00:33:16,720 --> 00:33:20,310
URL of the repository
remember that's HTTP colon slash slash
1570
00:33:20,310 --> 00:33:20,320
remember that's HTTP colon slash slash
1571
00:33:20,320 --> 00:33:25,120
remember that's HTTP colon slash slash
github comm /jv tutorial forward slash
1572
00:33:25,120 --> 00:33:25,130
github comm /jv tutorial forward slash
1573
00:33:25,130 --> 00:33:28,870
github comm /jv tutorial forward slash
Kubernetes - demo click clone and this
1574
00:33:28,870 --> 00:33:28,880
Kubernetes - demo click clone and this
1575
00:33:28,880 --> 00:33:30,790
Kubernetes - demo click clone and this
will copy the repository files to your
1576
00:33:30,790 --> 00:33:30,800
will copy the repository files to your
1577
00:33:30,800 --> 00:33:34,030
will copy the repository files to your
system those files are now available at
1578
00:33:34,030 --> 00:33:34,040
system those files are now available at
1579
00:33:34,040 --> 00:33:36,250
system those files are now available at
the directory you selected initially in
1580
00:33:36,250 --> 00:33:36,260
the directory you selected initially in
1581
00:33:36,260 --> 00:33:40,660
the directory you selected initially in
this dialog let's start with the text
1582
00:33:40,660 --> 00:33:40,670
this dialog let's start with the text
1583
00:33:40,670 --> 00:33:42,730
this dialog let's start with the text
editor open with a blank deployment
1584
00:33:42,730 --> 00:33:42,740
editor open with a blank deployment
1585
00:33:42,740 --> 00:33:45,430
editor open with a blank deployment
llamó file we'll define a deployment so
1586
00:33:45,430 --> 00:33:45,440
llamó file we'll define a deployment so
1587
00:33:45,440 --> 00:33:46,660
llamó file we'll define a deployment so
we can send it off to our Kubernetes
1588
00:33:46,660 --> 00:33:46,670
we can send it off to our Kubernetes
1589
00:33:46,670 --> 00:33:49,240
we can send it off to our Kubernetes
cluster to understand how deployments
1590
00:33:49,240 --> 00:33:49,250
cluster to understand how deployments
1591
00:33:49,250 --> 00:33:51,760
cluster to understand how deployments
and pods work now would be a great time
1592
00:33:51,760 --> 00:33:51,770
and pods work now would be a great time
1593
00:33:51,770 --> 00:33:53,830
and pods work now would be a great time
to locate the files we most recently
1594
00:33:53,830 --> 00:33:53,840
to locate the files we most recently
1595
00:33:53,840 --> 00:33:55,750
to locate the files we most recently
cloned from the github repository and
1596
00:33:55,750 --> 00:33:55,760
cloned from the github repository and
1597
00:33:55,760 --> 00:33:59,170
cloned from the github repository and
open the file name deployment llamo in
1598
00:33:59,170 --> 00:33:59,180
open the file name deployment llamo in
1599
00:33:59,180 --> 00:34:01,720
open the file name deployment llamo in
the introduction to Kubernetes forward
1600
00:34:01,720 --> 00:34:01,730
the introduction to Kubernetes forward
1601
00:34:01,730 --> 00:34:07,660
the introduction to Kubernetes forward
slash your first KAS app directory the
1602
00:34:07,660 --> 00:34:07,670
slash your first KAS app directory the
1603
00:34:07,670 --> 00:34:10,030
slash your first KAS app directory the
goal of the deployment llamo file is to
1604
00:34:10,030 --> 00:34:10,040
goal of the deployment llamo file is to
1605
00:34:10,040 --> 00:34:11,710
goal of the deployment llamo file is to
provide Kubernetes with the basic
1606
00:34:11,710 --> 00:34:11,720
provide Kubernetes with the basic
1607
00:34:11,720 --> 00:34:13,570
provide Kubernetes with the basic
information of what the application
1608
00:34:13,570 --> 00:34:13,580
information of what the application
1609
00:34:13,580 --> 00:34:17,409
information of what the application
needs to do the resources required to
1610
00:34:17,409 --> 00:34:17,419
needs to do the resources required to
1611
00:34:17,419 --> 00:34:20,980
needs to do the resources required to
accomplish it there's a wide variety of
1612
00:34:20,980 --> 00:34:20,990
accomplish it there's a wide variety of
1613
00:34:20,990 --> 00:34:24,190
accomplish it there's a wide variety of
robust tools available to define how
1614
00:34:24,190 --> 00:34:24,200
robust tools available to define how
1615
00:34:24,200 --> 00:34:27,669
robust tools available to define how
pods fail how pods stay healthy and what
1616
00:34:27,669 --> 00:34:27,679
pods fail how pods stay healthy and what
1617
00:34:27,679 --> 00:34:30,159
pods fail how pods stay healthy and what
to do when they're unhealthy we'll go
1618
00:34:30,159 --> 00:34:30,169
to do when they're unhealthy we'll go
1619
00:34:30,169 --> 00:34:31,840
to do when they're unhealthy we'll go
over the most important aspects of the
1620
00:34:31,840 --> 00:34:31,850
over the most important aspects of the
1621
00:34:31,850 --> 00:34:34,180
over the most important aspects of the
deployment llamo file if this looks in a
1622
00:34:34,180 --> 00:34:34,190
deployment llamo file if this looks in a
1623
00:34:34,190 --> 00:34:36,970
deployment llamo file if this looks in a
little intimidating don't worry there
1624
00:34:36,970 --> 00:34:36,980
little intimidating don't worry there
1625
00:34:36,980 --> 00:34:38,770
little intimidating don't worry there
are only a few aspects of this which are
1626
00:34:38,770 --> 00:34:38,780
are only a few aspects of this which are
1627
00:34:38,780 --> 00:34:40,750
are only a few aspects of this which are
key to understand at the moment
1628
00:34:40,750 --> 00:34:40,760
key to understand at the moment
1629
00:34:40,760 --> 00:34:42,820
key to understand at the moment
we're going to go in depth in future
1630
00:34:42,820 --> 00:34:42,830
we're going to go in depth in future
1631
00:34:42,830 --> 00:34:44,710
we're going to go in depth in future
lectures about items like metadata
1632
00:34:44,710 --> 00:34:44,720
lectures about items like metadata
1633
00:34:44,720 --> 00:34:48,940
lectures about items like metadata
labels selectors and like right now the
1634
00:34:48,940 --> 00:34:48,950
labels selectors and like right now the
1635
00:34:48,950 --> 00:34:50,770
labels selectors and like right now the
important things to note are the image
1636
00:34:50,770 --> 00:34:50,780
important things to note are the image
1637
00:34:50,780 --> 00:34:53,800
important things to note are the image
name the number of replicas to contain
1638
00:34:53,800 --> 00:34:53,810
name the number of replicas to contain
1639
00:34:53,810 --> 00:34:56,370
name the number of replicas to contain
report and the name of the application
1640
00:34:56,370 --> 00:34:56,380
report and the name of the application
1641
00:34:56,380 --> 00:34:58,240
report and the name of the application
we'll go through each of these
1642
00:34:58,240 --> 00:34:58,250
we'll go through each of these
1643
00:34:58,250 --> 00:35:00,190
we'll go through each of these
individually we'll explore the other
1644
00:35:00,190 --> 00:35:00,200
individually we'll explore the other
1645
00:35:00,200 --> 00:35:02,770
individually we'll explore the other
items in depth in future lectures right
1646
00:35:02,770 --> 00:35:02,780
items in depth in future lectures right
1647
00:35:02,780 --> 00:35:05,620
items in depth in future lectures right
now the key items to review and retain
1648
00:35:05,620 --> 00:35:05,630
now the key items to review and retain
1649
00:35:05,630 --> 00:35:07,950
now the key items to review and retain
are the ones that we're about to go over
1650
00:35:07,950 --> 00:35:07,960
are the ones that we're about to go over
1651
00:35:07,960 --> 00:35:11,230
are the ones that we're about to go over
for now we're gonna keep it simple we're
1652
00:35:11,230 --> 00:35:11,240
for now we're gonna keep it simple we're
1653
00:35:11,240 --> 00:35:13,840
for now we're gonna keep it simple we're
gonna define a deployment name tom cat -
1654
00:35:13,840 --> 00:35:13,850
gonna define a deployment name tom cat -
1655
00:35:13,850 --> 00:35:18,040
gonna define a deployment name tom cat -
deployment that only has one replicas so
1656
00:35:18,040 --> 00:35:18,050
deployment that only has one replicas so
1657
00:35:18,050 --> 00:35:22,690
deployment that only has one replicas so
one instance of one docker image this
1658
00:35:22,690 --> 00:35:22,700
one instance of one docker image this
1659
00:35:22,700 --> 00:35:27,640
one instance of one docker image this
image is named tomcat version 9.0 if we
1660
00:35:27,640 --> 00:35:27,650
image is named tomcat version 9.0 if we
1661
00:35:27,650 --> 00:35:29,430
image is named tomcat version 9.0 if we
don't specify an external repository
1662
00:35:29,430 --> 00:35:29,440
don't specify an external repository
1663
00:35:29,440 --> 00:35:31,930
don't specify an external repository
Kubernetes will default to the public
1664
00:35:31,930 --> 00:35:31,940
Kubernetes will default to the public
1665
00:35:31,940 --> 00:35:37,599
Kubernetes will default to the public
docker hub finally we let Kubernetes
1666
00:35:37,599 --> 00:35:37,609
docker hub finally we let Kubernetes
1667
00:35:37,609 --> 00:35:41,260
docker hub finally we let Kubernetes
know that the docker container tomcat
1668
00:35:41,260 --> 00:35:41,270
know that the docker container tomcat
1669
00:35:41,270 --> 00:35:46,660
know that the docker container tomcat
version 9.0 exposes a port 8080 this is
1670
00:35:46,660 --> 00:35:46,670
version 9.0 exposes a port 8080 this is
1671
00:35:46,670 --> 00:35:48,730
version 9.0 exposes a port 8080 this is
where the Tomcat application server will
1672
00:35:48,730 --> 00:35:48,740
where the Tomcat application server will
1673
00:35:48,740 --> 00:35:50,650
where the Tomcat application server will
listen by default on the Apache supplied
1674
00:35:50,650 --> 00:35:50,660
listen by default on the Apache supplied
1675
00:35:50,660 --> 00:35:54,700
listen by default on the Apache supplied
image you might remember from our
1676
00:35:54,700 --> 00:35:54,710
image you might remember from our
1677
00:35:54,710 --> 00:35:57,190
image you might remember from our
previous lecture that we have to expose
1678
00:35:57,190 --> 00:35:57,200
previous lecture that we have to expose
1679
00:35:57,200 --> 00:36:00,550
previous lecture that we have to expose
any ports in our deployment to the
1680
00:36:00,550 --> 00:36:00,560
any ports in our deployment to the
1681
00:36:00,560 --> 00:36:04,359
any ports in our deployment to the
outside world for that we'll use the
1682
00:36:04,359 --> 00:36:04,369
outside world for that we'll use the
1683
00:36:04,369 --> 00:36:06,580
outside world for that we'll use the
kubectl command similar to what we did
1684
00:36:06,580 --> 00:36:06,590
kubectl command similar to what we did
1685
00:36:06,590 --> 00:36:09,250
kubectl command similar to what we did
when we were testing minikube will use
1686
00:36:09,250 --> 00:36:09,260
when we were testing minikube will use
1687
00:36:09,260 --> 00:36:11,710
when we were testing minikube will use
the kubectl exposed deployment command
1688
00:36:11,710 --> 00:36:11,720
the kubectl exposed deployment command
1689
00:36:11,720 --> 00:36:16,090
the kubectl exposed deployment command
to expose our service named Tomcat -
1690
00:36:16,090 --> 00:36:16,100
to expose our service named Tomcat -
1691
00:36:16,100 --> 00:36:20,740
to expose our service named Tomcat -
deployment as a node port don't worry
1692
00:36:20,740 --> 00:36:20,750
deployment as a node port don't worry
1693
00:36:20,750 --> 00:36:22,330
deployment as a node port don't worry
about the various types of services in
1694
00:36:22,330 --> 00:36:22,340
about the various types of services in
1695
00:36:22,340 --> 00:36:25,060
about the various types of services in
what they might be in this instance node
1696
00:36:25,060 --> 00:36:25,070
what they might be in this instance node
1697
00:36:25,070 --> 00:36:27,849
what they might be in this instance node
port tells Kubernetes that we'd like to
1698
00:36:27,849 --> 00:36:27,859
port tells Kubernetes that we'd like to
1699
00:36:27,859 --> 00:36:32,530
port tells Kubernetes that we'd like to
export or expose the container port of
1700
00:36:32,530 --> 00:36:32,540
export or expose the container port of
1701
00:36:32,540 --> 00:36:37,690
export or expose the container port of
8080 in our previous file to the
1702
00:36:37,690 --> 00:36:37,700
8080 in our previous file to the
1703
00:36:37,700 --> 00:36:40,570
8080 in our previous file to the
external world on an external port let's
1704
00:36:40,570 --> 00:36:40,580
external world on an external port let's
1705
00:36:40,580 --> 00:36:45,539
external world on an external port let's
see the details of how this works first
1706
00:36:45,539 --> 00:36:45,549
see the details of how this works first
1707
00:36:45,549 --> 00:36:47,159
see the details of how this works first
let's start by verifying the deployment
1708
00:36:47,159 --> 00:36:47,169
let's start by verifying the deployment
1709
00:36:47,169 --> 00:36:51,499
let's start by verifying the deployment
yeah mo is proper looks good
1710
00:36:51,499 --> 00:36:51,509
yeah mo is proper looks good
1711
00:36:51,509 --> 00:36:55,409
yeah mo is proper looks good
we'll use the kubectl apply command to
1712
00:36:55,409 --> 00:36:55,419
we'll use the kubectl apply command to
1713
00:36:55,419 --> 00:36:57,059
we'll use the kubectl apply command to
take the directives from this file and
1714
00:36:57,059 --> 00:36:57,069
take the directives from this file and
1715
00:36:57,069 --> 00:37:01,529
take the directives from this file and
apply it to our cluster you will see
1716
00:37:01,529 --> 00:37:01,539
apply it to our cluster you will see
1717
00:37:01,539 --> 00:37:03,569
apply it to our cluster you will see
that our deployment was successfully
1718
00:37:03,569 --> 00:37:03,579
that our deployment was successfully
1719
00:37:03,579 --> 00:37:06,449
that our deployment was successfully
created the next step is to expose the
1720
00:37:06,449 --> 00:37:06,459
created the next step is to expose the
1721
00:37:06,459 --> 00:37:10,799
created the next step is to expose the
deployment as a service the kubectl
1722
00:37:10,799 --> 00:37:10,809
deployment as a service the kubectl
1723
00:37:10,809 --> 00:37:13,499
deployment as a service the kubectl
expose command will create the actual
1724
00:37:13,499 --> 00:37:13,509
expose command will create the actual
1725
00:37:13,509 --> 00:37:15,380
expose command will create the actual
service and explore it to the world
1726
00:37:15,380 --> 00:37:15,390
service and explore it to the world
1727
00:37:15,390 --> 00:37:18,809
service and explore it to the world
in order to find what port it was
1728
00:37:18,809 --> 00:37:18,819
in order to find what port it was
1729
00:37:18,819 --> 00:37:21,259
in order to find what port it was
created on we'll use the minikube
1730
00:37:21,259 --> 00:37:21,269
created on we'll use the minikube
1731
00:37:21,269 --> 00:37:25,979
created on we'll use the minikube
service with the name of the service - -
1732
00:37:25,979 --> 00:37:25,989
service with the name of the service - -
1733
00:37:25,989 --> 00:37:28,349
service with the name of the service - -
URL command this will provide us with
1734
00:37:28,349 --> 00:37:28,359
URL command this will provide us with
1735
00:37:28,359 --> 00:37:31,259
URL command this will provide us with
the URL including the port number that
1736
00:37:31,259 --> 00:37:31,269
the URL including the port number that
1737
00:37:31,269 --> 00:37:33,899
the URL including the port number that
we can access our give an exposed
1738
00:37:33,899 --> 00:37:33,909
we can access our give an exposed
1739
00:37:33,909 --> 00:37:38,009
we can access our give an exposed
service on copying this URL we'll use
1740
00:37:38,009 --> 00:37:38,019
service on copying this URL we'll use
1741
00:37:38,019 --> 00:37:41,370
service on copying this URL we'll use
curl to access our local service as you
1742
00:37:41,370 --> 00:37:41,380
curl to access our local service as you
1743
00:37:41,380 --> 00:37:44,069
curl to access our local service as you
can see we'll get the HTML of the
1744
00:37:44,069 --> 00:37:44,079
can see we'll get the HTML of the
1745
00:37:44,079 --> 00:37:47,699
can see we'll get the HTML of the
default apache tomcat welcome page we
1746
00:37:47,699 --> 00:37:47,709
default apache tomcat welcome page we
1747
00:37:47,709 --> 00:37:49,649
default apache tomcat welcome page we
can verify using this tool that our
1748
00:37:49,649 --> 00:37:49,659
can verify using this tool that our
1749
00:37:49,659 --> 00:37:52,079
can verify using this tool that our
service is indeed working let's review
1750
00:37:52,079 --> 00:37:52,089
service is indeed working let's review
1751
00:37:52,089 --> 00:37:55,139
service is indeed working let's review
what we did here first we defined a
1752
00:37:55,139 --> 00:37:55,149
what we did here first we defined a
1753
00:37:55,149 --> 00:37:57,659
what we did here first we defined a
deployment llamó file that indicated
1754
00:37:57,659 --> 00:37:57,669
deployment llamó file that indicated
1755
00:37:57,669 --> 00:38:00,689
deployment llamó file that indicated
what image to use and what services that
1756
00:38:00,689 --> 00:38:00,699
what image to use and what services that
1757
00:38:00,699 --> 00:38:04,229
what image to use and what services that
image exposed then we mapped those
1758
00:38:04,229 --> 00:38:04,239
image exposed then we mapped those
1759
00:38:04,239 --> 00:38:06,659
image exposed then we mapped those
exposed services from the container to
1760
00:38:06,659 --> 00:38:06,669
exposed services from the container to
1761
00:38:06,669 --> 00:38:09,959
exposed services from the container to
the outside world next we asked minikube
1762
00:38:09,959 --> 00:38:09,969
the outside world next we asked minikube
1763
00:38:09,969 --> 00:38:13,919
the outside world next we asked minikube
what port it chose to expose to the
1764
00:38:13,919 --> 00:38:13,929
what port it chose to expose to the
1765
00:38:13,929 --> 00:38:14,689
what port it chose to expose to the
outside world
1766
00:38:14,689 --> 00:38:14,699
outside world
1767
00:38:14,699 --> 00:38:17,429
outside world
finally we verified using the curl
1768
00:38:17,429 --> 00:38:17,439
finally we verified using the curl
1769
00:38:17,439 --> 00:38:20,219
finally we verified using the curl
command that we indeed could access our
1770
00:38:20,219 --> 00:38:20,229
command that we indeed could access our
1771
00:38:20,229 --> 00:38:29,859
command that we indeed could access our
service at the given port
1772
00:38:29,869 --> 00:38:34,670
as you've probably noticed the kubectl
1773
00:38:34,670 --> 00:38:34,680
as you've probably noticed the kubectl
1774
00:38:34,680 --> 00:38:36,560
as you've probably noticed the kubectl
command is relatively important in
1775
00:38:36,560 --> 00:38:36,570
command is relatively important in
1776
00:38:36,570 --> 00:38:40,460
command is relatively important in
managing Kubernetes kubectl provides
1777
00:38:40,460 --> 00:38:40,470
managing Kubernetes kubectl provides
1778
00:38:40,470 --> 00:38:42,320
managing Kubernetes kubectl provides
access to both local and remote clusters
1779
00:38:42,320 --> 00:38:42,330
access to both local and remote clusters
1780
00:38:42,330 --> 00:38:44,720
access to both local and remote clusters
and is essentially the primary gateway
1781
00:38:44,720 --> 00:38:44,730
and is essentially the primary gateway
1782
00:38:44,730 --> 00:38:46,970
and is essentially the primary gateway
to interacting with a Kubernetes
1783
00:38:46,970 --> 00:38:46,980
to interacting with a Kubernetes
1784
00:38:46,980 --> 00:38:52,820
to interacting with a Kubernetes
cluster since it's a primary command
1785
00:38:52,820 --> 00:38:52,830
cluster since it's a primary command
1786
00:38:52,830 --> 00:38:54,980
cluster since it's a primary command
line access tool it's important to get
1787
00:38:54,980 --> 00:38:54,990
line access tool it's important to get
1788
00:38:54,990 --> 00:38:58,280
line access tool it's important to get
to know it well by now you've used it to
1789
00:38:58,280 --> 00:38:58,290
to know it well by now you've used it to
1790
00:38:58,290 --> 00:39:01,190
to know it well by now you've used it to
deploy some data and deploy a tomcat
1791
00:39:01,190 --> 00:39:01,200
deploy some data and deploy a tomcat
1792
00:39:01,200 --> 00:39:04,520
deploy some data and deploy a tomcat
deployment to a cluster however you can
1793
00:39:04,520 --> 00:39:04,530
deployment to a cluster however you can
1794
00:39:04,530 --> 00:39:06,380
deployment to a cluster however you can
use it for a variety of other methods
1795
00:39:06,380 --> 00:39:06,390
use it for a variety of other methods
1796
00:39:06,390 --> 00:39:07,780
use it for a variety of other methods
too
1797
00:39:07,780 --> 00:39:07,790
too
1798
00:39:07,790 --> 00:39:10,760
too
we'll go over the most common kubectl
1799
00:39:10,760 --> 00:39:10,770
we'll go over the most common kubectl
1800
00:39:10,770 --> 00:39:14,720
we'll go over the most common kubectl
commands here kubectl commands all
1801
00:39:14,720 --> 00:39:14,730
commands here kubectl commands all
1802
00:39:14,730 --> 00:39:17,890
commands here kubectl commands all
share a relatively similar format and
1803
00:39:17,890 --> 00:39:17,900
share a relatively similar format and
1804
00:39:17,900 --> 00:39:21,589
share a relatively similar format and
command set notice the patterns between
1805
00:39:21,589 --> 00:39:21,599
command set notice the patterns between
1806
00:39:21,599 --> 00:39:23,120
command set notice the patterns between
the commands we'll review here and
1807
00:39:23,120 --> 00:39:23,130
the commands we'll review here and
1808
00:39:23,130 --> 00:39:30,829
the commands we'll review here and
throughout the course the kubectl get
1809
00:39:30,829 --> 00:39:30,839
throughout the course the kubectl get
1810
00:39:30,839 --> 00:39:32,960
throughout the course the kubectl get
pods command lists all pods in a
1811
00:39:32,960 --> 00:39:32,970
pods command lists all pods in a
1812
00:39:32,970 --> 00:39:37,310
pods command lists all pods in a
namespace if we were to take our current
1813
00:39:37,310 --> 00:39:37,320
namespace if we were to take our current
1814
00:39:37,320 --> 00:39:40,190
namespace if we were to take our current
minikube set up and run kubectl get
1815
00:39:40,190 --> 00:39:40,200
minikube set up and run kubectl get
1816
00:39:40,200 --> 00:39:43,430
minikube set up and run kubectl get
pods we would have one single pod listed
1817
00:39:43,430 --> 00:39:43,440
pods we would have one single pod listed
1818
00:39:43,440 --> 00:39:45,290
pods we would have one single pod listed
the Tomcat deployment that we deployed
1819
00:39:45,290 --> 00:39:45,300
the Tomcat deployment that we deployed
1820
00:39:45,300 --> 00:39:48,079
the Tomcat deployment that we deployed
in the previous lecture this command
1821
00:39:48,079 --> 00:39:48,089
in the previous lecture this command
1822
00:39:48,089 --> 00:39:50,210
in the previous lecture this command
provides the state how many pods are
1823
00:39:50,210 --> 00:39:50,220
provides the state how many pods are
1824
00:39:50,220 --> 00:39:53,320
provides the state how many pods are
available restarts and the age
1825
00:39:53,320 --> 00:39:53,330
available restarts and the age
1826
00:39:53,330 --> 00:39:56,630
available restarts and the age
let's run kubectl get pod on our local
1827
00:39:56,630 --> 00:39:56,640
let's run kubectl get pod on our local
1828
00:39:56,640 --> 00:40:00,800
let's run kubectl get pod on our local
minikube you'll notice that our Tomcat
1829
00:40:00,800 --> 00:40:00,810
minikube you'll notice that our Tomcat
1830
00:40:00,810 --> 00:40:03,170
minikube you'll notice that our Tomcat
deployment container actually pod is
1831
00:40:03,170 --> 00:40:03,180
deployment container actually pod is
1832
00:40:03,180 --> 00:40:05,540
deployment container actually pod is
right there don't worry about the other
1833
00:40:05,540 --> 00:40:05,550
right there don't worry about the other
1834
00:40:05,550 --> 00:40:07,250
right there don't worry about the other
two those are images I had running for
1835
00:40:07,250 --> 00:40:07,260
two those are images I had running for
1836
00:40:07,260 --> 00:40:10,700
two those are images I had running for
later examples let's cut and paste the
1837
00:40:10,700 --> 00:40:10,710
later examples let's cut and paste the
1838
00:40:10,710 --> 00:40:14,000
later examples let's cut and paste the
name of that pod for use in the next
1839
00:40:14,000 --> 00:40:14,010
name of that pod for use in the next
1840
00:40:14,010 --> 00:40:22,360
name of that pod for use in the next
command copy that to your clipboard
1841
00:40:22,370 --> 00:40:24,460
if we'd like to get more detailed
1842
00:40:24,460 --> 00:40:24,470
if we'd like to get more detailed
1843
00:40:24,470 --> 00:40:28,060
if we'd like to get more detailed
information on a pod or pods we can use
1844
00:40:28,060 --> 00:40:28,070
information on a pod or pods we can use
1845
00:40:28,070 --> 00:40:31,920
information on a pod or pods we can use
the kubectl described pod command if
1846
00:40:31,920 --> 00:40:31,930
the kubectl described pod command if
1847
00:40:31,930 --> 00:40:34,240
the kubectl described pod command if
you don't provide this command a pod
1848
00:40:34,240 --> 00:40:34,250
you don't provide this command a pod
1849
00:40:34,250 --> 00:40:36,100
you don't provide this command a pod
name it will provide detailed
1850
00:40:36,100 --> 00:40:36,110
name it will provide detailed
1851
00:40:36,110 --> 00:40:38,260
name it will provide detailed
information on every pod in the
1852
00:40:38,260 --> 00:40:38,270
information on every pod in the
1853
00:40:38,270 --> 00:40:40,930
information on every pod in the
namespace in the cluster if you provide
1854
00:40:40,930 --> 00:40:40,940
namespace in the cluster if you provide
1855
00:40:40,940 --> 00:40:43,630
namespace in the cluster if you provide
it optionally the name of a pod
1856
00:40:43,630 --> 00:40:43,640
it optionally the name of a pod
1857
00:40:43,640 --> 00:40:46,390
it optionally the name of a pod
it'll only provide data on that specific
1858
00:40:46,390 --> 00:40:46,400
it'll only provide data on that specific
1859
00:40:46,400 --> 00:40:51,010
it'll only provide data on that specific
pod let's use the kubectl described
1860
00:40:51,010 --> 00:40:51,020
pod let's use the kubectl described
1861
00:40:51,020 --> 00:40:53,650
pod let's use the kubectl described
pod command and the name of the pod that
1862
00:40:53,650 --> 00:40:53,660
pod command and the name of the pod that
1863
00:40:53,660 --> 00:40:55,360
pod command and the name of the pod that
we've already copied to our clipboard to
1864
00:40:55,360 --> 00:40:55,370
we've already copied to our clipboard to
1865
00:40:55,370 --> 00:40:56,920
we've already copied to our clipboard to
get detailed information about the
1866
00:40:56,920 --> 00:40:56,930
get detailed information about the
1867
00:40:56,930 --> 00:41:00,160
get detailed information about the
Tomcat deployment as you can see here we
1868
00:41:00,160 --> 00:41:00,170
Tomcat deployment as you can see here we
1869
00:41:00,170 --> 00:41:01,740
Tomcat deployment as you can see here we
have a wide variety of detailed data
1870
00:41:01,740 --> 00:41:01,750
have a wide variety of detailed data
1871
00:41:01,750 --> 00:41:04,570
have a wide variety of detailed data
specifically and only about the
1872
00:41:04,570 --> 00:41:04,580
specifically and only about the
1873
00:41:04,580 --> 00:41:20,050
specifically and only about the
deployment for our Tomcat
1874
00:41:20,060 --> 00:41:22,280
hopefully you remember the kubectl
1875
00:41:22,280 --> 00:41:22,290
hopefully you remember the kubectl
1876
00:41:22,290 --> 00:41:24,590
hopefully you remember the kubectl
expose port command remember docker
1877
00:41:24,590 --> 00:41:24,600
expose port command remember docker
1878
00:41:24,600 --> 00:41:27,170
expose port command remember docker
containers can export expose a specific
1879
00:41:27,170 --> 00:41:27,180
containers can export expose a specific
1880
00:41:27,180 --> 00:41:30,620
containers can export expose a specific
port we have to take that port and tell
1881
00:41:30,620 --> 00:41:30,630
port we have to take that port and tell
1882
00:41:30,630 --> 00:41:32,210
port we have to take that port and tell
Kubernetes to expose it to the outside
1883
00:41:32,210 --> 00:41:32,220
Kubernetes to expose it to the outside
1884
00:41:32,220 --> 00:41:35,120
Kubernetes to expose it to the outside
world using the exposed port set of
1885
00:41:35,120 --> 00:41:35,130
world using the exposed port set of
1886
00:41:35,130 --> 00:41:38,120
world using the exposed port set of
commands in kubectl were able to name a
1887
00:41:38,120 --> 00:41:38,130
commands in kubectl were able to name a
1888
00:41:38,130 --> 00:41:41,840
commands in kubectl were able to name a
deployment a pod or a service and expose
1889
00:41:41,840 --> 00:41:41,850
deployment a pod or a service and expose
1890
00:41:41,850 --> 00:41:43,700
deployment a pod or a service and expose
it to the given world at a given port or
1891
00:41:43,700 --> 00:41:43,710
it to the given world at a given port or
1892
00:41:43,710 --> 00:41:46,070
it to the given world at a given port or
a random port that kubectl chooses
1893
00:41:46,070 --> 00:41:46,080
a random port that kubectl chooses
1894
00:41:46,080 --> 00:41:48,860
a random port that kubectl chooses
we're also able to define what type of
1895
00:41:48,860 --> 00:41:48,870
we're also able to define what type of
1896
00:41:48,870 --> 00:41:51,020
we're also able to define what type of
service this is is it an internal only
1897
00:41:51,020 --> 00:41:51,030
service this is is it an internal only
1898
00:41:51,030 --> 00:41:54,470
service this is is it an internal only
service also known as cluster IV is it
1899
00:41:54,470 --> 00:41:54,480
service also known as cluster IV is it
1900
00:41:54,480 --> 00:41:57,290
service also known as cluster IV is it
an externally available IP address also
1901
00:41:57,290 --> 00:41:57,300
an externally available IP address also
1902
00:41:57,300 --> 00:42:00,440
an externally available IP address also
known as node board or should we use a
1903
00:42:00,440 --> 00:42:00,450
known as node board or should we use a
1904
00:42:00,450 --> 00:42:03,470
known as node board or should we use a
function of a load balancer those are
1905
00:42:03,470 --> 00:42:03,480
function of a load balancer those are
1906
00:42:03,480 --> 00:42:04,970
function of a load balancer those are
more advanced usages we'll get into
1907
00:42:04,970 --> 00:42:04,980
more advanced usages we'll get into
1908
00:42:04,980 --> 00:42:07,880
more advanced usages we'll get into
later in the lecture however using the
1909
00:42:07,880 --> 00:42:07,890
later in the lecture however using the
1910
00:42:07,890 --> 00:42:10,460
later in the lecture however using the
type argument we're able to specify what
1911
00:42:10,460 --> 00:42:10,470
type argument we're able to specify what
1912
00:42:10,470 --> 00:42:15,650
type argument we're able to specify what
type of port we're trying to expose next
1913
00:42:15,650 --> 00:42:15,660
type of port we're trying to expose next
1914
00:42:15,660 --> 00:42:17,750
type of port we're trying to expose next
the kubectl port forward command
1915
00:42:17,750 --> 00:42:17,760
the kubectl port forward command
1916
00:42:17,760 --> 00:42:19,760
the kubectl port forward command
provides you with the facility to
1917
00:42:19,760 --> 00:42:19,770
provides you with the facility to
1918
00:42:19,770 --> 00:42:22,070
provides you with the facility to
forward a port from the local machine on
1919
00:42:22,070 --> 00:42:22,080
forward a port from the local machine on
1920
00:42:22,080 --> 00:42:25,610
forward a port from the local machine on
which kubectl is running to the pod on
1921
00:42:25,610 --> 00:42:25,620
which kubectl is running to the pod on
1922
00:42:25,620 --> 00:42:28,220
which kubectl is running to the pod on
the remote host that kubectl is
1923
00:42:28,220 --> 00:42:28,230
the remote host that kubectl is
1924
00:42:28,230 --> 00:42:31,130
the remote host that kubectl is
connecting to in our current case since
1925
00:42:31,130 --> 00:42:31,140
connecting to in our current case since
1926
00:42:31,140 --> 00:42:32,660
connecting to in our current case since
minikube is already running on our
1927
00:42:32,660 --> 00:42:32,670
minikube is already running on our
1928
00:42:32,670 --> 00:42:34,760
minikube is already running on our
system locally this really doesn't seem
1929
00:42:34,760 --> 00:42:34,770
system locally this really doesn't seem
1930
00:42:34,770 --> 00:42:36,800
system locally this really doesn't seem
to do much different from kubectl
1931
00:42:36,800 --> 00:42:36,810
to do much different from kubectl
1932
00:42:36,810 --> 00:42:39,680
to do much different from kubectl
expose however when you're dealing with
1933
00:42:39,680 --> 00:42:39,690
expose however when you're dealing with
1934
00:42:39,690 --> 00:42:41,960
expose however when you're dealing with
a remote cluster and simply need to map
1935
00:42:41,960 --> 00:42:41,970
a remote cluster and simply need to map
1936
00:42:41,970 --> 00:42:45,110
a remote cluster and simply need to map
a local port on your machine to a remote
1937
00:42:45,110 --> 00:42:45,120
a local port on your machine to a remote
1938
00:42:45,120 --> 00:42:47,870
a local port on your machine to a remote
port on a given pod or container this
1939
00:42:47,870 --> 00:42:47,880
port on a given pod or container this
1940
00:42:47,880 --> 00:42:51,220
port on a given pod or container this
can be quite useful
1941
00:42:51,230 --> 00:42:54,470
the kubectl attach command allows you
1942
00:42:54,470 --> 00:42:54,480
the kubectl attach command allows you
1943
00:42:54,480 --> 00:42:57,530
the kubectl attach command allows you
to attach to a pod to view its output it
1944
00:42:57,530 --> 00:42:57,540
to attach to a pod to view its output it
1945
00:42:57,540 --> 00:42:59,240
to attach to a pod to view its output it
attaches to a process that is already
1946
00:42:59,240 --> 00:42:59,250
attaches to a process that is already
1947
00:42:59,250 --> 00:43:01,280
attaches to a process that is already
running inside an existing container
1948
00:43:01,280 --> 00:43:01,290
running inside an existing container
1949
00:43:01,290 --> 00:43:03,620
running inside an existing container
that's important to note especially as
1950
00:43:03,620 --> 00:43:03,630
that's important to note especially as
1951
00:43:03,630 --> 00:43:06,550
that's important to note especially as
we go over at the next few commands
1952
00:43:06,550 --> 00:43:06,560
we go over at the next few commands
1953
00:43:06,560 --> 00:43:09,440
we go over at the next few commands
kubectl exec will execute a command
1954
00:43:09,440 --> 00:43:09,450
kubectl exec will execute a command
1955
00:43:09,450 --> 00:43:12,170
kubectl exec will execute a command
within a container this is a very useful
1956
00:43:12,170 --> 00:43:12,180
within a container this is a very useful
1957
00:43:12,180 --> 00:43:14,240
within a container this is a very useful
command for debugging and understanding
1958
00:43:14,240 --> 00:43:14,250
command for debugging and understanding
1959
00:43:14,250 --> 00:43:15,500
command for debugging and understanding
what might be going on inside your
1960
00:43:15,500 --> 00:43:15,510
what might be going on inside your
1961
00:43:15,510 --> 00:43:18,110
what might be going on inside your
containers as it allows you bash access
1962
00:43:18,110 --> 00:43:18,120
containers as it allows you bash access
1963
00:43:18,120 --> 00:43:19,700
containers as it allows you bash access
to containers that may not otherwise
1964
00:43:19,700 --> 00:43:19,710
to containers that may not otherwise
1965
00:43:19,710 --> 00:43:23,690
to containers that may not otherwise
have interactive facilities the - I and
1966
00:43:23,690 --> 00:43:23,700
have interactive facilities the - I and
1967
00:43:23,700 --> 00:43:25,790
have interactive facilities the - I and
the - T options are relatively important
1968
00:43:25,790 --> 00:43:25,800
the - T options are relatively important
1969
00:43:25,800 --> 00:43:28,320
the - T options are relatively important
when running Kubik exec
1970
00:43:28,320 --> 00:43:28,330
when running Kubik exec
1971
00:43:28,330 --> 00:43:31,140
when running Kubik exec
you are able to interact directly with
1972
00:43:31,140 --> 00:43:31,150
you are able to interact directly with
1973
00:43:31,150 --> 00:43:34,290
you are able to interact directly with
the process you run for example Bosch if
1974
00:43:34,290 --> 00:43:34,300
the process you run for example Bosch if
1975
00:43:34,300 --> 00:43:37,050
the process you run for example Bosch if
you specify the - I and the - deacon
1976
00:43:37,050 --> 00:43:37,060
you specify the - I and the - deacon
1977
00:43:37,060 --> 00:43:40,880
you specify the - I and the - deacon
options look at the sample output
1978
00:43:40,880 --> 00:43:40,890
options look at the sample output
1979
00:43:40,890 --> 00:43:43,050
options look at the sample output
understand what is happening here
1980
00:43:43,050 --> 00:43:43,060
understand what is happening here
1981
00:43:43,060 --> 00:43:44,760
understand what is happening here
because this is a command that you may
1982
00:43:44,760 --> 00:43:44,770
because this is a command that you may
1983
00:43:44,770 --> 00:43:47,520
because this is a command that you may
use very frequently when debugging or
1984
00:43:47,520 --> 00:43:47,530
use very frequently when debugging or
1985
00:43:47,530 --> 00:43:50,610
use very frequently when debugging or
creating complex deployments kubectl
1986
00:43:50,610 --> 00:43:50,620
creating complex deployments kubectl
1987
00:43:50,620 --> 00:43:53,940
creating complex deployments kubectl
exec - IT followed by the name of the
1988
00:43:53,940 --> 00:43:53,950
exec - IT followed by the name of the
1989
00:43:53,950 --> 00:43:56,160
exec - IT followed by the name of the
pod followed by the command you'd like
1990
00:43:56,160 --> 00:43:56,170
pod followed by the command you'd like
1991
00:43:56,170 --> 00:43:58,740
pod followed by the command you'd like
to run in this case bash provides us
1992
00:43:58,740 --> 00:43:58,750
to run in this case bash provides us
1993
00:43:58,750 --> 00:44:00,780
to run in this case bash provides us
with interactive shell access onto that
1994
00:44:00,780 --> 00:44:00,790
with interactive shell access onto that
1995
00:44:00,790 --> 00:44:02,880
with interactive shell access onto that
container using interactive shell access
1996
00:44:02,880 --> 00:44:02,890
container using interactive shell access
1997
00:44:02,890 --> 00:44:04,860
container using interactive shell access
we can then introspect processes and
1998
00:44:04,860 --> 00:44:04,870
we can then introspect processes and
1999
00:44:04,870 --> 00:44:06,660
we can then introspect processes and
other items available inside that
2000
00:44:06,660 --> 00:44:06,670
other items available inside that
2001
00:44:06,670 --> 00:44:08,700
other items available inside that
container that we otherwise would have
2002
00:44:08,700 --> 00:44:08,710
container that we otherwise would have
2003
00:44:08,710 --> 00:44:10,680
container that we otherwise would have
to use other methods such as log
2004
00:44:10,680 --> 00:44:10,690
to use other methods such as log
2005
00:44:10,690 --> 00:44:14,490
to use other methods such as log
analysis to get after let's use the
2006
00:44:14,490 --> 00:44:14,500
analysis to get after let's use the
2007
00:44:14,500 --> 00:44:18,450
analysis to get after let's use the
kubectl get pod command to copy the
2008
00:44:18,450 --> 00:44:18,460
kubectl get pod command to copy the
2009
00:44:18,460 --> 00:44:20,940
kubectl get pod command to copy the
name of our existing tomcat pod to the
2010
00:44:20,940 --> 00:44:20,950
name of our existing tomcat pod to the
2011
00:44:20,950 --> 00:44:26,580
name of our existing tomcat pod to the
clipboard let's use that name to use the
2012
00:44:26,580 --> 00:44:26,590
clipboard let's use that name to use the
2013
00:44:26,590 --> 00:44:30,090
clipboard let's use that name to use the
kubectl exact command with the - IT
2014
00:44:30,090 --> 00:44:30,100
kubectl exact command with the - IT
2015
00:44:30,100 --> 00:44:33,180
kubectl exact command with the - IT
options that way we can interact with it
2016
00:44:33,180 --> 00:44:33,190
options that way we can interact with it
2017
00:44:33,190 --> 00:44:36,510
options that way we can interact with it
using the standard in as a TTY to run
2018
00:44:36,510 --> 00:44:36,520
using the standard in as a TTY to run
2019
00:44:36,520 --> 00:44:38,760
using the standard in as a TTY to run
the bash command we now have a bash
2020
00:44:38,760 --> 00:44:38,770
the bash command we now have a bash
2021
00:44:38,770 --> 00:44:40,890
the bash command we now have a bash
shell within our given pod that we
2022
00:44:40,890 --> 00:44:40,900
shell within our given pod that we
2023
00:44:40,900 --> 00:44:46,110
shell within our given pod that we
specified our tomcat pod remember bash
2024
00:44:46,110 --> 00:44:46,120
specified our tomcat pod remember bash
2025
00:44:46,120 --> 00:44:47,970
specified our tomcat pod remember bash
isn't the only command you can run you
2026
00:44:47,970 --> 00:44:47,980
isn't the only command you can run you
2027
00:44:47,980 --> 00:44:49,470
isn't the only command you can run you
can run anything that's executable
2028
00:44:49,470 --> 00:44:49,480
can run anything that's executable
2029
00:44:49,480 --> 00:44:51,210
can run anything that's executable
within that docker image specified in
2030
00:44:51,210 --> 00:44:51,220
within that docker image specified in
2031
00:44:51,220 --> 00:44:54,150
within that docker image specified in
that pod however it seems to be the most
2032
00:44:54,150 --> 00:44:54,160
that pod however it seems to be the most
2033
00:44:54,160 --> 00:44:57,090
that pod however it seems to be the most
common and most useful way of using the
2034
00:44:57,090 --> 00:44:57,100
common and most useful way of using the
2035
00:44:57,100 --> 00:44:59,250
common and most useful way of using the
kubectl exec command when debugging
2036
00:44:59,250 --> 00:44:59,260
kubectl exec command when debugging
2037
00:44:59,260 --> 00:45:04,880
kubectl exec command when debugging
pods
2038
00:45:04,890 --> 00:45:07,680
Kubernetes also provides a similar set
2039
00:45:07,680 --> 00:45:07,690
Kubernetes also provides a similar set
2040
00:45:07,690 --> 00:45:09,809
Kubernetes also provides a similar set
of facilities to label pods for
2041
00:45:09,809 --> 00:45:09,819
of facilities to label pods for
2042
00:45:09,819 --> 00:45:11,809
of facilities to label pods for
classification either through automated
2043
00:45:11,809 --> 00:45:11,819
classification either through automated
2044
00:45:11,819 --> 00:45:14,359
classification either through automated
processes or for manual bookkeeping
2045
00:45:14,359 --> 00:45:14,369
processes or for manual bookkeeping
2046
00:45:14,369 --> 00:45:17,519
processes or for manual bookkeeping
using the kubectl label pods command
2047
00:45:17,519 --> 00:45:17,529
using the kubectl label pods command
2048
00:45:17,529 --> 00:45:20,609
using the kubectl label pods command
we're able to set key value pairs on any
2049
00:45:20,609 --> 00:45:20,619
we're able to set key value pairs on any
2050
00:45:20,619 --> 00:45:23,130
we're able to set key value pairs on any
given pod this command updates the
2051
00:45:23,130 --> 00:45:23,140
given pod this command updates the
2052
00:45:23,140 --> 00:45:25,829
given pod this command updates the
labels on a given resource for example
2053
00:45:25,829 --> 00:45:25,839
labels on a given resource for example
2054
00:45:25,839 --> 00:45:28,349
labels on a given resource for example
here we're labeling our Tomcat
2055
00:45:28,349 --> 00:45:28,359
here we're labeling our Tomcat
2056
00:45:28,359 --> 00:45:35,660
here we're labeling our Tomcat
deployment pod healthy equals false
2057
00:45:35,670 --> 00:45:38,519
finally the kubectl run command
2058
00:45:38,519 --> 00:45:38,529
finally the kubectl run command
2059
00:45:38,529 --> 00:45:41,339
finally the kubectl run command
provides us with a quick and easy way of
2060
00:45:41,339 --> 00:45:41,349
provides us with a quick and easy way of
2061
00:45:41,349 --> 00:45:43,700
provides us with a quick and easy way of
running a given image on our cluster
2062
00:45:43,700 --> 00:45:43,710
running a given image on our cluster
2063
00:45:43,710 --> 00:45:45,809
running a given image on our cluster
you'll remember we had to define a
2064
00:45:45,809 --> 00:45:45,819
you'll remember we had to define a
2065
00:45:45,819 --> 00:45:49,109
you'll remember we had to define a
deployment file to define a pod that
2066
00:45:49,109 --> 00:45:49,119
deployment file to define a pod that
2067
00:45:49,119 --> 00:45:51,089
deployment file to define a pod that
pointed to a docker image to get our
2068
00:45:51,089 --> 00:45:51,099
pointed to a docker image to get our
2069
00:45:51,099 --> 00:45:52,880
pointed to a docker image to get our
Tomcat deployment to run in our cluster
2070
00:45:52,880 --> 00:45:52,890
Tomcat deployment to run in our cluster
2071
00:45:52,890 --> 00:45:55,230
Tomcat deployment to run in our cluster
well that certainly is the preferred
2072
00:45:55,230 --> 00:45:55,240
well that certainly is the preferred
2073
00:45:55,240 --> 00:45:56,819
well that certainly is the preferred
method of deploying production
2074
00:45:56,819 --> 00:45:56,829
method of deploying production
2075
00:45:56,829 --> 00:45:59,519
method of deploying production
applications in certain situations you
2076
00:45:59,519 --> 00:45:59,529
applications in certain situations you
2077
00:45:59,529 --> 00:46:01,289
applications in certain situations you
may want to run a particular image on a
2078
00:46:01,289 --> 00:46:01,299
may want to run a particular image on a
2079
00:46:01,299 --> 00:46:04,200
may want to run a particular image on a
cluster relatively quickly and without
2080
00:46:04,200 --> 00:46:04,210
cluster relatively quickly and without
2081
00:46:04,210 --> 00:46:05,759
cluster relatively quickly and without
having to do it in a replicable fashion
2082
00:46:05,759 --> 00:46:05,769
having to do it in a replicable fashion
2083
00:46:05,769 --> 00:46:08,039
having to do it in a replicable fashion
the kubectl run command can be
2084
00:46:08,039 --> 00:46:08,049
the kubectl run command can be
2085
00:46:08,049 --> 00:46:10,680
the kubectl run command can be
particularly useful in that case you can
2086
00:46:10,680 --> 00:46:10,690
particularly useful in that case you can
2087
00:46:10,690 --> 00:46:13,650
particularly useful in that case you can
provide it with an image to run a port
2088
00:46:13,650 --> 00:46:13,660
provide it with an image to run a port
2089
00:46:13,660 --> 00:46:16,380
provide it with an image to run a port
to expose and other options a more
2090
00:46:16,380 --> 00:46:16,390
to expose and other options a more
2091
00:46:16,390 --> 00:46:21,180
to expose and other options a more
advanced usage are also available let's
2092
00:46:21,180 --> 00:46:21,190
advanced usage are also available let's
2093
00:46:21,190 --> 00:46:24,480
advanced usage are also available let's
use the kubectl run command in this
2094
00:46:24,480 --> 00:46:24,490
use the kubectl run command in this
2095
00:46:24,490 --> 00:46:26,640
use the kubectl run command in this
case we'll use the kubectl run command
2096
00:46:26,640 --> 00:46:26,650
case we'll use the kubectl run command
2097
00:46:26,650 --> 00:46:29,940
case we'll use the kubectl run command
to run a copy of the popular Hazel cast
2098
00:46:29,940 --> 00:46:29,950
to run a copy of the popular Hazel cast
2099
00:46:29,950 --> 00:46:34,529
to run a copy of the popular Hazel cast
server using kubectl run hazel cast
2100
00:46:34,529 --> 00:46:34,539
server using kubectl run hazel cast
2101
00:46:34,539 --> 00:46:37,440
server using kubectl run hazel cast
giving it a name Hazel cast specifying
2102
00:46:37,440 --> 00:46:37,450
giving it a name Hazel cast specifying
2103
00:46:37,450 --> 00:46:40,170
giving it a name Hazel cast specifying
the image hazel cast and a port to
2104
00:46:40,170 --> 00:46:40,180
the image hazel cast and a port to
2105
00:46:40,180 --> 00:46:43,529
the image hazel cast and a port to
expose 5701 gives us the ability to
2106
00:46:43,529 --> 00:46:43,539
expose 5701 gives us the ability to
2107
00:46:43,539 --> 00:46:46,319
expose 5701 gives us the ability to
create a deployment with one command
2108
00:46:46,319 --> 00:46:46,329
create a deployment with one command
2109
00:46:46,329 --> 00:46:48,839
create a deployment with one command
let's use the kubectl described pod
2110
00:46:48,839 --> 00:46:48,849
let's use the kubectl described pod
2111
00:46:48,849 --> 00:46:50,819
let's use the kubectl described pod
command from earlier to describe the
2112
00:46:50,819 --> 00:46:50,829
command from earlier to describe the
2113
00:46:50,829 --> 00:46:54,089
command from earlier to describe the
pause running on our minikube if we
2114
00:46:54,089 --> 00:46:54,099
pause running on our minikube if we
2115
00:46:54,099 --> 00:46:55,680
pause running on our minikube if we
scroll up through some of our other pods
2116
00:46:55,680 --> 00:46:55,690
scroll up through some of our other pods
2117
00:46:55,690 --> 00:46:57,390
scroll up through some of our other pods
for example our Tom cast pod that's
2118
00:46:57,390 --> 00:46:57,400
for example our Tom cast pod that's
2119
00:46:57,400 --> 00:46:59,460
for example our Tom cast pod that's
already there we can see that the hazel
2120
00:46:59,460 --> 00:46:59,470
already there we can see that the hazel
2121
00:46:59,470 --> 00:47:02,640
already there we can see that the hazel
cast pod has been deployed we were able
2122
00:47:02,640 --> 00:47:02,650
cast pod has been deployed we were able
2123
00:47:02,650 --> 00:47:04,680
cast pod has been deployed we were able
to do that with a single command instead
2124
00:47:04,680 --> 00:47:04,690
to do that with a single command instead
2125
00:47:04,690 --> 00:47:06,390
to do that with a single command instead
of having to find a deployment simply by
2126
00:47:06,390 --> 00:47:06,400
of having to find a deployment simply by
2127
00:47:06,400 --> 00:47:09,180
of having to find a deployment simply by
hand this is a convenient tool for a
2128
00:47:09,180 --> 00:47:09,190
hand this is a convenient tool for a
2129
00:47:09,190 --> 00:47:11,400
hand this is a convenient tool for a
quick administration these commands are
2130
00:47:11,400 --> 00:47:11,410
quick administration these commands are
2131
00:47:11,410 --> 00:47:15,510
quick administration these commands are
simply an example of a wide variety of
2132
00:47:15,510 --> 00:47:15,520
simply an example of a wide variety of
2133
00:47:15,520 --> 00:47:16,860
simply an example of a wide variety of
powerful commands that are available to
2134
00:47:16,860 --> 00:47:16,870
powerful commands that are available to
2135
00:47:16,870 --> 00:47:20,250
powerful commands that are available to
you through kubectl will go into more
2136
00:47:20,250 --> 00:47:20,260
you through kubectl will go into more
2137
00:47:20,260 --> 00:47:22,830
you through kubectl will go into more
in-depth further in the lecture however
2138
00:47:22,830 --> 00:47:22,840
in-depth further in the lecture however
2139
00:47:22,840 --> 00:47:24,780
in-depth further in the lecture however
it's good to keep these two references
2140
00:47:24,780 --> 00:47:24,790
it's good to keep these two references
2141
00:47:24,790 --> 00:47:26,340
it's good to keep these two references
in your bookmarks as you explore
2142
00:47:26,340 --> 00:47:26,350
in your bookmarks as you explore
2143
00:47:26,350 --> 00:47:29,550
in your bookmarks as you explore
Kubernetes first the kubectl reference
2144
00:47:29,550 --> 00:47:29,560
Kubernetes first the kubectl reference
2145
00:47:29,560 --> 00:47:31,350
Kubernetes first the kubectl reference
for the latest version of Kubernetes and
2146
00:47:31,350 --> 00:47:31,360
for the latest version of Kubernetes and
2147
00:47:31,360 --> 00:47:34,530
for the latest version of Kubernetes and
second it kubectl cheat sheet that
2148
00:47:34,530 --> 00:47:34,540
second it kubectl cheat sheet that
2149
00:47:34,540 --> 00:47:37,020
second it kubectl cheat sheet that
provides shortcuts to commonly-used in
2150
00:47:37,020 --> 00:47:37,030
provides shortcuts to commonly-used in
2151
00:47:37,030 --> 00:47:40,980
provides shortcuts to commonly-used in
the kubectl commands remember kubectl
2152
00:47:40,980 --> 00:47:40,990
the kubectl commands remember kubectl
2153
00:47:40,990 --> 00:47:42,990
the kubectl commands remember kubectl
exposes nearly every aspect of the
2154
00:47:42,990 --> 00:47:43,000
exposes nearly every aspect of the
2155
00:47:43,000 --> 00:47:45,270
exposes nearly every aspect of the
Kubernetes api through that command-line
2156
00:47:45,270 --> 00:47:45,280
Kubernetes api through that command-line
2157
00:47:45,280 --> 00:47:49,050
Kubernetes api through that command-line
tool it's powerful and will be your
2158
00:47:49,050 --> 00:47:49,060
tool it's powerful and will be your
2159
00:47:49,060 --> 00:47:51,150
tool it's powerful and will be your
friend and mastering it will make your
2160
00:47:51,150 --> 00:47:51,160
friend and mastering it will make your
2161
00:47:51,160 --> 00:47:53,160
friend and mastering it will make your
journey into Kubernetes all that much
2162
00:47:53,160 --> 00:47:53,170
journey into Kubernetes all that much
2163
00:47:53,170 --> 00:47:57,480
journey into Kubernetes all that much
easier however that's no need to fret
2164
00:47:57,480 --> 00:47:57,490
easier however that's no need to fret
2165
00:47:57,490 --> 00:47:59,640
easier however that's no need to fret
about rote memorization the more
2166
00:47:59,640 --> 00:47:59,650
about rote memorization the more
2167
00:47:59,650 --> 00:48:02,040
about rote memorization the more
important aspect of kubectl much like
2168
00:48:02,040 --> 00:48:02,050
important aspect of kubectl much like
2169
00:48:02,050 --> 00:48:04,290
important aspect of kubectl much like
anything else is to understand what it
2170
00:48:04,290 --> 00:48:04,300
anything else is to understand what it
2171
00:48:04,300 --> 00:48:06,720
anything else is to understand what it
can do for you the documentation and
2172
00:48:06,720 --> 00:48:06,730
can do for you the documentation and
2173
00:48:06,730 --> 00:48:08,160
can do for you the documentation and
reference will always be there to
2174
00:48:08,160 --> 00:48:08,170
reference will always be there to
2175
00:48:08,170 --> 00:48:10,620
reference will always be there to
provide you specific details on how to
2176
00:48:10,620 --> 00:48:10,630
provide you specific details on how to
2177
00:48:10,630 --> 00:48:11,070
provide you specific details on how to
do it
2178
00:48:11,070 --> 00:48:11,080
do it
2179
00:48:11,080 --> 00:48:13,710
do it
at this point simply understanding what
2180
00:48:13,710 --> 00:48:13,720
at this point simply understanding what
2181
00:48:13,720 --> 00:48:15,990
at this point simply understanding what
is available to you within kubectl is
2182
00:48:15,990 --> 00:48:16,000
is available to you within kubectl is
2183
00:48:16,000 --> 00:48:18,030
is available to you within kubectl is
going to be the most powerful tool and
2184
00:48:18,030 --> 00:48:18,040
going to be the most powerful tool and
2185
00:48:18,040 --> 00:48:27,200
going to be the most powerful tool and
the most powerful area to focus on in
2186
00:48:27,200 --> 00:48:27,210
the most powerful area to focus on in
2187
00:48:27,210 --> 00:48:29,220
the most powerful area to focus on in
previous lectures we've gone through
2188
00:48:29,220 --> 00:48:29,230
previous lectures we've gone through
2189
00:48:29,230 --> 00:48:30,840
previous lectures we've gone through
deploying applications to our local
2190
00:48:30,840 --> 00:48:30,850
deploying applications to our local
2191
00:48:30,850 --> 00:48:32,730
deploying applications to our local
Kubernetes cluster running on minikube
2192
00:48:32,730 --> 00:48:32,740
Kubernetes cluster running on minikube
2193
00:48:32,740 --> 00:48:34,830
Kubernetes cluster running on minikube
we type a command or send a small
2194
00:48:34,830 --> 00:48:34,840
we type a command or send a small
2195
00:48:34,840 --> 00:48:36,540
we type a command or send a small
configuration file and the app is
2196
00:48:36,540 --> 00:48:36,550
configuration file and the app is
2197
00:48:36,550 --> 00:48:39,060
configuration file and the app is
running seems pretty simple right well
2198
00:48:39,060 --> 00:48:39,070
running seems pretty simple right well
2199
00:48:39,070 --> 00:48:41,220
running seems pretty simple right well
that's how it should be Kubernetes is
2200
00:48:41,220 --> 00:48:41,230
that's how it should be Kubernetes is
2201
00:48:41,230 --> 00:48:43,020
that's how it should be Kubernetes is
designed to keep you productive and your
2202
00:48:43,020 --> 00:48:43,030
designed to keep you productive and your
2203
00:48:43,030 --> 00:48:45,300
designed to keep you productive and your
systems performant by abstracting a lot
2204
00:48:45,300 --> 00:48:45,310
systems performant by abstracting a lot
2205
00:48:45,310 --> 00:48:47,250
systems performant by abstracting a lot
of complexity into higher-level concepts
2206
00:48:47,250 --> 00:48:47,260
of complexity into higher-level concepts
2207
00:48:47,260 --> 00:48:49,680
of complexity into higher-level concepts
which are very easy to work with but if
2208
00:48:49,680 --> 00:48:49,690
which are very easy to work with but if
2209
00:48:49,690 --> 00:48:51,450
which are very easy to work with but if
you're anything like me the first time I
2210
00:48:51,450 --> 00:48:51,460
you're anything like me the first time I
2211
00:48:51,460 --> 00:48:53,370
you're anything like me the first time I
saw the magic of Kubernetes in action I
2212
00:48:53,370 --> 00:48:53,380
saw the magic of Kubernetes in action I
2213
00:48:53,380 --> 00:48:55,380
saw the magic of Kubernetes in action I
was very curious as to what was going on
2214
00:48:55,380 --> 00:48:55,390
was very curious as to what was going on
2215
00:48:55,390 --> 00:48:57,330
was very curious as to what was going on
under the covers that reduced all of
2216
00:48:57,330 --> 00:48:57,340
under the covers that reduced all of
2217
00:48:57,340 --> 00:48:59,480
under the covers that reduced all of
this work to a single command
2218
00:48:59,480 --> 00:48:59,490
this work to a single command
2219
00:48:59,490 --> 00:49:01,440
this work to a single command
understanding this is not only fun for
2220
00:49:01,440 --> 00:49:01,450
understanding this is not only fun for
2221
00:49:01,450 --> 00:49:03,330
understanding this is not only fun for
curiosity's sake but knowing what
2222
00:49:03,330 --> 00:49:03,340
curiosity's sake but knowing what
2223
00:49:03,340 --> 00:49:04,980
curiosity's sake but knowing what
happens when you execute a command and
2224
00:49:04,980 --> 00:49:04,990
happens when you execute a command and
2225
00:49:04,990 --> 00:49:06,630
happens when you execute a command and
deploy a workload to Kubernetes is
2226
00:49:06,630 --> 00:49:06,640
deploy a workload to Kubernetes is
2227
00:49:06,640 --> 00:49:08,370
deploy a workload to Kubernetes is
critical to becoming an effective
2228
00:49:08,370 --> 00:49:08,380
critical to becoming an effective
2229
00:49:08,380 --> 00:49:11,190
critical to becoming an effective
Kubernetes user operator architect or
2230
00:49:11,190 --> 00:49:11,200
Kubernetes user operator architect or
2231
00:49:11,200 --> 00:49:12,960
Kubernetes user operator architect or
developer it can also help you
2232
00:49:12,960 --> 00:49:12,970
developer it can also help you
2233
00:49:12,970 --> 00:49:14,370
developer it can also help you
troubleshoot things when the inevitable
2234
00:49:14,370 --> 00:49:14,380
troubleshoot things when the inevitable
2235
00:49:14,380 --> 00:49:15,660
troubleshoot things when the inevitable
problem pops up
2236
00:49:15,660 --> 00:49:15,670
problem pops up
2237
00:49:15,670 --> 00:49:18,270
problem pops up
so in this lecture let's look at how
2238
00:49:18,270 --> 00:49:18,280
so in this lecture let's look at how
2239
00:49:18,280 --> 00:49:19,860
so in this lecture let's look at how
Kubernetes is architected at a high
2240
00:49:19,860 --> 00:49:19,870
Kubernetes is architected at a high
2241
00:49:19,870 --> 00:49:22,020
Kubernetes is architected at a high
level don't worry about the individual
2242
00:49:22,020 --> 00:49:22,030
level don't worry about the individual
2243
00:49:22,030 --> 00:49:24,060
level don't worry about the individual
component details quite yet we'll go
2244
00:49:24,060 --> 00:49:24,070
component details quite yet we'll go
2245
00:49:24,070 --> 00:49:26,160
component details quite yet we'll go
into each later on the key thing to
2246
00:49:26,160 --> 00:49:26,170
into each later on the key thing to
2247
00:49:26,170 --> 00:49:28,560
into each later on the key thing to
understand is what each component does
2248
00:49:28,560 --> 00:49:28,570
understand is what each component does
2249
00:49:28,570 --> 00:49:29,309
understand is what each component does
not
2250
00:49:29,309 --> 00:49:29,319
not
2251
00:49:29,319 --> 00:49:31,589
not
necessarily or exactly how it does it
2252
00:49:31,589 --> 00:49:31,599
necessarily or exactly how it does it
2253
00:49:31,599 --> 00:49:36,029
necessarily or exactly how it does it
for now in Kubernetes the task of
2254
00:49:36,029 --> 00:49:36,039
for now in Kubernetes the task of
2255
00:49:36,039 --> 00:49:38,579
for now in Kubernetes the task of
managing containers where they run the
2256
00:49:38,579 --> 00:49:38,589
managing containers where they run the
2257
00:49:38,589 --> 00:49:40,469
managing containers where they run the
nodes upon which they run and the like
2258
00:49:40,469 --> 00:49:40,479
nodes upon which they run and the like
2259
00:49:40,479 --> 00:49:42,420
nodes upon which they run and the like
is handled by the Kubernetes run time
2260
00:49:42,420 --> 00:49:42,430
is handled by the Kubernetes run time
2261
00:49:42,430 --> 00:49:44,519
is handled by the Kubernetes run time
based on input from you in your
2262
00:49:44,519 --> 00:49:44,529
based on input from you in your
2263
00:49:44,529 --> 00:49:46,859
based on input from you in your
deployment file you've seen some simple
2264
00:49:46,859 --> 00:49:46,869
deployment file you've seen some simple
2265
00:49:46,869 --> 00:49:48,449
deployment file you've seen some simple
deployments up to now and we'll get into
2266
00:49:48,449 --> 00:49:48,459
deployments up to now and we'll get into
2267
00:49:48,459 --> 00:49:50,239
deployments up to now and we'll get into
more sophisticated one soon in
2268
00:49:50,239 --> 00:49:50,249
more sophisticated one soon in
2269
00:49:50,249 --> 00:49:53,849
more sophisticated one soon in
Kubernetes the master or masters you can
2270
00:49:53,849 --> 00:49:53,859
Kubernetes the master or masters you can
2271
00:49:53,859 --> 00:49:56,099
Kubernetes the master or masters you can
have multiple masters for reliability in
2272
00:49:56,099 --> 00:49:56,109
have multiple masters for reliability in
2273
00:49:56,109 --> 00:49:58,739
have multiple masters for reliability in
scale we'll get into that later the
2274
00:49:58,739 --> 00:49:58,749
scale we'll get into that later the
2275
00:49:58,749 --> 00:50:00,509
scale we'll get into that later the
masters control any number of nodes
2276
00:50:00,509 --> 00:50:00,519
masters control any number of nodes
2277
00:50:00,519 --> 00:50:03,299
masters control any number of nodes
these nodes are individual machines that
2278
00:50:03,299 --> 00:50:03,309
these nodes are individual machines that
2279
00:50:03,309 --> 00:50:06,900
these nodes are individual machines that
run pods end-users then through services
2280
00:50:06,900 --> 00:50:06,910
run pods end-users then through services
2281
00:50:06,910 --> 00:50:09,089
run pods end-users then through services
we declare your may remember doing this
2282
00:50:09,089 --> 00:50:09,099
we declare your may remember doing this
2283
00:50:09,099 --> 00:50:11,099
we declare your may remember doing this
in the previous example access our
2284
00:50:11,099 --> 00:50:11,109
in the previous example access our
2285
00:50:11,109 --> 00:50:14,219
in the previous example access our
application directly on the nodes don't
2286
00:50:14,219 --> 00:50:14,229
application directly on the nodes don't
2287
00:50:14,229 --> 00:50:15,509
application directly on the nodes don't
worry about each individual component
2288
00:50:15,509 --> 00:50:15,519
worry about each individual component
2289
00:50:15,519 --> 00:50:17,519
worry about each individual component
inside the masters and nodes for now
2290
00:50:17,519 --> 00:50:17,529
inside the masters and nodes for now
2291
00:50:17,529 --> 00:50:20,249
inside the masters and nodes for now
we'll go over each and turn later just
2292
00:50:20,249 --> 00:50:20,259
we'll go over each and turn later just
2293
00:50:20,259 --> 00:50:22,319
we'll go over each and turn later just
take away from this that the masters
2294
00:50:22,319 --> 00:50:22,329
take away from this that the masters
2295
00:50:22,329 --> 00:50:24,689
take away from this that the masters
control a variety of nodes and the pods
2296
00:50:24,689 --> 00:50:24,699
control a variety of nodes and the pods
2297
00:50:24,699 --> 00:50:28,039
control a variety of nodes and the pods
running on them based on your deployment
2298
00:50:28,039 --> 00:50:28,049
running on them based on your deployment
2299
00:50:28,049 --> 00:50:30,150
running on them based on your deployment
since containers and container
2300
00:50:30,150 --> 00:50:30,160
since containers and container
2301
00:50:30,160 --> 00:50:32,489
since containers and container
orchestration technologies de-emphasize
2302
00:50:32,489 --> 00:50:32,499
orchestration technologies de-emphasize
2303
00:50:32,499 --> 00:50:34,079
orchestration technologies de-emphasize
the role of the individual system
2304
00:50:34,079 --> 00:50:34,089
the role of the individual system
2305
00:50:34,089 --> 00:50:36,839
the role of the individual system
whether that's a server a VM or even a
2306
00:50:36,839 --> 00:50:36,849
whether that's a server a VM or even a
2307
00:50:36,849 --> 00:50:38,729
whether that's a server a VM or even a
container it can be difficult to get a
2308
00:50:38,729 --> 00:50:38,739
container it can be difficult to get a
2309
00:50:38,739 --> 00:50:40,620
container it can be difficult to get a
starting point when exploring Kubernetes
2310
00:50:40,620 --> 00:50:40,630
starting point when exploring Kubernetes
2311
00:50:40,630 --> 00:50:42,689
starting point when exploring Kubernetes
architecture you will remember the pod
2312
00:50:42,689 --> 00:50:42,699
architecture you will remember the pod
2313
00:50:42,699 --> 00:50:44,489
architecture you will remember the pod
and deployment are relatively important
2314
00:50:44,489 --> 00:50:44,499
and deployment are relatively important
2315
00:50:44,499 --> 00:50:46,439
and deployment are relatively important
concepts in Kubernetes from previous
2316
00:50:46,439 --> 00:50:46,449
concepts in Kubernetes from previous
2317
00:50:46,449 --> 00:50:47,699
concepts in Kubernetes from previous
lectures and examples we've worked
2318
00:50:47,699 --> 00:50:47,709
lectures and examples we've worked
2319
00:50:47,709 --> 00:50:49,709
lectures and examples we've worked
through but let's think a little bit
2320
00:50:49,709 --> 00:50:49,719
through but let's think a little bit
2321
00:50:49,719 --> 00:50:51,449
through but let's think a little bit
lower level for now and start with a
2322
00:50:51,449 --> 00:50:51,459
lower level for now and start with a
2323
00:50:51,459 --> 00:50:53,670
lower level for now and start with a
familiar concept the server or the
2324
00:50:53,670 --> 00:50:53,680
familiar concept the server or the
2325
00:50:53,680 --> 00:50:55,620
familiar concept the server or the
virtual machine in traditional
2326
00:50:55,620 --> 00:50:55,630
virtual machine in traditional
2327
00:50:55,630 --> 00:50:57,599
virtual machine in traditional
architectures it was usually the center
2328
00:50:57,599 --> 00:50:57,609
architectures it was usually the center
2329
00:50:57,609 --> 00:50:59,699
architectures it was usually the center
of the universe in Kubernetes they're
2330
00:50:59,699 --> 00:50:59,709
of the universe in Kubernetes they're
2331
00:50:59,709 --> 00:51:00,689
of the universe in Kubernetes they're
still quite important
2332
00:51:00,689 --> 00:51:00,699
still quite important
2333
00:51:00,699 --> 00:51:02,640
still quite important
they're called nodes they used to be
2334
00:51:02,640 --> 00:51:02,650
they're called nodes they used to be
2335
00:51:02,650 --> 00:51:04,140
they're called nodes they used to be
called minions so you may see that in
2336
00:51:04,140 --> 00:51:04,150
called minions so you may see that in
2337
00:51:04,150 --> 00:51:06,150
called minions so you may see that in
some older documentation but now we
2338
00:51:06,150 --> 00:51:06,160
some older documentation but now we
2339
00:51:06,160 --> 00:51:08,789
some older documentation but now we
refer to them as nodes a node is a
2340
00:51:08,789 --> 00:51:08,799
refer to them as nodes a node is a
2341
00:51:08,799 --> 00:51:11,459
refer to them as nodes a node is a
worker machine in Kubernetes a node can
2342
00:51:11,459 --> 00:51:11,469
worker machine in Kubernetes a node can
2343
00:51:11,469 --> 00:51:14,249
worker machine in Kubernetes a node can
be a VM or even a physical machine each
2344
00:51:14,249 --> 00:51:14,259
be a VM or even a physical machine each
2345
00:51:14,259 --> 00:51:16,769
be a VM or even a physical machine each
node regardless of what it is has the
2346
00:51:16,769 --> 00:51:16,779
node regardless of what it is has the
2347
00:51:16,779 --> 00:51:19,469
node regardless of what it is has the
services necessary to run pods and is
2348
00:51:19,469 --> 00:51:19,479
services necessary to run pods and is
2349
00:51:19,479 --> 00:51:22,079
services necessary to run pods and is
managed by the master components we will
2350
00:51:22,079 --> 00:51:22,089
managed by the master components we will
2351
00:51:22,089 --> 00:51:22,859
managed by the master components we will
discuss these later
2352
00:51:22,859 --> 00:51:22,869
discuss these later
2353
00:51:22,869 --> 00:51:25,439
discuss these later
remember masters just decide where to
2354
00:51:25,439 --> 00:51:25,449
remember masters just decide where to
2355
00:51:25,449 --> 00:51:28,799
remember masters just decide where to
run your application Kubernetes could
2356
00:51:28,799 --> 00:51:28,809
run your application Kubernetes could
2357
00:51:28,809 --> 00:51:31,199
run your application Kubernetes could
consist of any number of nodes it varies
2358
00:51:31,199 --> 00:51:31,209
consist of any number of nodes it varies
2359
00:51:31,209 --> 00:51:33,089
consist of any number of nodes it varies
depending on your needs we'll get into
2360
00:51:33,089 --> 00:51:33,099
depending on your needs we'll get into
2361
00:51:33,099 --> 00:51:35,549
depending on your needs we'll get into
how you specify how many to run what
2362
00:51:35,549 --> 00:51:35,559
how you specify how many to run what
2363
00:51:35,559 --> 00:51:37,829
how you specify how many to run what
types to run and how Kubernetes chooses
2364
00:51:37,829 --> 00:51:37,839
types to run and how Kubernetes chooses
2365
00:51:37,839 --> 00:51:39,390
types to run and how Kubernetes chooses
what pods to run on what nodes and the
2366
00:51:39,390 --> 00:51:39,400
what pods to run on what nodes and the
2367
00:51:39,400 --> 00:51:41,249
what pods to run on what nodes and the
life later don't worry about those
2368
00:51:41,249 --> 00:51:41,259
life later don't worry about those
2369
00:51:41,259 --> 00:51:42,550
life later don't worry about those
details for now
2370
00:51:42,550 --> 00:51:42,560
details for now
2371
00:51:42,560 --> 00:51:44,590
details for now
but just remember each node is a common
2372
00:51:44,590 --> 00:51:44,600
but just remember each node is a common
2373
00:51:44,600 --> 00:51:45,850
but just remember each node is a common
set of services at the very least
2374
00:51:45,850 --> 00:51:45,860
set of services at the very least
2375
00:51:45,860 --> 00:51:47,470
set of services at the very least
regardless of what pods that may be
2376
00:51:47,470 --> 00:51:47,480
regardless of what pods that may be
2377
00:51:47,480 --> 00:51:50,110
regardless of what pods that may be
running that allow the master to send it
2378
00:51:50,110 --> 00:51:50,120
running that allow the master to send it
2379
00:51:50,120 --> 00:51:50,710
running that allow the master to send it
work to do
2380
00:51:50,710 --> 00:51:50,720
work to do
2381
00:51:50,720 --> 00:51:53,260
work to do
these include docker a service called
2382
00:51:53,260 --> 00:51:53,270
these include docker a service called
2383
00:51:53,270 --> 00:51:56,100
these include docker a service called
cupola and a service called kubectl proxy
2384
00:51:56,100 --> 00:51:56,110
cupola and a service called kubectl proxy
2385
00:51:56,110 --> 00:51:59,170
cupola and a service called kubectl proxy
cupola watches and manage ins processes
2386
00:51:59,170 --> 00:51:59,180
cupola watches and manage ins processes
2387
00:51:59,180 --> 00:52:01,330
cupola watches and manage ins processes
on an individual node you can think of
2388
00:52:01,330 --> 00:52:01,340
on an individual node you can think of
2389
00:52:01,340 --> 00:52:03,310
on an individual node you can think of
it as the supervisor for that machine it
2390
00:52:03,310 --> 00:52:03,320
it as the supervisor for that machine it
2391
00:52:03,320 --> 00:52:05,920
it as the supervisor for that machine it
has one job given a set of pods to run
2392
00:52:05,920 --> 00:52:05,930
has one job given a set of pods to run
2393
00:52:05,930 --> 00:52:08,050
has one job given a set of pods to run
from a master make sure that running
2394
00:52:08,050 --> 00:52:08,060
from a master make sure that running
2395
00:52:08,060 --> 00:52:13,450
from a master make sure that running
kubectll it runs pods quba proxy is the
2396
00:52:13,450 --> 00:52:13,460
kubectll it runs pods quba proxy is the
2397
00:52:13,460 --> 00:52:15,070
kubectll it runs pods quba proxy is the
glue on each node that makes sure the
2398
00:52:15,070 --> 00:52:15,080
glue on each node that makes sure the
2399
00:52:15,080 --> 00:52:17,110
glue on each node that makes sure the
network services exposed by each pod in
2400
00:52:17,110 --> 00:52:17,120
network services exposed by each pod in
2401
00:52:17,120 --> 00:52:19,180
network services exposed by each pod in
the node can be accessed as defined in
2402
00:52:19,180 --> 00:52:19,190
the node can be accessed as defined in
2403
00:52:19,190 --> 00:52:21,220
the node can be accessed as defined in
the deployment you may recall when we
2404
00:52:21,220 --> 00:52:21,230
the deployment you may recall when we
2405
00:52:21,230 --> 00:52:23,470
the deployment you may recall when we
set up a tomcat service we created a
2406
00:52:23,470 --> 00:52:23,480
set up a tomcat service we created a
2407
00:52:23,480 --> 00:52:25,480
set up a tomcat service we created a
node port service to allow the outside
2408
00:52:25,480 --> 00:52:25,490
node port service to allow the outside
2409
00:52:25,490 --> 00:52:28,290
node port service to allow the outside
world to connect to it on port 8080
2410
00:52:28,290 --> 00:52:28,300
world to connect to it on port 8080
2411
00:52:28,300 --> 00:52:30,940
world to connect to it on port 8080
quba proxy was the glue that made that
2412
00:52:30,940 --> 00:52:30,950
quba proxy was the glue that made that
2413
00:52:30,950 --> 00:52:35,380
quba proxy was the glue that made that
happen let's review how this all fits
2414
00:52:35,380 --> 00:52:35,390
happen let's review how this all fits
2415
00:52:35,390 --> 00:52:39,160
happen let's review how this all fits
together first you deploy an application
2416
00:52:39,160 --> 00:52:39,170
together first you deploy an application
2417
00:52:39,170 --> 00:52:41,910
together first you deploy an application
to Kubernetes we've done this before
2418
00:52:41,910 --> 00:52:41,920
to Kubernetes we've done this before
2419
00:52:41,920 --> 00:52:44,680
to Kubernetes we've done this before
initially and internally the master will
2420
00:52:44,680 --> 00:52:44,690
initially and internally the master will
2421
00:52:44,690 --> 00:52:46,420
initially and internally the master will
evaluate your deployment descriptor and
2422
00:52:46,420 --> 00:52:46,430
evaluate your deployment descriptor and
2423
00:52:46,430 --> 00:52:49,120
evaluate your deployment descriptor and
decide where and how to run it it will
2424
00:52:49,120 --> 00:52:49,130
decide where and how to run it it will
2425
00:52:49,130 --> 00:52:51,040
decide where and how to run it it will
direct Google it on the appropriate node
2426
00:52:51,040 --> 00:52:51,050
direct Google it on the appropriate node
2427
00:52:51,050 --> 00:52:53,260
direct Google it on the appropriate node
or nodes depending on if the deployment
2428
00:52:53,260 --> 00:52:53,270
or nodes depending on if the deployment
2429
00:52:53,270 --> 00:52:55,420
or nodes depending on if the deployment
asks for multiple replicas to run the
2430
00:52:55,420 --> 00:52:55,430
asks for multiple replicas to run the
2431
00:52:55,430 --> 00:52:58,450
asks for multiple replicas to run the
pods second you define a service so
2432
00:52:58,450 --> 00:52:58,460
pods second you define a service so
2433
00:52:58,460 --> 00:53:00,250
pods second you define a service so
users can access it we've done this
2434
00:53:00,250 --> 00:53:00,260
users can access it we've done this
2435
00:53:00,260 --> 00:53:02,320
users can access it we've done this
before - the master will create
2436
00:53:02,320 --> 00:53:02,330
before - the master will create
2437
00:53:02,330 --> 00:53:04,270
before - the master will create
connections between an external load
2438
00:53:04,270 --> 00:53:04,280
connections between an external load
2439
00:53:04,280 --> 00:53:07,570
connections between an external load
balancer an external IP for example if
2440
00:53:07,570 --> 00:53:07,580
balancer an external IP for example if
2441
00:53:07,580 --> 00:53:08,950
balancer an external IP for example if
you're running on a public cloud it will
2442
00:53:08,950 --> 00:53:08,960
you're running on a public cloud it will
2443
00:53:08,960 --> 00:53:11,170
you're running on a public cloud it will
direct the kueh proxy on each pod to
2444
00:53:11,170 --> 00:53:11,180
direct the kueh proxy on each pod to
2445
00:53:11,180 --> 00:53:14,140
direct the kueh proxy on each pod to
connect to this given API or service and
2446
00:53:14,140 --> 00:53:14,150
connect to this given API or service and
2447
00:53:14,150 --> 00:53:17,680
connect to this given API or service and
the pods on each node finally and users
2448
00:53:17,680 --> 00:53:17,690
the pods on each node finally and users
2449
00:53:17,690 --> 00:53:19,600
the pods on each node finally and users
can access the services appropriately as
2450
00:53:19,600 --> 00:53:19,610
can access the services appropriately as
2451
00:53:19,610 --> 00:53:21,940
can access the services appropriately as
the load balancer will decide which pod
2452
00:53:21,940 --> 00:53:21,950
the load balancer will decide which pod
2453
00:53:21,950 --> 00:53:23,710
the load balancer will decide which pod
to send it to based on the configuration
2454
00:53:23,710 --> 00:53:23,720
to send it to based on the configuration
2455
00:53:23,720 --> 00:53:25,660
to send it to based on the configuration
created by the master during the
2456
00:53:25,660 --> 00:53:25,670
created by the master during the
2457
00:53:25,670 --> 00:53:28,750
created by the master during the
deployment again understand this overall
2458
00:53:28,750 --> 00:53:28,760
deployment again understand this overall
2459
00:53:28,760 --> 00:53:30,550
deployment again understand this overall
orchestra is more important than
2460
00:53:30,550 --> 00:53:30,560
orchestra is more important than
2461
00:53:30,560 --> 00:53:32,560
orchestra is more important than
understanding individual instrument in
2462
00:53:32,560 --> 00:53:32,570
understanding individual instrument in
2463
00:53:32,570 --> 00:53:38,260
understanding individual instrument in
it for now
2464
00:53:38,270 --> 00:53:39,640
[Music]
2465
00:53:39,640 --> 00:53:39,650
[Music]
2466
00:53:39,650 --> 00:53:42,830
[Music]
in the previous lecture we alluded to
2467
00:53:42,830 --> 00:53:42,840
in the previous lecture we alluded to
2468
00:53:42,840 --> 00:53:44,660
in the previous lecture we alluded to
the fact you need not run only one
2469
00:53:44,660 --> 00:53:44,670
the fact you need not run only one
2470
00:53:44,670 --> 00:53:47,000
the fact you need not run only one
instance of your pod whether it's for
2471
00:53:47,000 --> 00:53:47,010
instance of your pod whether it's for
2472
00:53:47,010 --> 00:53:49,220
instance of your pod whether it's for
scale to meet more demand or for
2473
00:53:49,220 --> 00:53:49,230
scale to meet more demand or for
2474
00:53:49,230 --> 00:53:51,410
scale to meet more demand or for
reliability to have backup workers in
2475
00:53:51,410 --> 00:53:51,420
reliability to have backup workers in
2476
00:53:51,420 --> 00:53:54,020
reliability to have backup workers in
case one or many die replication is an
2477
00:53:54,020 --> 00:53:54,030
case one or many die replication is an
2478
00:53:54,030 --> 00:53:56,260
case one or many die replication is an
important cornerstone of Kubernetes
2479
00:53:56,260 --> 00:53:56,270
important cornerstone of Kubernetes
2480
00:53:56,270 --> 00:53:58,400
important cornerstone of Kubernetes
Kubernetes supports scaling through
2481
00:53:58,400 --> 00:53:58,410
Kubernetes supports scaling through
2482
00:53:58,410 --> 00:54:00,680
Kubernetes supports scaling through
replicating pods on the same or multiple
2483
00:54:00,680 --> 00:54:00,690
replicating pods on the same or multiple
2484
00:54:00,690 --> 00:54:03,140
replicating pods on the same or multiple
nodes but before we go into how this
2485
00:54:03,140 --> 00:54:03,150
nodes but before we go into how this
2486
00:54:03,150 --> 00:54:03,590
nodes but before we go into how this
works
2487
00:54:03,590 --> 00:54:03,600
works
2488
00:54:03,600 --> 00:54:05,750
works
let's explore how applications should be
2489
00:54:05,750 --> 00:54:05,760
let's explore how applications should be
2490
00:54:05,760 --> 00:54:09,140
let's explore how applications should be
designed to scale in Kubernetes many
2491
00:54:09,140 --> 00:54:09,150
designed to scale in Kubernetes many
2492
00:54:09,150 --> 00:54:10,940
designed to scale in Kubernetes many
paradigms exist for effectively scaling
2493
00:54:10,940 --> 00:54:10,950
paradigms exist for effectively scaling
2494
00:54:10,950 --> 00:54:13,310
paradigms exist for effectively scaling
an application for our purposes here we
2495
00:54:13,310 --> 00:54:13,320
an application for our purposes here we
2496
00:54:13,320 --> 00:54:15,140
an application for our purposes here we
will categorize them into stateful and
2497
00:54:15,140 --> 00:54:15,150
will categorize them into stateful and
2498
00:54:15,150 --> 00:54:17,960
will categorize them into stateful and
stateless applications state full
2499
00:54:17,960 --> 00:54:17,970
stateless applications state full
2500
00:54:17,970 --> 00:54:20,360
stateless applications state full
applications store client data generated
2501
00:54:20,360 --> 00:54:20,370
applications store client data generated
2502
00:54:20,370 --> 00:54:22,520
applications store client data generated
in one session for use in the next
2503
00:54:22,520 --> 00:54:22,530
in one session for use in the next
2504
00:54:22,530 --> 00:54:25,220
in one session for use in the next
session with that client locally the
2505
00:54:25,220 --> 00:54:25,230
session with that client locally the
2506
00:54:25,230 --> 00:54:27,560
session with that client locally the
effect of this is to essentially lock a
2507
00:54:27,560 --> 00:54:27,570
effect of this is to essentially lock a
2508
00:54:27,570 --> 00:54:29,900
effect of this is to essentially lock a
client session to a given thread or
2509
00:54:29,900 --> 00:54:29,910
client session to a given thread or
2510
00:54:29,910 --> 00:54:31,670
client session to a given thread or
instance of an application on the server
2511
00:54:31,670 --> 00:54:31,680
instance of an application on the server
2512
00:54:31,680 --> 00:54:35,000
instance of an application on the server
if that server process dies client state
2513
00:54:35,000 --> 00:54:35,010
if that server process dies client state
2514
00:54:35,010 --> 00:54:37,430
if that server process dies client state
is lost it is also the only one who
2515
00:54:37,430 --> 00:54:37,440
is lost it is also the only one who
2516
00:54:37,440 --> 00:54:39,320
is lost it is also the only one who
knows what state that users data is in
2517
00:54:39,320 --> 00:54:39,330
knows what state that users data is in
2518
00:54:39,330 --> 00:54:42,310
knows what state that users data is in
all subsequent requests must come to it
2519
00:54:42,310 --> 00:54:42,320
all subsequent requests must come to it
2520
00:54:42,320 --> 00:54:44,540
all subsequent requests must come to it
stateless applications on the other hand
2521
00:54:44,540 --> 00:54:44,550
stateless applications on the other hand
2522
00:54:44,550 --> 00:54:46,940
stateless applications on the other hand
update a centralized data store such as
2523
00:54:46,940 --> 00:54:46,950
update a centralized data store such as
2524
00:54:46,950 --> 00:54:48,680
update a centralized data store such as
a database with the result of a single
2525
00:54:48,680 --> 00:54:48,690
a database with the result of a single
2526
00:54:48,690 --> 00:54:51,020
a database with the result of a single
operation so the next client session or
2527
00:54:51,020 --> 00:54:51,030
operation so the next client session or
2528
00:54:51,030 --> 00:54:53,210
operation so the next client session or
operation can be handled by any thread
2529
00:54:53,210 --> 00:54:53,220
operation can be handled by any thread
2530
00:54:53,220 --> 00:54:55,480
operation can be handled by any thread
or instance of the application
2531
00:54:55,480 --> 00:54:55,490
or instance of the application
2532
00:54:55,490 --> 00:54:57,380
or instance of the application
Kubernetes supports both patterns
2533
00:54:57,380 --> 00:54:57,390
Kubernetes supports both patterns
2534
00:54:57,390 --> 00:54:59,900
Kubernetes supports both patterns
however it is a best practice to create
2535
00:54:59,900 --> 00:54:59,910
however it is a best practice to create
2536
00:54:59,910 --> 00:55:02,240
however it is a best practice to create
stateless application whenever possible
2537
00:55:02,240 --> 00:55:02,250
stateless application whenever possible
2538
00:55:02,250 --> 00:55:04,760
stateless application whenever possible
and leverage replication without having
2539
00:55:04,760 --> 00:55:04,770
and leverage replication without having
2540
00:55:04,770 --> 00:55:07,870
and leverage replication without having
to use stateful replication mechanisms
2541
00:55:07,870 --> 00:55:07,880
to use stateful replication mechanisms
2542
00:55:07,880 --> 00:55:10,100
to use stateful replication mechanisms
architecting applications varies by
2543
00:55:10,100 --> 00:55:10,110
architecting applications varies by
2544
00:55:10,110 --> 00:55:11,540
architecting applications varies by
programming language and framework and
2545
00:55:11,540 --> 00:55:11,550
programming language and framework and
2546
00:55:11,550 --> 00:55:13,450
programming language and framework and
it's the beyond the scope of Kubernetes
2547
00:55:13,450 --> 00:55:13,460
it's the beyond the scope of Kubernetes
2548
00:55:13,460 --> 00:55:15,890
it's the beyond the scope of Kubernetes
many great resources on software design
2549
00:55:15,890 --> 00:55:15,900
many great resources on software design
2550
00:55:15,900 --> 00:55:17,420
many great resources on software design
exists that discuss the different
2551
00:55:17,420 --> 00:55:17,430
exists that discuss the different
2552
00:55:17,430 --> 00:55:19,370
exists that discuss the different
approaches designing stateful or
2553
00:55:19,370 --> 00:55:19,380
approaches designing stateful or
2554
00:55:19,380 --> 00:55:22,940
approaches designing stateful or
stateless applications for now let's
2555
00:55:22,940 --> 00:55:22,950
stateless applications for now let's
2556
00:55:22,950 --> 00:55:24,140
stateless applications for now let's
assume you're working with the stateless
2557
00:55:24,140 --> 00:55:24,150
assume you're working with the stateless
2558
00:55:24,150 --> 00:55:26,090
assume you're working with the stateless
application so we can focus on how
2559
00:55:26,090 --> 00:55:26,100
application so we can focus on how
2560
00:55:26,100 --> 00:55:28,010
application so we can focus on how
Kubernetes handles scaling through
2561
00:55:28,010 --> 00:55:28,020
Kubernetes handles scaling through
2562
00:55:28,020 --> 00:55:31,970
Kubernetes handles scaling through
replication Kubernetes gives you a
2563
00:55:31,970 --> 00:55:31,980
replication Kubernetes gives you a
2564
00:55:31,980 --> 00:55:34,220
replication Kubernetes gives you a
variety of options to define how a pod
2565
00:55:34,220 --> 00:55:34,230
variety of options to define how a pod
2566
00:55:34,230 --> 00:55:36,470
variety of options to define how a pod
should scale by far the most robust
2567
00:55:36,470 --> 00:55:36,480
should scale by far the most robust
2568
00:55:36,480 --> 00:55:39,200
should scale by far the most robust
flexible and frequently used is setting
2569
00:55:39,200 --> 00:55:39,210
flexible and frequently used is setting
2570
00:55:39,210 --> 00:55:40,960
flexible and frequently used is setting
the replica options in your deployment
2571
00:55:40,960 --> 00:55:40,970
the replica options in your deployment
2572
00:55:40,970 --> 00:55:44,060
the replica options in your deployment
it's what we will do today just for the
2573
00:55:44,060 --> 00:55:44,070
it's what we will do today just for the
2574
00:55:44,070 --> 00:55:45,860
it's what we will do today just for the
record and for your knowledge you can
2575
00:55:45,860 --> 00:55:45,870
record and for your knowledge you can
2576
00:55:45,870 --> 00:55:48,200
record and for your knowledge you can
also define a replica set deploy
2577
00:55:48,200 --> 00:55:48,210
also define a replica set deploy
2578
00:55:48,210 --> 00:55:51,000
also define a replica set deploy
multiple bear pods define a job
2579
00:55:51,000 --> 00:55:51,010
multiple bear pods define a job
2580
00:55:51,010 --> 00:55:52,620
multiple bear pods define a job
this is useful if you're doing a niche
2581
00:55:52,620 --> 00:55:52,630
this is useful if you're doing a niche
2582
00:55:52,630 --> 00:55:55,770
this is useful if you're doing a niche
form of Bosch processing or a demon set
2583
00:55:55,770 --> 00:55:55,780
form of Bosch processing or a demon set
2584
00:55:55,780 --> 00:55:57,420
form of Bosch processing or a demon set
if you're looking to replicate older
2585
00:55:57,420 --> 00:55:57,430
if you're looking to replicate older
2586
00:55:57,430 --> 00:55:59,990
if you're looking to replicate older
software patterns like demons
2587
00:55:59,990 --> 00:56:00,000
software patterns like demons
2588
00:56:00,000 --> 00:56:02,940
software patterns like demons
however the dominant way of deploying
2589
00:56:02,940 --> 00:56:02,950
however the dominant way of deploying
2590
00:56:02,950 --> 00:56:05,280
however the dominant way of deploying
replicas is to define replicas options
2591
00:56:05,280 --> 00:56:05,290
replicas is to define replicas options
2592
00:56:05,290 --> 00:56:07,140
replicas is to define replicas options
in your deployment and that's what we'll
2593
00:56:07,140 --> 00:56:07,150
in your deployment and that's what we'll
2594
00:56:07,150 --> 00:56:09,960
in your deployment and that's what we'll
do today we'll focus on the first as
2595
00:56:09,960 --> 00:56:09,970
do today we'll focus on the first as
2596
00:56:09,970 --> 00:56:11,600
do today we'll focus on the first as
it's the most common robust and useful
2597
00:56:11,600 --> 00:56:11,610
it's the most common robust and useful
2598
00:56:11,610 --> 00:56:13,650
it's the most common robust and useful
don't worry about the details of the
2599
00:56:13,650 --> 00:56:13,660
don't worry about the details of the
2600
00:56:13,660 --> 00:56:15,300
don't worry about the details of the
others we only mention them to be
2601
00:56:15,300 --> 00:56:15,310
others we only mention them to be
2602
00:56:15,310 --> 00:56:16,650
others we only mention them to be
complete as you may encounter them in
2603
00:56:16,650 --> 00:56:16,660
complete as you may encounter them in
2604
00:56:16,660 --> 00:56:19,200
complete as you may encounter them in
documentation discussions with others or
2605
00:56:19,200 --> 00:56:19,210
documentation discussions with others or
2606
00:56:19,210 --> 00:56:21,540
documentation discussions with others or
elsewhere as you explore Kubernetes and
2607
00:56:21,540 --> 00:56:21,550
elsewhere as you explore Kubernetes and
2608
00:56:21,550 --> 00:56:24,330
elsewhere as you explore Kubernetes and
need to address more advanced niche use
2609
00:56:24,330 --> 00:56:24,340
need to address more advanced niche use
2610
00:56:24,340 --> 00:56:33,240
need to address more advanced niche use
cases let's look at something familiar
2611
00:56:33,240 --> 00:56:33,250
cases let's look at something familiar
2612
00:56:33,250 --> 00:56:35,690
cases let's look at something familiar
our Tomcat server from previous lectures
2613
00:56:35,690 --> 00:56:35,700
our Tomcat server from previous lectures
2614
00:56:35,700 --> 00:56:37,710
our Tomcat server from previous lectures
remember our Tomcat server deployment
2615
00:56:37,710 --> 00:56:37,720
remember our Tomcat server deployment
2616
00:56:37,720 --> 00:56:39,690
remember our Tomcat server deployment
and when we said that we'd come revisit
2617
00:56:39,690 --> 00:56:39,700
and when we said that we'd come revisit
2618
00:56:39,700 --> 00:56:43,320
and when we said that we'd come revisit
a few of the other parameters well let's
2619
00:56:43,320 --> 00:56:43,330
a few of the other parameters well let's
2620
00:56:43,330 --> 00:56:46,080
a few of the other parameters well let's
example the line that says replicas one
2621
00:56:46,080 --> 00:56:46,090
example the line that says replicas one
2622
00:56:46,090 --> 00:56:49,200
example the line that says replicas one
at the most basic level this is where we
2623
00:56:49,200 --> 00:56:49,210
at the most basic level this is where we
2624
00:56:49,210 --> 00:56:51,450
at the most basic level this is where we
declare to Kubernetes how many copies of
2625
00:56:51,450 --> 00:56:51,460
declare to Kubernetes how many copies of
2626
00:56:51,460 --> 00:56:54,420
declare to Kubernetes how many copies of
the pod we'd like to run we can run as
2627
00:56:54,420 --> 00:56:54,430
the pod we'd like to run we can run as
2628
00:56:54,430 --> 00:56:56,100
the pod we'd like to run we can run as
many as we have resources for on our
2629
00:56:56,100 --> 00:56:56,110
many as we have resources for on our
2630
00:56:56,110 --> 00:56:57,960
many as we have resources for on our
cluster there are various other
2631
00:56:57,960 --> 00:56:57,970
cluster there are various other
2632
00:56:57,970 --> 00:56:59,880
cluster there are various other
properties we can set to define how the
2633
00:56:59,880 --> 00:56:59,890
properties we can set to define how the
2634
00:56:59,890 --> 00:57:02,160
properties we can set to define how the
tropicals are built where they Enron and
2635
00:57:02,160 --> 00:57:02,170
tropicals are built where they Enron and
2636
00:57:02,170 --> 00:57:04,800
tropicals are built where they Enron and
the like but for now let's keep it
2637
00:57:04,800 --> 00:57:04,810
the like but for now let's keep it
2638
00:57:04,810 --> 00:57:07,050
the like but for now let's keep it
simple and simply tell Kubernetes we'd
2639
00:57:07,050 --> 00:57:07,060
simple and simply tell Kubernetes we'd
2640
00:57:07,060 --> 00:57:09,570
simple and simply tell Kubernetes we'd
like to run four replicas and leave the
2641
00:57:09,570 --> 00:57:09,580
like to run four replicas and leave the
2642
00:57:09,580 --> 00:57:13,350
like to run four replicas and leave the
rest to Kubernetes itself by setting
2643
00:57:13,350 --> 00:57:13,360
rest to Kubernetes itself by setting
2644
00:57:13,360 --> 00:57:15,210
rest to Kubernetes itself by setting
replicas to four we have specified for
2645
00:57:15,210 --> 00:57:15,220
replicas to four we have specified for
2646
00:57:15,220 --> 00:57:16,890
replicas to four we have specified for
this deployment that we'll have four
2647
00:57:16,890 --> 00:57:16,900
this deployment that we'll have four
2648
00:57:16,900 --> 00:57:19,260
this deployment that we'll have four
replicas of the Tomcat pod running this
2649
00:57:19,260 --> 00:57:19,270
replicas of the Tomcat pod running this
2650
00:57:19,270 --> 00:57:21,390
replicas of the Tomcat pod running this
can provide redundancy and more capacity
2651
00:57:21,390 --> 00:57:21,400
can provide redundancy and more capacity
2652
00:57:21,400 --> 00:57:23,810
can provide redundancy and more capacity
and a properly architected application
2653
00:57:23,810 --> 00:57:23,820
and a properly architected application
2654
00:57:23,820 --> 00:57:26,220
and a properly architected application
we could either create an entirely new
2655
00:57:26,220 --> 00:57:26,230
we could either create an entirely new
2656
00:57:26,230 --> 00:57:28,370
we could either create an entirely new
deployment that looks like the above or
2657
00:57:28,370 --> 00:57:28,380
deployment that looks like the above or
2658
00:57:28,380 --> 00:57:30,900
deployment that looks like the above or
we could use a Kubernetes scale command
2659
00:57:30,900 --> 00:57:30,910
we could use a Kubernetes scale command
2660
00:57:30,910 --> 00:57:33,720
we could use a Kubernetes scale command
to scale our existing deployment let's
2661
00:57:33,720 --> 00:57:33,730
to scale our existing deployment let's
2662
00:57:33,730 --> 00:57:37,890
to scale our existing deployment let's
look at that issuing this command to our
2663
00:57:37,890 --> 00:57:37,900
look at that issuing this command to our
2664
00:57:37,900 --> 00:57:40,140
look at that issuing this command to our
existing Kubernetes deployment modifies
2665
00:57:40,140 --> 00:57:40,150
existing Kubernetes deployment modifies
2666
00:57:40,150 --> 00:57:42,000
existing Kubernetes deployment modifies
the deployment to have the exact same
2667
00:57:42,000 --> 00:57:42,010
the deployment to have the exact same
2668
00:57:42,010 --> 00:57:44,070
the deployment to have the exact same
effect as if we were to make a new
2669
00:57:44,070 --> 00:57:44,080
effect as if we were to make a new
2670
00:57:44,080 --> 00:57:45,870
effect as if we were to make a new
deployment but it saved us from the
2671
00:57:45,870 --> 00:57:45,880
deployment but it saved us from the
2672
00:57:45,880 --> 00:57:47,340
deployment but it saved us from the
headache of having to delete our old
2673
00:57:47,340 --> 00:57:47,350
headache of having to delete our old
2674
00:57:47,350 --> 00:57:49,050
headache of having to delete our old
deployment and create a new one
2675
00:57:49,050 --> 00:57:49,060
deployment and create a new one
2676
00:57:49,060 --> 00:57:51,450
deployment and create a new one
it's also avoided any downtime for the
2677
00:57:51,450 --> 00:57:51,460
it's also avoided any downtime for the
2678
00:57:51,460 --> 00:57:54,120
it's also avoided any downtime for the
application during that switch over the
2679
00:57:54,120 --> 00:57:54,130
application during that switch over the
2680
00:57:54,130 --> 00:57:56,610
application during that switch over the
kubectl scale command we'll set our
2681
00:57:56,610 --> 00:57:56,620
kubectl scale command we'll set our
2682
00:57:56,620 --> 00:57:59,040
kubectl scale command we'll set our
existing Tomcat deployment to four
2683
00:57:59,040 --> 00:57:59,050
existing Tomcat deployment to four
2684
00:57:59,050 --> 00:58:01,380
existing Tomcat deployment to four
replicas let's run this against our
2685
00:58:01,380 --> 00:58:01,390
replicas let's run this against our
2686
00:58:01,390 --> 00:58:03,630
replicas let's run this against our
existing Kubernetes deployment and see
2687
00:58:03,630 --> 00:58:03,640
existing Kubernetes deployment and see
2688
00:58:03,640 --> 00:58:04,710
existing Kubernetes deployment and see
what it does
2689
00:58:04,710 --> 00:58:04,720
what it does
2690
00:58:04,720 --> 00:58:07,290
what it does
if you had stopped minikube the last
2691
00:58:07,290 --> 00:58:07,300
if you had stopped minikube the last
2692
00:58:07,300 --> 00:58:09,569
if you had stopped minikube the last
time you used it remember to start mini
2693
00:58:09,569 --> 00:58:09,579
time you used it remember to start mini
2694
00:58:09,579 --> 00:58:11,880
time you used it remember to start mini
coop by issuing the minikube splay
2695
00:58:11,880 --> 00:58:11,890
coop by issuing the minikube splay
2696
00:58:11,890 --> 00:58:14,220
coop by issuing the minikube splay
start command I already have it running
2697
00:58:14,220 --> 00:58:14,230
start command I already have it running
2698
00:58:14,230 --> 00:58:18,120
start command I already have it running
so I won't execute it let's use the kubectl
2699
00:58:18,120 --> 00:58:18,130
so I won't execute it let's use the kubectl
2700
00:58:18,130 --> 00:58:21,809
so I won't execute it let's use the kubectl
scale command let's type kubectl
2701
00:58:21,809 --> 00:58:21,819
scale command let's type kubectl
2702
00:58:21,819 --> 00:58:27,210
scale command let's type kubectl
scale -- replicas equals for deployment
2703
00:58:27,210 --> 00:58:27,220
scale -- replicas equals for deployment
2704
00:58:27,220 --> 00:58:33,000
scale -- replicas equals for deployment
slash Tomcat - deployment let's execute
2705
00:58:33,000 --> 00:58:33,010
slash Tomcat - deployment let's execute
2706
00:58:33,010 --> 00:58:35,160
slash Tomcat - deployment let's execute
the command to scale our Tomcat
2707
00:58:35,160 --> 00:58:35,170
the command to scale our Tomcat
2708
00:58:35,170 --> 00:58:39,790
the command to scale our Tomcat
deployment to four replicas
2709
00:58:39,800 --> 00:58:42,470
at this point you can trust that
2710
00:58:42,470 --> 00:58:42,480
at this point you can trust that
2711
00:58:42,480 --> 00:58:45,350
at this point you can trust that
Kubernetes has scaled Tomcat deployment
2712
00:58:45,350 --> 00:58:45,360
Kubernetes has scaled Tomcat deployment
2713
00:58:45,360 --> 00:58:48,410
Kubernetes has scaled Tomcat deployment
given the output from the command or you
2714
00:58:48,410 --> 00:58:48,420
given the output from the command or you
2715
00:58:48,420 --> 00:58:50,810
given the output from the command or you
could use a number of commands which are
2716
00:58:50,810 --> 00:58:50,820
could use a number of commands which are
2717
00:58:50,820 --> 00:58:53,540
could use a number of commands which are
already familiar with for example the
2718
00:58:53,540 --> 00:58:53,550
already familiar with for example the
2719
00:58:53,550 --> 00:58:56,780
already familiar with for example the
kubectl get deployment command will get
2720
00:58:56,780 --> 00:58:56,790
kubectl get deployment command will get
2721
00:58:56,790 --> 00:58:58,910
kubectl get deployment command will get
the information about the Tomcat
2722
00:58:58,910 --> 00:58:58,920
the information about the Tomcat
2723
00:58:58,920 --> 00:59:01,160
the information about the Tomcat
deployment you can see here we
2724
00:59:01,160 --> 00:59:01,170
deployment you can see here we
2725
00:59:01,170 --> 00:59:03,110
deployment you can see here we
successfully have four update replicas
2726
00:59:03,110 --> 00:59:03,120
successfully have four update replicas
2727
00:59:03,120 --> 00:59:07,040
successfully have four update replicas
you could also use the kubectl describe
2728
00:59:07,040 --> 00:59:07,050
you could also use the kubectl describe
2729
00:59:07,050 --> 00:59:09,170
you could also use the kubectl describe
deployments command to get more detailed
2730
00:59:09,170 --> 00:59:09,180
deployments command to get more detailed
2731
00:59:09,180 --> 00:59:10,970
deployments command to get more detailed
information about the nature of these
2732
00:59:10,970 --> 00:59:10,980
information about the nature of these
2733
00:59:10,980 --> 00:59:13,580
information about the nature of these
four replicas you can see from the
2734
00:59:13,580 --> 00:59:13,590
four replicas you can see from the
2735
00:59:13,590 --> 00:59:15,800
four replicas you can see from the
output of this command that Tomcat
2736
00:59:15,800 --> 00:59:15,810
output of this command that Tomcat
2737
00:59:15,810 --> 00:59:17,600
output of this command that Tomcat
deployment was scaled to four or four
2738
00:59:17,600 --> 00:59:17,610
deployment was scaled to four or four
2739
00:59:17,610 --> 00:59:26,900
deployment was scaled to four or four
replicas just a few seconds ago
2740
00:59:26,910 --> 00:59:31,740
you
2741
00:59:31,750 --> 00:59:34,680
so now that Kubernetes is running for
2742
00:59:34,680 --> 00:59:34,690
so now that Kubernetes is running for
2743
00:59:34,690 --> 00:59:36,810
so now that Kubernetes is running for
replicas how does it decide which one
2744
00:59:36,810 --> 00:59:36,820
replicas how does it decide which one
2745
00:59:36,820 --> 00:59:39,120
replicas how does it decide which one
gets to do the work that's the second
2746
00:59:39,120 --> 00:59:39,130
gets to do the work that's the second
2747
00:59:39,130 --> 00:59:41,250
gets to do the work that's the second
half of scaling now that we have four
2748
00:59:41,250 --> 00:59:41,260
half of scaling now that we have four
2749
00:59:41,260 --> 00:59:42,960
half of scaling now that we have four
replicas running we'll need to update
2750
00:59:42,960 --> 00:59:42,970
replicas running we'll need to update
2751
00:59:42,970 --> 00:59:44,940
replicas running we'll need to update
our service definition connected to our
2752
00:59:44,940 --> 00:59:44,950
our service definition connected to our
2753
00:59:44,950 --> 00:59:46,800
our service definition connected to our
deployment to take advantage of our
2754
00:59:46,800 --> 00:59:46,810
deployment to take advantage of our
2755
00:59:46,810 --> 00:59:50,580
deployment to take advantage of our
replicas you may recall from previous
2756
00:59:50,580 --> 00:59:50,590
replicas you may recall from previous
2757
00:59:50,590 --> 00:59:52,770
replicas you may recall from previous
lectures that the only way pods can be
2758
00:59:52,770 --> 00:59:52,780
lectures that the only way pods can be
2759
00:59:52,780 --> 00:59:54,839
lectures that the only way pods can be
exposed to the outside world is through
2760
00:59:54,839 --> 00:59:54,849
exposed to the outside world is through
2761
00:59:54,849 --> 00:59:57,540
exposed to the outside world is through
defined services we have used the kubectl
2762
00:59:57,540 --> 00:59:57,550
defined services we have used the kubectl
2763
00:59:57,550 --> 01:00:00,839
defined services we have used the kubectl
expose command to create services to
2764
01:00:00,839 --> 01:00:00,849
expose command to create services to
2765
01:00:00,849 --> 01:00:03,120
expose command to create services to
expose our previous Tomcat deployment to
2766
01:00:03,120 --> 01:00:03,130
expose our previous Tomcat deployment to
2767
01:00:03,130 --> 01:00:05,550
expose our previous Tomcat deployment to
the outside world using the node port
2768
01:00:05,550 --> 01:00:05,560
the outside world using the node port
2769
01:00:05,560 --> 01:00:08,670
the outside world using the node port
service this command created an external
2770
01:00:08,670 --> 01:00:08,680
service this command created an external
2771
01:00:08,680 --> 01:00:11,070
service this command created an external
port that connected to the port running
2772
01:00:11,070 --> 01:00:11,080
port that connected to the port running
2773
01:00:11,080 --> 01:00:13,380
port that connected to the port running
on the pod that ran the Tomcat container
2774
01:00:13,380 --> 01:00:13,390
on the pod that ran the Tomcat container
2775
01:00:13,390 --> 01:00:16,680
on the pod that ran the Tomcat container
it map one port to one service on a node
2776
01:00:16,680 --> 01:00:16,690
it map one port to one service on a node
2777
01:00:16,690 --> 01:00:19,920
it map one port to one service on a node
that's what a node port service does now
2778
01:00:19,920 --> 01:00:19,930
that's what a node port service does now
2779
01:00:19,930 --> 01:00:22,140
that's what a node port service does now
that we have multiple nodes running the
2780
01:00:22,140 --> 01:00:22,150
that we have multiple nodes running the
2781
01:00:22,150 --> 01:00:24,420
that we have multiple nodes running the
same service we need to graduate to
2782
01:00:24,420 --> 01:00:24,430
same service we need to graduate to
2783
01:00:24,430 --> 01:00:25,770
same service we need to graduate to
something that can handle something more
2784
01:00:25,770 --> 01:00:25,780
something that can handle something more
2785
01:00:25,780 --> 01:00:28,440
something that can handle something more
sophisticated than just exposing a
2786
01:00:28,440 --> 01:00:28,450
sophisticated than just exposing a
2787
01:00:28,450 --> 01:00:32,339
sophisticated than just exposing a
single port on a single node you may
2788
01:00:32,339 --> 01:00:32,349
single port on a single node you may
2789
01:00:32,349 --> 01:00:33,870
single port on a single node you may
recall from the previous lecture that
2790
01:00:33,870 --> 01:00:33,880
recall from the previous lecture that
2791
01:00:33,880 --> 01:00:35,670
recall from the previous lecture that
the load balancer service provides
2792
01:00:35,670 --> 01:00:35,680
the load balancer service provides
2793
01:00:35,680 --> 01:00:38,190
the load balancer service provides
exactly this function a load balancer is
2794
01:00:38,190 --> 01:00:38,200
exactly this function a load balancer is
2795
01:00:38,200 --> 01:00:40,470
exactly this function a load balancer is
a type of service that exposes a single
2796
01:00:40,470 --> 01:00:40,480
a type of service that exposes a single
2797
01:00:40,480 --> 01:00:43,079
a type of service that exposes a single
port but uses a variety of internal
2798
01:00:43,079 --> 01:00:43,089
port but uses a variety of internal
2799
01:00:43,089 --> 01:00:45,270
port but uses a variety of internal
logic which we'll cover later to decide
2800
01:00:45,270 --> 01:00:45,280
logic which we'll cover later to decide
2801
01:00:45,280 --> 01:00:47,990
logic which we'll cover later to decide
which replicas to send the request to
2802
01:00:47,990 --> 01:00:48,000
which replicas to send the request to
2803
01:00:48,000 --> 01:00:50,250
which replicas to send the request to
let's look at what our load balance or
2804
01:00:50,250 --> 01:00:50,260
let's look at what our load balance or
2805
01:00:50,260 --> 01:00:52,050
let's look at what our load balance or
service will look like for our tomcat
2806
01:00:52,050 --> 01:00:52,060
service will look like for our tomcat
2807
01:00:52,060 --> 01:00:56,010
service will look like for our tomcat
replicas as you can see it's not that
2808
01:00:56,010 --> 01:00:56,020
replicas as you can see it's not that
2809
01:00:56,020 --> 01:00:57,839
replicas as you can see it's not that
different we've added a few more options
2810
01:00:57,839 --> 01:00:57,849
different we've added a few more options
2811
01:00:57,849 --> 01:00:59,940
different we've added a few more options
to set the newly created services name
2812
01:00:59,940 --> 01:00:59,950
to set the newly created services name
2813
01:00:59,950 --> 01:01:02,280
to set the newly created services name
to something predictable and to find the
2814
01:01:02,280 --> 01:01:02,290
to something predictable and to find the
2815
01:01:02,290 --> 01:01:03,780
to something predictable and to find the
port we'd like to listen on and what
2816
01:01:03,780 --> 01:01:03,790
port we'd like to listen on and what
2817
01:01:03,790 --> 01:01:08,160
port we'd like to listen on and what
port it's going to be on the pod first
2818
01:01:08,160 --> 01:01:08,170
port it's going to be on the pod first
2819
01:01:08,170 --> 01:01:10,339
port it's going to be on the pod first
let's use the kubectl expose
2820
01:01:10,339 --> 01:01:10,349
let's use the kubectl expose
2821
01:01:10,349 --> 01:01:16,170
let's use the kubectl expose
deployment command using this command we
2822
01:01:16,170 --> 01:01:16,180
deployment command using this command we
2823
01:01:16,180 --> 01:01:18,270
deployment command using this command we
will specify that our tomcat deployment
2824
01:01:18,270 --> 01:01:18,280
will specify that our tomcat deployment
2825
01:01:18,280 --> 01:01:21,210
will specify that our tomcat deployment
should have a load balancer exposed on
2826
01:01:21,210 --> 01:01:21,220
should have a load balancer exposed on
2827
01:01:21,220 --> 01:01:26,490
should have a load balancer exposed on
port 8080 forwarding to port 8080 on its
2828
01:01:26,490 --> 01:01:26,500
port 8080 forwarding to port 8080 on its
2829
01:01:26,500 --> 01:01:28,530
port 8080 forwarding to port 8080 on its
container and all its replicas and it
2830
01:01:28,530 --> 01:01:28,540
container and all its replicas and it
2831
01:01:28,540 --> 01:01:32,070
container and all its replicas and it
will give it a name something that we
2832
01:01:32,070 --> 01:01:32,080
will give it a name something that we
2833
01:01:32,080 --> 01:01:41,290
will give it a name something that we
can easily refer to it by later
2834
01:01:41,300 --> 01:01:43,450
we'll see the command successful when we
2835
01:01:43,450 --> 01:01:43,460
we'll see the command successful when we
2836
01:01:43,460 --> 01:01:44,980
we'll see the command successful when we
can see that the service was properly
2837
01:01:44,980 --> 01:01:44,990
can see that the service was properly
2838
01:01:44,990 --> 01:01:51,620
can see that the service was properly
exposed
2839
01:01:51,630 --> 01:01:54,240
finally we can use the kubectl
2840
01:01:54,240 --> 01:01:54,250
finally we can use the kubectl
2841
01:01:54,250 --> 01:01:56,550
finally we can use the kubectl
described services command to give us
2842
01:01:56,550 --> 01:01:56,560
described services command to give us
2843
01:01:56,560 --> 01:01:58,200
described services command to give us
more information about the newly created
2844
01:01:58,200 --> 01:01:58,210
more information about the newly created
2845
01:01:58,210 --> 01:02:01,080
more information about the newly created
service specifically we can see what IP
2846
01:02:01,080 --> 01:02:01,090
service specifically we can see what IP
2847
01:02:01,090 --> 01:02:02,820
service specifically we can see what IP
address was issued for the newly created
2848
01:02:02,820 --> 01:02:02,830
address was issued for the newly created
2849
01:02:02,830 --> 01:02:07,080
address was issued for the newly created
load balancer let's issue the kubectl
2850
01:02:07,080 --> 01:02:07,090
load balancer let's issue the kubectl
2851
01:02:07,090 --> 01:02:11,640
load balancer let's issue the kubectl
described service Tomcat - load balancer
2852
01:02:11,640 --> 01:02:11,650
described service Tomcat - load balancer
2853
01:02:11,650 --> 01:02:13,860
described service Tomcat - load balancer
command remember that's the name we gave
2854
01:02:13,860 --> 01:02:13,870
command remember that's the name we gave
2855
01:02:13,870 --> 01:02:16,620
command remember that's the name we gave
it when we created it as you can see
2856
01:02:16,620 --> 01:02:16,630
it when we created it as you can see
2857
01:02:16,630 --> 01:02:19,470
it when we created it as you can see
it's assigned an internal IP since we're
2858
01:02:19,470 --> 01:02:19,480
it's assigned an internal IP since we're
2859
01:02:19,480 --> 01:02:21,360
it's assigned an internal IP since we're
running on minikube this will be an IP
2860
01:02:21,360 --> 01:02:21,370
running on minikube this will be an IP
2861
01:02:21,370 --> 01:02:24,240
running on minikube this will be an IP
that we probably can't access when
2862
01:02:24,240 --> 01:02:24,250
that we probably can't access when
2863
01:02:24,250 --> 01:02:26,130
that we probably can't access when
running on a production cluster it will
2864
01:02:26,130 --> 01:02:26,140
running on a production cluster it will
2865
01:02:26,140 --> 01:02:28,830
running on a production cluster it will
be available as an external IP from
2866
01:02:28,830 --> 01:02:28,840
be available as an external IP from
2867
01:02:28,840 --> 01:02:31,500
be available as an external IP from
whatever api's your cloud provider may
2868
01:02:31,500 --> 01:02:31,510
whatever api's your cloud provider may
2869
01:02:31,510 --> 01:02:34,170
whatever api's your cloud provider may
provide for now let's not worry about
2870
01:02:34,170 --> 01:02:34,180
provide for now let's not worry about
2871
01:02:34,180 --> 01:02:36,330
provide for now let's not worry about
how we access the load balancer we'll
2872
01:02:36,330 --> 01:02:36,340
how we access the load balancer we'll
2873
01:02:36,340 --> 01:02:38,340
how we access the load balancer we'll
get into that when we do talk about the
2874
01:02:38,340 --> 01:02:38,350
get into that when we do talk about the
2875
01:02:38,350 --> 01:02:41,460
get into that when we do talk about the
DNS system and how names and network
2876
01:02:41,460 --> 01:02:41,470
DNS system and how names and network
2877
01:02:41,470 --> 01:02:42,600
DNS system and how names and network
addresses are resolved in your
2878
01:02:42,600 --> 01:02:42,610
addresses are resolved in your
2879
01:02:42,610 --> 01:02:45,270
addresses are resolved in your
Kubernetes cluster for now simply be
2880
01:02:45,270 --> 01:02:45,280
Kubernetes cluster for now simply be
2881
01:02:45,280 --> 01:02:47,430
Kubernetes cluster for now simply be
confident that the lower balancer was
2882
01:02:47,430 --> 01:02:47,440
confident that the lower balancer was
2883
01:02:47,440 --> 01:02:49,380
confident that the lower balancer was
properly created and streams are running
2884
01:02:49,380 --> 01:02:49,390
properly created and streams are running
2885
01:02:49,390 --> 01:02:51,090
properly created and streams are running
on a minikube there's some things were
2886
01:02:51,090 --> 01:02:51,100
on a minikube there's some things were
2887
01:02:51,100 --> 01:02:52,980
on a minikube there's some things were
just not going to be able to get like an
2888
01:02:52,980 --> 01:02:52,990
just not going to be able to get like an
2889
01:02:52,990 --> 01:02:56,850
just not going to be able to get like an
example load balancing will cover these
2890
01:02:56,850 --> 01:02:56,860
example load balancing will cover these
2891
01:02:56,860 --> 01:03:06,900
example load balancing will cover these
items in later lectures hopefully by
2892
01:03:06,900 --> 01:03:06,910
items in later lectures hopefully by
2893
01:03:06,910 --> 01:03:08,520
items in later lectures hopefully by
this point you're getting the feeling
2894
01:03:08,520 --> 01:03:08,530
this point you're getting the feeling
2895
01:03:08,530 --> 01:03:10,440
this point you're getting the feeling
that deployments are pretty central to
2896
01:03:10,440 --> 01:03:10,450
that deployments are pretty central to
2897
01:03:10,450 --> 01:03:12,720
that deployments are pretty central to
things in Cooper Nettie's we've used
2898
01:03:12,720 --> 01:03:12,730
things in Cooper Nettie's we've used
2899
01:03:12,730 --> 01:03:15,210
things in Cooper Nettie's we've used
them to define a tomcat service scale it
2900
01:03:15,210 --> 01:03:15,220
them to define a tomcat service scale it
2901
01:03:15,220 --> 01:03:17,700
them to define a tomcat service scale it
to multiple pods and tell a service how
2902
01:03:17,700 --> 01:03:17,710
to multiple pods and tell a service how
2903
01:03:17,710 --> 01:03:19,740
to multiple pods and tell a service how
to access the pods inside our deployment
2904
01:03:19,740 --> 01:03:19,750
to access the pods inside our deployment
2905
01:03:19,750 --> 01:03:22,020
to access the pods inside our deployment
as a foundation for diving deeper into
2906
01:03:22,020 --> 01:03:22,030
as a foundation for diving deeper into
2907
01:03:22,030 --> 01:03:24,090
as a foundation for diving deeper into
Kubernetes let's discuss more about
2908
01:03:24,090 --> 01:03:24,100
Kubernetes let's discuss more about
2909
01:03:24,100 --> 01:03:26,700
Kubernetes let's discuss more about
deployments their nature and how to work
2910
01:03:26,700 --> 01:03:26,710
deployments their nature and how to work
2911
01:03:26,710 --> 01:03:29,580
deployments their nature and how to work
with them deployments are a way to
2912
01:03:29,580 --> 01:03:29,590
with them deployments are a way to
2913
01:03:29,590 --> 01:03:31,500
with them deployments are a way to
declare a desired state for your
2914
01:03:31,500 --> 01:03:31,510
declare a desired state for your
2915
01:03:31,510 --> 01:03:33,990
declare a desired state for your
application Kubernetes uses your
2916
01:03:33,990 --> 01:03:34,000
application Kubernetes uses your
2917
01:03:34,000 --> 01:03:36,780
application Kubernetes uses your
deployment usually defined in a file to
2918
01:03:36,780 --> 01:03:36,790
deployment usually defined in a file to
2919
01:03:36,790 --> 01:03:39,270
deployment usually defined in a file to
deploy your application according to how
2920
01:03:39,270 --> 01:03:39,280
deploy your application according to how
2921
01:03:39,280 --> 01:03:41,130
deploy your application according to how
you describe it in your deployment
2922
01:03:41,130 --> 01:03:41,140
you describe it in your deployment
2923
01:03:41,140 --> 01:03:43,500
you describe it in your deployment
configuration you've already worked with
2924
01:03:43,500 --> 01:03:43,510
configuration you've already worked with
2925
01:03:43,510 --> 01:03:45,150
configuration you've already worked with
a couple basic deployments to define a
2926
01:03:45,150 --> 01:03:45,160
a couple basic deployments to define a
2927
01:03:45,160 --> 01:03:47,270
a couple basic deployments to define a
tomcat container and then scale it
2928
01:03:47,270 --> 01:03:47,280
tomcat container and then scale it
2929
01:03:47,280 --> 01:03:49,470
tomcat container and then scale it
deployments give us the advantage of
2930
01:03:49,470 --> 01:03:49,480
deployments give us the advantage of
2931
01:03:49,480 --> 01:03:51,780
deployments give us the advantage of
letting us describe the semantics of our
2932
01:03:51,780 --> 01:03:51,790
letting us describe the semantics of our
2933
01:03:51,790 --> 01:03:54,270
letting us describe the semantics of our
application and its needs in a central
2934
01:03:54,270 --> 01:03:54,280
application and its needs in a central
2935
01:03:54,280 --> 01:03:56,970
application and its needs in a central
area and let Kubernetes handle a fair
2936
01:03:56,970 --> 01:03:56,980
area and let Kubernetes handle a fair
2937
01:03:56,980 --> 01:03:59,550
area and let Kubernetes handle a fair
amount of the details for us they're not
2938
01:03:59,550 --> 01:03:59,560
amount of the details for us they're not
2939
01:03:59,560 --> 01:04:01,170
amount of the details for us they're not
the only way of deploying applications
2940
01:04:01,170 --> 01:04:01,180
the only way of deploying applications
2941
01:04:01,180 --> 01:04:03,510
the only way of deploying applications
to Kubernetes in fact in earlier
2942
01:04:03,510 --> 01:04:03,520
to Kubernetes in fact in earlier
2943
01:04:03,520 --> 01:04:05,010
to Kubernetes in fact in earlier
versions they didn't even
2944
01:04:05,010 --> 01:04:05,020
versions they didn't even
2945
01:04:05,020 --> 01:04:07,290
versions they didn't even
you had to work with the lower-level
2946
01:04:07,290 --> 01:04:07,300
you had to work with the lower-level
2947
01:04:07,300 --> 01:04:10,080
you had to work with the lower-level
objects for example the pods the
2948
01:04:10,080 --> 01:04:10,090
objects for example the pods the
2949
01:04:10,090 --> 01:04:12,750
objects for example the pods the
containers the images yourself and
2950
01:04:12,750 --> 01:04:12,760
containers the images yourself and
2951
01:04:12,760 --> 01:04:14,550
containers the images yourself and
create your deployment the way you
2952
01:04:14,550 --> 01:04:14,560
create your deployment the way you
2953
01:04:14,560 --> 01:04:16,859
create your deployment the way you
wanted it however they have become the
2954
01:04:16,859 --> 01:04:16,869
wanted it however they have become the
2955
01:04:16,869 --> 01:04:19,320
wanted it however they have become the
de facto standard and insulate you from
2956
01:04:19,320 --> 01:04:19,330
de facto standard and insulate you from
2957
01:04:19,330 --> 01:04:21,150
de facto standard and insulate you from
having to handle otherwise quite
2958
01:04:21,150 --> 01:04:21,160
having to handle otherwise quite
2959
01:04:21,160 --> 01:04:28,140
having to handle otherwise quite
complicated tasks on your own with
2960
01:04:28,140 --> 01:04:28,150
complicated tasks on your own with
2961
01:04:28,150 --> 01:04:29,970
complicated tasks on your own with
deployment objects you can do a variety
2962
01:04:29,970 --> 01:04:29,980
deployment objects you can do a variety
2963
01:04:29,980 --> 01:04:32,850
deployment objects you can do a variety
of things you can create a deployment
2964
01:04:32,850 --> 01:04:32,860
of things you can create a deployment
2965
01:04:32,860 --> 01:04:34,859
of things you can create a deployment
you can update an existing deployment
2966
01:04:34,859 --> 01:04:34,869
you can update an existing deployment
2967
01:04:34,869 --> 01:04:37,140
you can update an existing deployment
you can apply rolling updates to pods
2968
01:04:37,140 --> 01:04:37,150
you can apply rolling updates to pods
2969
01:04:37,150 --> 01:04:39,090
you can apply rolling updates to pods
running on your cluster you can roll
2970
01:04:39,090 --> 01:04:39,100
running on your cluster you can roll
2971
01:04:39,100 --> 01:04:41,340
running on your cluster you can roll
back to a previous version or you can
2972
01:04:41,340 --> 01:04:41,350
back to a previous version or you can
2973
01:04:41,350 --> 01:04:43,500
back to a previous version or you can
pause and resume a deployment we've
2974
01:04:43,500 --> 01:04:43,510
pause and resume a deployment we've
2975
01:04:43,510 --> 01:04:45,090
pause and resume a deployment we've
already done the first thing on the list
2976
01:04:45,090 --> 01:04:45,100
already done the first thing on the list
2977
01:04:45,100 --> 01:04:47,100
already done the first thing on the list
in fact we've already done the second as
2978
01:04:47,100 --> 01:04:47,110
in fact we've already done the second as
2979
01:04:47,110 --> 01:04:49,020
in fact we've already done the second as
well when we set the existing deployment
2980
01:04:49,020 --> 01:04:49,030
well when we set the existing deployment
2981
01:04:49,030 --> 01:04:51,150
well when we set the existing deployment
to a replication a factor of four in the
2982
01:04:51,150 --> 01:04:51,160
to a replication a factor of four in the
2983
01:04:51,160 --> 01:04:55,109
to a replication a factor of four in the
previous lecture applying rolling
2984
01:04:55,109 --> 01:04:55,119
previous lecture applying rolling
2985
01:04:55,119 --> 01:04:58,109
previous lecture applying rolling
updates is very useful we can use
2986
01:04:58,109 --> 01:04:58,119
updates is very useful we can use
2987
01:04:58,119 --> 01:05:00,030
updates is very useful we can use
deployments to ease the pain of updating
2988
01:05:00,030 --> 01:05:00,040
deployments to ease the pain of updating
2989
01:05:00,040 --> 01:05:02,280
deployments to ease the pain of updating
an application by using rolling updates
2990
01:05:02,280 --> 01:05:02,290
an application by using rolling updates
2991
01:05:02,290 --> 01:05:04,200
an application by using rolling updates
we can use Kubernetes replication
2992
01:05:04,200 --> 01:05:04,210
we can use Kubernetes replication
2993
01:05:04,210 --> 01:05:07,109
we can use Kubernetes replication
function to only update a subset of our
2994
01:05:07,109 --> 01:05:07,119
function to only update a subset of our
2995
01:05:07,119 --> 01:05:09,510
function to only update a subset of our
replicas at any given time to a new
2996
01:05:09,510 --> 01:05:09,520
replicas at any given time to a new
2997
01:05:09,520 --> 01:05:11,490
replicas at any given time to a new
version of our application so the
2998
01:05:11,490 --> 01:05:11,500
version of our application so the
2999
01:05:11,500 --> 01:05:12,900
version of our application so the
upgrade could occur without any
3000
01:05:12,900 --> 01:05:12,910
upgrade could occur without any
3001
01:05:12,910 --> 01:05:15,030
upgrade could occur without any
noticeable downtime to the user and it
3002
01:05:15,030 --> 01:05:15,040
noticeable downtime to the user and it
3003
01:05:15,040 --> 01:05:18,420
noticeable downtime to the user and it
properly architected application we can
3004
01:05:18,420 --> 01:05:18,430
properly architected application we can
3005
01:05:18,430 --> 01:05:20,490
properly architected application we can
also use a set of functions to roll back
3006
01:05:20,490 --> 01:05:20,500
also use a set of functions to roll back
3007
01:05:20,500 --> 01:05:22,500
also use a set of functions to roll back
to a previous version of a deployment if
3008
01:05:22,500 --> 01:05:22,510
to a previous version of a deployment if
3009
01:05:22,510 --> 01:05:25,109
to a previous version of a deployment if
an update caused a problem or for any
3010
01:05:25,109 --> 01:05:25,119
an update caused a problem or for any
3011
01:05:25,119 --> 01:05:26,580
an update caused a problem or for any
other reason we'd like to go back to the
3012
01:05:26,580 --> 01:05:26,590
other reason we'd like to go back to the
3013
01:05:26,590 --> 01:05:29,040
other reason we'd like to go back to the
previous version of an application we
3014
01:05:29,040 --> 01:05:29,050
previous version of an application we
3015
01:05:29,050 --> 01:05:31,140
previous version of an application we
can use the deployment rollback feature
3016
01:05:31,140 --> 01:05:31,150
can use the deployment rollback feature
3017
01:05:31,150 --> 01:05:34,099
can use the deployment rollback feature
to go back to a previous version and
3018
01:05:34,099 --> 01:05:34,109
to go back to a previous version and
3019
01:05:34,109 --> 01:05:36,480
to go back to a previous version and
finally you can pause or resume a
3020
01:05:36,480 --> 01:05:36,490
finally you can pause or resume a
3021
01:05:36,490 --> 01:05:38,190
finally you can pause or resume a
deployment and this is exactly what it
3022
01:05:38,190 --> 01:05:38,200
deployment and this is exactly what it
3023
01:05:38,200 --> 01:05:40,170
deployment and this is exactly what it
sounds like the application running is
3024
01:05:40,170 --> 01:05:40,180
sounds like the application running is
3025
01:05:40,180 --> 01:05:41,700
sounds like the application running is
part of the deployment can be paused or
3026
01:05:41,700 --> 01:05:41,710
part of the deployment can be paused or
3027
01:05:41,710 --> 01:05:47,120
part of the deployment can be paused or
resumed with some simple commands
3028
01:05:47,130 --> 01:05:49,500
working with deployments is equally
3029
01:05:49,500 --> 01:05:49,510
working with deployments is equally
3030
01:05:49,510 --> 01:05:51,480
working with deployments is equally
simple as many other things using
3031
01:05:51,480 --> 01:05:51,490
simple as many other things using
3032
01:05:51,490 --> 01:05:54,930
simple as many other things using
kubectl is your gateway to working
3033
01:05:54,930 --> 01:05:54,940
kubectl is your gateway to working
3034
01:05:54,940 --> 01:05:56,760
kubectl is your gateway to working
with deployments here's a useful
3035
01:05:56,760 --> 01:05:56,770
with deployments here's a useful
3036
01:05:56,770 --> 01:06:00,420
with deployments here's a useful
commands and what they do first you can
3037
01:06:00,420 --> 01:06:00,430
commands and what they do first you can
3038
01:06:00,430 --> 01:06:03,390
commands and what they do first you can
list deployments using the kubectl get
3039
01:06:03,390 --> 01:06:03,400
list deployments using the kubectl get
3040
01:06:03,400 --> 01:06:06,420
list deployments using the kubectl get
deployments command then you can also
3041
01:06:06,420 --> 01:06:06,430
deployments command then you can also
3042
01:06:06,430 --> 01:06:09,030
deployments command then you can also
view status of deployment rollouts using
3043
01:06:09,030 --> 01:06:09,040
view status of deployment rollouts using
3044
01:06:09,040 --> 01:06:12,599
view status of deployment rollouts using
the kubectl rollout status command you
3045
01:06:12,599 --> 01:06:12,609
the kubectl rollout status command you
3046
01:06:12,609 --> 01:06:14,160
the kubectl rollout status command you
can also set the image of a deployment
3047
01:06:14,160 --> 01:06:14,170
can also set the image of a deployment
3048
01:06:14,170 --> 01:06:17,220
can also set the image of a deployment
using the kubectl set image command
3049
01:06:17,220 --> 01:06:17,230
using the kubectl set image command
3050
01:06:17,230 --> 01:06:18,420
using the kubectl set image command
and
3051
01:06:18,420 --> 01:06:18,430
and
3052
01:06:18,430 --> 01:06:20,099
and
finally you can view the history of a
3053
01:06:20,099 --> 01:06:20,109
finally you can view the history of a
3054
01:06:20,109 --> 01:06:21,990
finally you can view the history of a
roll out including previous versions
3055
01:06:21,990 --> 01:06:22,000
roll out including previous versions
3056
01:06:22,000 --> 01:06:24,059
roll out including previous versions
that you're able to roll back to using
3057
01:06:24,059 --> 01:06:24,069
that you're able to roll back to using
3058
01:06:24,069 --> 01:06:26,660
that you're able to roll back to using
the kubectl roll out history command
3059
01:06:26,660 --> 01:06:26,670
the kubectl roll out history command
3060
01:06:26,670 --> 01:06:28,650
the kubectl roll out history command
let's go through each one of these
3061
01:06:28,650 --> 01:06:28,660
let's go through each one of these
3062
01:06:28,660 --> 01:06:30,960
let's go through each one of these
commands in detail and you can follow
3063
01:06:30,960 --> 01:06:30,970
commands in detail and you can follow
3064
01:06:30,970 --> 01:06:34,829
commands in detail and you can follow
along we'll start off with one that you
3065
01:06:34,829 --> 01:06:34,839
along we'll start off with one that you
3066
01:06:34,839 --> 01:06:36,870
along we'll start off with one that you
already familiar with kubectl get
3067
01:06:36,870 --> 01:06:36,880
already familiar with kubectl get
3068
01:06:36,880 --> 01:06:39,480
already familiar with kubectl get
deployments we've used the get
3069
01:06:39,480 --> 01:06:39,490
deployments we've used the get
3070
01:06:39,490 --> 01:06:40,859
deployments we've used the get
deployments command to see what's been
3071
01:06:40,859 --> 01:06:40,869
deployments command to see what's been
3072
01:06:40,869 --> 01:06:43,230
deployments command to see what's been
running on our mini coup before by
3073
01:06:43,230 --> 01:06:43,240
running on our mini coup before by
3074
01:06:43,240 --> 01:06:45,660
running on our mini coup before by
typing kubectl get deployments were
3075
01:06:45,660 --> 01:06:45,670
typing kubectl get deployments were
3076
01:06:45,670 --> 01:06:49,349
typing kubectl get deployments were
able to see what is running and it's a
3077
01:06:49,349 --> 01:06:49,359
able to see what is running and it's a
3078
01:06:49,359 --> 01:06:51,120
able to see what is running and it's a
variety of information about it in this
3079
01:06:51,120 --> 01:06:51,130
variety of information about it in this
3080
01:06:51,130 --> 01:06:55,579
variety of information about it in this
case Tomcat deployment has four replicas
3081
01:06:55,579 --> 01:06:55,589
case Tomcat deployment has four replicas
3082
01:06:55,589 --> 01:06:58,620
case Tomcat deployment has four replicas
we can use the rollout status command by
3083
01:06:58,620 --> 01:06:58,630
we can use the rollout status command by
3084
01:06:58,630 --> 01:07:03,380
we can use the rollout status command by
typing kubectl rollout status
3085
01:07:03,380 --> 01:07:03,390
typing kubectl rollout status
3086
01:07:03,390 --> 01:07:06,569
typing kubectl rollout status
deployment and the name of a deployment
3087
01:07:06,569 --> 01:07:06,579
deployment and the name of a deployment
3088
01:07:06,579 --> 01:07:09,420
deployment and the name of a deployment
to see the status of a deployment and if
3089
01:07:09,420 --> 01:07:09,430
to see the status of a deployment and if
3090
01:07:09,430 --> 01:07:12,930
to see the status of a deployment and if
it's been rolled out once the command is
3091
01:07:12,930 --> 01:07:12,940
it's been rolled out once the command is
3092
01:07:12,940 --> 01:07:14,940
it's been rolled out once the command is
executed it'll tell us if it's been
3093
01:07:14,940 --> 01:07:14,950
executed it'll tell us if it's been
3094
01:07:14,950 --> 01:07:20,590
executed it'll tell us if it's been
successfully rolled out or not
3095
01:07:20,600 --> 01:07:22,870
let's refresh our memory on what our
3096
01:07:22,870 --> 01:07:22,880
let's refresh our memory on what our
3097
01:07:22,880 --> 01:07:25,240
let's refresh our memory on what our
Tomcat deployment looks like let's look
3098
01:07:25,240 --> 01:07:25,250
Tomcat deployment looks like let's look
3099
01:07:25,250 --> 01:07:29,290
Tomcat deployment looks like let's look
at the deployment file in this file
3100
01:07:29,290 --> 01:07:29,300
at the deployment file in this file
3101
01:07:29,300 --> 01:07:31,390
at the deployment file in this file
you'll notice we specified one container
3102
01:07:31,390 --> 01:07:31,400
you'll notice we specified one container
3103
01:07:31,400 --> 01:07:34,300
you'll notice we specified one container
named Tomcat using the container image
3104
01:07:34,300 --> 01:07:34,310
named Tomcat using the container image
3105
01:07:34,310 --> 01:07:39,430
named Tomcat using the container image
Tomcat : 9.0 this deployment has one
3106
01:07:39,430 --> 01:07:39,440
Tomcat : 9.0 this deployment has one
3107
01:07:39,440 --> 01:07:43,030
Tomcat : 9.0 this deployment has one
container the name is Tomcat effect
3108
01:07:43,030 --> 01:07:43,040
container the name is Tomcat effect
3109
01:07:43,040 --> 01:07:46,060
container the name is Tomcat effect
container and it specifies the Tomcat :
3110
01:07:46,060 --> 01:07:46,070
container and it specifies the Tomcat :
3111
01:07:46,070 --> 01:07:49,200
container and it specifies the Tomcat :
9.0 image from docker hub we could use
3112
01:07:49,200 --> 01:07:49,210
9.0 image from docker hub we could use
3113
01:07:49,210 --> 01:07:52,900
9.0 image from docker hub we could use
the kubectl set image command to change
3114
01:07:52,900 --> 01:07:52,910
the kubectl set image command to change
3115
01:07:52,910 --> 01:07:55,690
the kubectl set image command to change
the image in any container as long as we
3116
01:07:55,690 --> 01:07:55,700
the image in any container as long as we
3117
01:07:55,700 --> 01:07:57,610
the image in any container as long as we
know its name and the new image that
3118
01:07:57,610 --> 01:07:57,620
know its name and the new image that
3119
01:07:57,620 --> 01:08:00,880
know its name and the new image that
we'd like to set it to let's upgrade to
3120
01:08:00,880 --> 01:08:00,890
we'd like to set it to let's upgrade to
3121
01:08:00,890 --> 01:08:03,790
we'd like to set it to let's upgrade to
the newest version of Tomcat 9.0 point
3122
01:08:03,790 --> 01:08:03,800
the newest version of Tomcat 9.0 point
3123
01:08:03,800 --> 01:08:06,250
the newest version of Tomcat 9.0 point
one using the kubectl set image
3124
01:08:06,250 --> 01:08:06,260
one using the kubectl set image
3125
01:08:06,260 --> 01:08:08,860
one using the kubectl set image
command to do so we'll need to note the
3126
01:08:08,860 --> 01:08:08,870
command to do so we'll need to note the
3127
01:08:08,870 --> 01:08:10,570
command to do so we'll need to note the
name of our container and the name of
3128
01:08:10,570 --> 01:08:10,580
name of our container and the name of
3129
01:08:10,580 --> 01:08:17,780
name of our container and the name of
our deployment
3130
01:08:17,790 --> 01:08:19,919
with that information on our screen
3131
01:08:19,919 --> 01:08:19,929
with that information on our screen
3132
01:08:19,929 --> 01:08:22,729
with that information on our screen
let's use the kubectl set image command
3133
01:08:22,729 --> 01:08:22,739
let's use the kubectl set image command
3134
01:08:22,739 --> 01:08:25,769
let's use the kubectl set image command
specifying our deployment deployment /
3135
01:08:25,769 --> 01:08:25,779
specifying our deployment deployment /
3136
01:08:25,779 --> 01:08:31,919
specifying our deployment deployment /
tomcat - deployment the name Tomcat for
3137
01:08:31,919 --> 01:08:31,929
tomcat - deployment the name Tomcat for
3138
01:08:31,929 --> 01:08:35,490
tomcat - deployment the name Tomcat for
our container equals Tomcat : 9.0 point
3139
01:08:35,490 --> 01:08:35,500
our container equals Tomcat : 9.0 point
3140
01:08:35,500 --> 01:08:38,220
our container equals Tomcat : 9.0 point
1 that will set the image name on the
3141
01:08:38,220 --> 01:08:38,230
1 that will set the image name on the
3142
01:08:38,230 --> 01:08:40,859
1 that will set the image name on the
Tomcat deployment let's execute the
3143
01:08:40,859 --> 01:08:40,869
Tomcat deployment let's execute the
3144
01:08:40,869 --> 01:08:48,070
Tomcat deployment let's execute the
command
3145
01:08:48,080 --> 01:08:50,140
as you can see the deployment was
3146
01:08:50,140 --> 01:08:50,150
as you can see the deployment was
3147
01:08:50,150 --> 01:08:55,150
as you can see the deployment was
successfully updated
3148
01:08:55,160 --> 01:08:56,479
the
3149
01:08:56,479 --> 01:08:56,489
the
3150
01:08:56,489 --> 01:08:59,089
the
kubectl rollout history command can give us
3151
01:08:59,089 --> 01:08:59,099
kubectl rollout history command can give us
3152
01:08:59,099 --> 01:09:00,620
kubectl rollout history command can give us
information about the history of a
3153
01:09:00,620 --> 01:09:00,630
information about the history of a
3154
01:09:00,630 --> 01:09:02,660
information about the history of a
rollout of a deployment in this case
3155
01:09:02,660 --> 01:09:02,670
rollout of a deployment in this case
3156
01:09:02,670 --> 01:09:05,950
rollout of a deployment in this case
let's specify kubectl rollout history
3157
01:09:05,950 --> 01:09:05,960
let's specify kubectl rollout history
3158
01:09:05,960 --> 01:09:09,200
let's specify kubectl rollout history
deployment flash tom cat - deployment
3159
01:09:09,200 --> 01:09:09,210
deployment flash tom cat - deployment
3160
01:09:09,210 --> 01:09:11,239
deployment flash tom cat - deployment
ticket - history for our Tomcat
3161
01:09:11,239 --> 01:09:11,249
ticket - history for our Tomcat
3162
01:09:11,249 --> 01:09:14,509
ticket - history for our Tomcat
deployment as you can see it'll note we
3163
01:09:14,509 --> 01:09:14,519
deployment as you can see it'll note we
3164
01:09:14,519 --> 01:09:18,140
deployment as you can see it'll note we
made two changes recently we can get the
3165
01:09:18,140 --> 01:09:18,150
made two changes recently we can get the
3166
01:09:18,150 --> 01:09:20,450
made two changes recently we can get the
information in the details of a given
3167
01:09:20,450 --> 01:09:20,460
information in the details of a given
3168
01:09:20,460 --> 01:09:22,879
information in the details of a given
revision by typing the same command with
3169
01:09:22,879 --> 01:09:22,889
revision by typing the same command with
3170
01:09:22,889 --> 01:09:26,089
revision by typing the same command with
the - - revision equals the revision
3171
01:09:26,089 --> 01:09:26,099
the - - revision equals the revision
3172
01:09:26,099 --> 01:09:27,769
the - - revision equals the revision
we'd like to look more information about
3173
01:09:27,769 --> 01:09:27,779
we'd like to look more information about
3174
01:09:27,779 --> 01:09:32,599
we'd like to look more information about
let's look at number four as you can see
3175
01:09:32,599 --> 01:09:32,609
let's look at number four as you can see
3176
01:09:32,609 --> 01:09:34,519
let's look at number four as you can see
in this situation it's given us the
3177
01:09:34,519 --> 01:09:34,529
in this situation it's given us the
3178
01:09:34,529 --> 01:09:37,189
in this situation it's given us the
information about what the state of that
3179
01:09:37,189 --> 01:09:37,199
information about what the state of that
3180
01:09:37,199 --> 01:09:47,579
information about what the state of that
deployment looked like in that revision
3181
01:09:47,589 --> 01:09:54,230
you
3182
01:09:54,240 --> 01:09:58,530
as your Kubernetes deployments grow you
3183
01:09:58,530 --> 01:09:58,540
as your Kubernetes deployments grow you
3184
01:09:58,540 --> 01:09:59,880
as your Kubernetes deployments grow you
will have more and more objects
3185
01:09:59,880 --> 01:09:59,890
will have more and more objects
3186
01:09:59,890 --> 01:10:02,370
will have more and more objects
available to you in the Kubernetes
3187
01:10:02,370 --> 01:10:02,380
available to you in the Kubernetes
3188
01:10:02,380 --> 01:10:05,130
available to you in the Kubernetes
interface both from a command line and
3189
01:10:05,130 --> 01:10:05,140
interface both from a command line and
3190
01:10:05,140 --> 01:10:06,900
interface both from a command line and
on the web don't worry we'll get into a
3191
01:10:06,900 --> 01:10:06,910
on the web don't worry we'll get into a
3192
01:10:06,910 --> 01:10:10,500
on the web don't worry we'll get into a
web interface later there are a variety
3193
01:10:10,500 --> 01:10:10,510
web interface later there are a variety
3194
01:10:10,510 --> 01:10:12,780
web interface later there are a variety
of tools that are available to you to
3195
01:10:12,780 --> 01:10:12,790
of tools that are available to you to
3196
01:10:12,790 --> 01:10:14,580
of tools that are available to you to
organize items within the Kubernetes
3197
01:10:14,580 --> 01:10:14,590
organize items within the Kubernetes
3198
01:10:14,590 --> 01:10:16,980
organize items within the Kubernetes
interface these are called labels and
3199
01:10:16,980 --> 01:10:16,990
interface these are called labels and
3200
01:10:16,990 --> 01:10:20,130
interface these are called labels and
selectors however labels aren't useful
3201
01:10:20,130 --> 01:10:20,140
selectors however labels aren't useful
3202
01:10:20,140 --> 01:10:22,490
selectors however labels aren't useful
just for organizing for the end user
3203
01:10:22,490 --> 01:10:22,500
just for organizing for the end user
3204
01:10:22,500 --> 01:10:24,900
just for organizing for the end user
labels can be used to describe to
3205
01:10:24,900 --> 01:10:24,910
labels can be used to describe to
3206
01:10:24,910 --> 01:10:27,510
labels can be used to describe to
Kubernetes how various objects and
3207
01:10:27,510 --> 01:10:27,520
Kubernetes how various objects and
3208
01:10:27,520 --> 01:10:29,700
Kubernetes how various objects and
resources within the cluster work
3209
01:10:29,700 --> 01:10:29,710
resources within the cluster work
3210
01:10:29,710 --> 01:10:35,100
resources within the cluster work
together as your Kubernetes deployments
3211
01:10:35,100 --> 01:10:35,110
together as your Kubernetes deployments
3212
01:10:35,110 --> 01:10:36,990
together as your Kubernetes deployments
grow they'll invariably include multiple
3213
01:10:36,990 --> 01:10:37,000
grow they'll invariably include multiple
3214
01:10:37,000 --> 01:10:39,090
grow they'll invariably include multiple
services pods and other resources
3215
01:10:39,090 --> 01:10:39,100
services pods and other resources
3216
01:10:39,100 --> 01:10:40,980
services pods and other resources
keeping track of these can become
3217
01:10:40,980 --> 01:10:40,990
keeping track of these can become
3218
01:10:40,990 --> 01:10:43,170
keeping track of these can become
cumbersome even more challenging can be
3219
01:10:43,170 --> 01:10:43,180
cumbersome even more challenging can be
3220
01:10:43,180 --> 01:10:44,850
cumbersome even more challenging can be
describing the Kubernetes how these
3221
01:10:44,850 --> 01:10:44,860
describing the Kubernetes how these
3222
01:10:44,860 --> 01:10:47,100
describing the Kubernetes how these
various resources interact how you want
3223
01:10:47,100 --> 01:10:47,110
various resources interact how you want
3224
01:10:47,110 --> 01:10:48,720
various resources interact how you want
them to be replicated scaled and
3225
01:10:48,720 --> 01:10:48,730
them to be replicated scaled and
3226
01:10:48,730 --> 01:10:51,210
them to be replicated scaled and
serviced and what to do and to what
3227
01:10:51,210 --> 01:10:51,220
serviced and what to do and to what
3228
01:10:51,220 --> 01:10:53,700
serviced and what to do and to what
object when things might go wrong that's
3229
01:10:53,700 --> 01:10:53,710
object when things might go wrong that's
3230
01:10:53,710 --> 01:10:55,040
object when things might go wrong that's
where labels and selectors come in
3231
01:10:55,040 --> 01:10:55,050
where labels and selectors come in
3232
01:10:55,050 --> 01:10:58,260
where labels and selectors come in
labels are key value pairs that let you
3233
01:10:58,260 --> 01:10:58,270
labels are key value pairs that let you
3234
01:10:58,270 --> 01:11:00,360
labels are key value pairs that let you
set human readable attributes on nearly
3235
01:11:00,360 --> 01:11:00,370
set human readable attributes on nearly
3236
01:11:00,370 --> 01:11:03,330
set human readable attributes on nearly
any resource selectors are the criteria
3237
01:11:03,330 --> 01:11:03,340
any resource selectors are the criteria
3238
01:11:03,340 --> 01:11:06,690
any resource selectors are the criteria
you can use to match labels this way
3239
01:11:06,690 --> 01:11:06,700
you can use to match labels this way
3240
01:11:06,700 --> 01:11:09,870
you can use to match labels this way
using labels and selectors together you
3241
01:11:09,870 --> 01:11:09,880
using labels and selectors together you
3242
01:11:09,880 --> 01:11:11,970
using labels and selectors together you
can begin to describe to Kubernetes how
3243
01:11:11,970 --> 01:11:11,980
can begin to describe to Kubernetes how
3244
01:11:11,980 --> 01:11:14,250
can begin to describe to Kubernetes how
your system is configured Kubernetes
3245
01:11:14,250 --> 01:11:14,260
your system is configured Kubernetes
3246
01:11:14,260 --> 01:11:16,290
your system is configured Kubernetes
also provides a few labels out of the
3247
01:11:16,290 --> 01:11:16,300
also provides a few labels out of the
3248
01:11:16,300 --> 01:11:18,720
also provides a few labels out of the
box for common concepts for example
3249
01:11:18,720 --> 01:11:18,730
box for common concepts for example
3250
01:11:18,730 --> 01:11:20,940
box for common concepts for example
things like hostname operating system
3251
01:11:20,940 --> 01:11:20,950
things like hostname operating system
3252
01:11:20,950 --> 01:11:22,620
things like hostname operating system
type architecture and the like are
3253
01:11:22,620 --> 01:11:22,630
type architecture and the like are
3254
01:11:22,630 --> 01:11:25,710
type architecture and the like are
defined on nodes a complete list of the
3255
01:11:25,710 --> 01:11:25,720
defined on nodes a complete list of the
3256
01:11:25,720 --> 01:11:28,050
defined on nodes a complete list of the
predefined labels is available in the
3257
01:11:28,050 --> 01:11:28,060
predefined labels is available in the
3258
01:11:28,060 --> 01:11:31,740
predefined labels is available in the
Kubernetes documentation let's work with
3259
01:11:31,740 --> 01:11:31,750
Kubernetes documentation let's work with
3260
01:11:31,750 --> 01:11:33,780
Kubernetes documentation let's work with
an example of how we use labels and
3261
01:11:33,780 --> 01:11:33,790
an example of how we use labels and
3262
01:11:33,790 --> 01:11:35,730
an example of how we use labels and
selectors to accomplish a task in
3263
01:11:35,730 --> 01:11:35,740
selectors to accomplish a task in
3264
01:11:35,740 --> 01:11:38,730
selectors to accomplish a task in
Kubernetes for example let's say we had
3265
01:11:38,730 --> 01:11:38,740
Kubernetes for example let's say we had
3266
01:11:38,740 --> 01:11:40,800
Kubernetes for example let's say we had
a deployment and we had a variety of
3267
01:11:40,800 --> 01:11:40,810
a deployment and we had a variety of
3268
01:11:40,810 --> 01:11:43,470
a deployment and we had a variety of
nodes in our infrastructure but only one
3269
01:11:43,470 --> 01:11:43,480
nodes in our infrastructure but only one
3270
01:11:43,480 --> 01:11:46,410
nodes in our infrastructure but only one
of these nodes had an SSD all the others
3271
01:11:46,410 --> 01:11:46,420
of these nodes had an SSD all the others
3272
01:11:46,420 --> 01:11:49,110
of these nodes had an SSD all the others
were spinning disks we have an
3273
01:11:49,110 --> 01:11:49,120
were spinning disks we have an
3274
01:11:49,120 --> 01:11:52,020
were spinning disks we have an
application which requires an SSD for
3275
01:11:52,020 --> 01:11:52,030
application which requires an SSD for
3276
01:11:52,030 --> 01:11:55,740
application which requires an SSD for
both speed and consistency we can use
3277
01:11:55,740 --> 01:11:55,750
both speed and consistency we can use
3278
01:11:55,750 --> 01:11:57,780
both speed and consistency we can use
labels and selectors to describe to
3279
01:11:57,780 --> 01:11:57,790
labels and selectors to describe to
3280
01:11:57,790 --> 01:12:00,960
labels and selectors to describe to
Kubernetes the variety of traits about
3281
01:12:00,960 --> 01:12:00,970
Kubernetes the variety of traits about
3282
01:12:00,970 --> 01:12:03,700
Kubernetes the variety of traits about
our nodes we'd apply labels to
3283
01:12:03,700 --> 01:12:03,710
our nodes we'd apply labels to
3284
01:12:03,710 --> 01:12:06,070
our nodes we'd apply labels to
node indicating whether they had an SST
3285
01:12:06,070 --> 01:12:06,080
node indicating whether they had an SST
3286
01:12:06,080 --> 01:12:09,160
node indicating whether they had an SST
or a spinning desk then we could use
3287
01:12:09,160 --> 01:12:09,170
or a spinning desk then we could use
3288
01:12:09,170 --> 01:12:11,950
or a spinning desk then we could use
selectors to tell Kubernetes that when
3289
01:12:11,950 --> 01:12:11,960
selectors to tell Kubernetes that when
3290
01:12:11,960 --> 01:12:14,740
selectors to tell Kubernetes that when
it's deciding what nodes to run a given
3291
01:12:14,740 --> 01:12:14,750
it's deciding what nodes to run a given
3292
01:12:14,750 --> 01:12:19,360
it's deciding what nodes to run a given
pod on to only use nodes that had a
3293
01:12:19,360 --> 01:12:19,370
pod on to only use nodes that had a
3294
01:12:19,370 --> 01:12:24,760
pod on to only use nodes that had a
label SSD labels and selectors together
3295
01:12:24,760 --> 01:12:24,770
label SSD labels and selectors together
3296
01:12:24,770 --> 01:12:27,310
label SSD labels and selectors together
are not only good for organizing for a
3297
01:12:27,310 --> 01:12:27,320
are not only good for organizing for a
3298
01:12:27,320 --> 01:12:29,140
are not only good for organizing for a
human in a u in the interface like
3299
01:12:29,140 --> 01:12:29,150
human in a u in the interface like
3300
01:12:29,150 --> 01:12:31,990
human in a u in the interface like
kubectl or the web labels and
3301
01:12:31,990 --> 01:12:32,000
kubectl or the web labels and
3302
01:12:32,000 --> 01:12:34,120
kubectl or the web labels and
selectors allow Kubernetes to make
3303
01:12:34,120 --> 01:12:34,130
selectors allow Kubernetes to make
3304
01:12:34,130 --> 01:12:35,830
selectors allow Kubernetes to make
decisions based on logic that you
3305
01:12:35,830 --> 01:12:35,840
decisions based on logic that you
3306
01:12:35,840 --> 01:12:38,530
decisions based on logic that you
describe to it in the deployment to do
3307
01:12:38,530 --> 01:12:38,540
describe to it in the deployment to do
3308
01:12:38,540 --> 01:12:41,229
describe to it in the deployment to do
real actual tasks in scheduling and
3309
01:12:41,229 --> 01:12:41,239
real actual tasks in scheduling and
3310
01:12:41,239 --> 01:12:44,740
real actual tasks in scheduling and
error recovery you can label nearly
3311
01:12:44,740 --> 01:12:44,750
error recovery you can label nearly
3312
01:12:44,750 --> 01:12:46,330
error recovery you can label nearly
anything in the Kubernetes world whether
3313
01:12:46,330 --> 01:12:46,340
anything in the Kubernetes world whether
3314
01:12:46,340 --> 01:12:48,790
anything in the Kubernetes world whether
it's deployment services nodes or
3315
01:12:48,790 --> 01:12:48,800
it's deployment services nodes or
3316
01:12:48,800 --> 01:12:51,070
it's deployment services nodes or
anything else that's addressable through
3317
01:12:51,070 --> 01:12:51,080
anything else that's addressable through
3318
01:12:51,080 --> 01:12:53,709
anything else that's addressable through
the kubectl interface let's use labels
3319
01:12:53,709 --> 01:12:53,719
the kubectl interface let's use labels
3320
01:12:53,719 --> 01:12:56,440
the kubectl interface let's use labels
to label a node that has SSD storage and
3321
01:12:56,440 --> 01:12:56,450
to label a node that has SSD storage and
3322
01:12:56,450 --> 01:12:58,510
to label a node that has SSD storage and
then use a selector to tell the
3323
01:12:58,510 --> 01:12:58,520
then use a selector to tell the
3324
01:12:58,520 --> 01:13:00,430
then use a selector to tell the
deployment that our application should
3325
01:13:00,430 --> 01:13:00,440
deployment that our application should
3326
01:13:00,440 --> 01:13:02,979
deployment that our application should
only ever go onto a node with SSD
3327
01:13:02,979 --> 01:13:02,989
only ever go onto a node with SSD
3328
01:13:02,989 --> 01:13:08,800
only ever go onto a node with SSD
storage for this example we're going to
3329
01:13:08,800 --> 01:13:08,810
storage for this example we're going to
3330
01:13:08,810 --> 01:13:11,770
storage for this example we're going to
use node selector node selector is a
3331
01:13:11,770 --> 01:13:11,780
use node selector node selector is a
3332
01:13:11,780 --> 01:13:13,900
use node selector node selector is a
property on a deployment that uses
3333
01:13:13,900 --> 01:13:13,910
property on a deployment that uses
3334
01:13:13,910 --> 01:13:16,150
property on a deployment that uses
labels and selectors to choose which
3335
01:13:16,150 --> 01:13:16,160
labels and selectors to choose which
3336
01:13:16,160 --> 01:13:18,220
labels and selectors to choose which
nodes the master decides to run a given
3337
01:13:18,220 --> 01:13:18,230
nodes the master decides to run a given
3338
01:13:18,230 --> 01:13:20,590
nodes the master decides to run a given
pod on to accomplish our goal of running
3339
01:13:20,590 --> 01:13:20,600
pod on to accomplish our goal of running
3340
01:13:20,600 --> 01:13:22,810
pod on to accomplish our goal of running
our deployment only uh nodes with an SSD
3341
01:13:22,810 --> 01:13:22,820
our deployment only uh nodes with an SSD
3342
01:13:22,820 --> 01:13:25,870
our deployment only uh nodes with an SSD
we will first label a node is having an
3343
01:13:25,870 --> 01:13:25,880
we will first label a node is having an
3344
01:13:25,880 --> 01:13:28,750
we will first label a node is having an
SSD then we will define the node
3345
01:13:28,750 --> 01:13:28,760
SSD then we will define the node
3346
01:13:28,760 --> 01:13:31,000
SSD then we will define the node
selector on our deployment to match only
3347
01:13:31,000 --> 01:13:31,010
selector on our deployment to match only
3348
01:13:31,010 --> 01:13:33,720
selector on our deployment to match only
nodes having the label we just defined
3349
01:13:33,720 --> 01:13:33,730
nodes having the label we just defined
3350
01:13:33,730 --> 01:13:36,190
nodes having the label we just defined
the first order of business is to label
3351
01:13:36,190 --> 01:13:36,200
the first order of business is to label
3352
01:13:36,200 --> 01:13:39,459
the first order of business is to label
our node let's use the kubectl get
3353
01:13:39,459 --> 01:13:39,469
our node let's use the kubectl get
3354
01:13:39,469 --> 01:13:43,120
our node let's use the kubectl get
nodes command to find the names of our
3355
01:13:43,120 --> 01:13:43,130
nodes command to find the names of our
3356
01:13:43,130 --> 01:13:45,700
nodes command to find the names of our
nodes since we're running on a minikube
3357
01:13:45,700 --> 01:13:45,710
nodes since we're running on a minikube
3358
01:13:45,710 --> 01:13:47,470
nodes since we're running on a minikube
there's only one predictively named mini
3359
01:13:47,470 --> 01:13:47,480
there's only one predictively named mini
3360
01:13:47,480 --> 01:13:51,670
there's only one predictively named mini
coop let's type kubectl label space
3361
01:13:51,670 --> 01:13:51,680
coop let's type kubectl label space
3362
01:13:51,680 --> 01:13:54,430
coop let's type kubectl label space
node space minikube to specify we'd
3363
01:13:54,430 --> 01:13:54,440
node space minikube to specify we'd
3364
01:13:54,440 --> 01:13:56,590
node space minikube to specify we'd
like to label the minikube node then
3365
01:13:56,590 --> 01:13:56,600
like to label the minikube node then
3366
01:13:56,600 --> 01:13:57,640
like to label the minikube node then
let's tell it
3367
01:13:57,640 --> 01:13:57,650
let's tell it
3368
01:13:57,650 --> 01:13:59,590
let's tell it
we'd like to label the storage type
3369
01:13:59,590 --> 01:13:59,600
we'd like to label the storage type
3370
01:13:59,600 --> 01:14:09,100
we'd like to label the storage type
equals SSD on that node
3371
01:14:09,110 --> 01:14:11,209
you
3372
01:14:11,219 --> 01:14:15,130
once this is set we can use the kubectl
3373
01:14:15,130 --> 01:14:15,140
once this is set we can use the kubectl
3374
01:14:15,140 --> 01:14:18,470
once this is set we can use the kubectl
described node command to look and make
3375
01:14:18,470 --> 01:14:18,480
described node command to look and make
3376
01:14:18,480 --> 01:14:25,979
described node command to look and make
sure that our label was set
3377
01:14:25,989 --> 01:14:29,140
if we scroll up we can see that the
3378
01:14:29,140 --> 01:14:29,150
if we scroll up we can see that the
3379
01:14:29,150 --> 01:14:39,799
if we scroll up we can see that the
label was successfully applied
3380
01:14:39,809 --> 01:14:41,689
now that our label has been applied to
3381
01:14:41,689 --> 01:14:41,699
now that our label has been applied to
3382
01:14:41,699 --> 01:14:44,209
now that our label has been applied to
our node we'll need to apply the node
3383
01:14:44,209 --> 01:14:44,219
our node we'll need to apply the node
3384
01:14:44,219 --> 01:14:47,390
our node we'll need to apply the node
selector to our deployment let's go look
3385
01:14:47,390 --> 01:14:47,400
selector to our deployment let's go look
3386
01:14:47,400 --> 01:14:49,910
selector to our deployment let's go look
at the deployment yamo file remember
3387
01:14:49,910 --> 01:14:49,920
at the deployment yamo file remember
3388
01:14:49,920 --> 01:14:53,000
at the deployment yamo file remember
this is available in github under the
3389
01:14:53,000 --> 01:14:53,010
this is available in github under the
3390
01:14:53,010 --> 01:14:56,899
this is available in github under the
labels and selectors directory the
3391
01:14:56,899 --> 01:14:56,909
labels and selectors directory the
3392
01:14:56,909 --> 01:15:00,470
labels and selectors directory the
deployment llamó file looks pretty much
3393
01:15:00,470 --> 01:15:00,480
deployment llamó file looks pretty much
3394
01:15:00,480 --> 01:15:02,589
deployment llamó file looks pretty much
like we have throughout this course
3395
01:15:02,589 --> 01:15:02,599
like we have throughout this course
3396
01:15:02,599 --> 01:15:06,830
like we have throughout this course
except we've added node selector with
3397
01:15:06,830 --> 01:15:06,840
except we've added node selector with
3398
01:15:06,840 --> 01:15:10,010
except we've added node selector with
storage type equaling SSD this tells
3399
01:15:10,010 --> 01:15:10,020
storage type equaling SSD this tells
3400
01:15:10,020 --> 01:15:12,080
storage type equaling SSD this tells
Kubernetes that when it's selecting
3401
01:15:12,080 --> 01:15:12,090
Kubernetes that when it's selecting
3402
01:15:12,090 --> 01:15:15,950
Kubernetes that when it's selecting
nodes to deploy tomcat on - it should
3403
01:15:15,950 --> 01:15:15,960
nodes to deploy tomcat on - it should
3404
01:15:15,960 --> 01:15:19,370
nodes to deploy tomcat on - it should
look for a label named storage type with
3405
01:15:19,370 --> 01:15:19,380
look for a label named storage type with
3406
01:15:19,380 --> 01:15:25,580
look for a label named storage type with
the value SSD this we've made a change
3407
01:15:25,580 --> 01:15:25,590
the value SSD this we've made a change
3408
01:15:25,590 --> 01:15:28,850
the value SSD this we've made a change
to our deployment llamó file we'll need
3409
01:15:28,850 --> 01:15:28,860
to our deployment llamó file we'll need
3410
01:15:28,860 --> 01:15:31,490
to our deployment llamó file we'll need
to use the kubectl apply command to
3411
01:15:31,490 --> 01:15:31,500
to use the kubectl apply command to
3412
01:15:31,500 --> 01:15:35,419
to use the kubectl apply command to
apply that change let's make sure that
3413
01:15:35,419 --> 01:15:35,429
apply that change let's make sure that
3414
01:15:35,429 --> 01:15:38,089
apply that change let's make sure that
we're in the proper directory and look
3415
01:15:38,089 --> 01:15:38,099
we're in the proper directory and look
3416
01:15:38,099 --> 01:15:39,919
we're in the proper directory and look
at the deployment yamo file to make sure
3417
01:15:39,919 --> 01:15:39,929
at the deployment yamo file to make sure
3418
01:15:39,929 --> 01:15:43,430
at the deployment yamo file to make sure
it's the right file looks good to us now
3419
01:15:43,430 --> 01:15:43,440
it's the right file looks good to us now
3420
01:15:43,440 --> 01:15:45,649
it's the right file looks good to us now
let's use the kubectl apply command
3421
01:15:45,649 --> 01:15:45,659
let's use the kubectl apply command
3422
01:15:45,659 --> 01:15:48,890
let's use the kubectl apply command
with the dash F flag and pointing to the
3423
01:15:48,890 --> 01:15:48,900
with the dash F flag and pointing to the
3424
01:15:48,900 --> 01:15:52,819
with the dash F flag and pointing to the
deployment Gamal this will apply the new
3425
01:15:52,819 --> 01:15:52,829
deployment Gamal this will apply the new
3426
01:15:52,829 --> 01:15:56,000
deployment Gamal this will apply the new
updated deployment llamó file onto our
3427
01:15:56,000 --> 01:15:56,010
updated deployment llamó file onto our
3428
01:15:56,010 --> 01:15:58,850
updated deployment llamó file onto our
Kubernetes cluster as you can see the
3429
01:15:58,850 --> 01:15:58,860
Kubernetes cluster as you can see the
3430
01:15:58,860 --> 01:16:00,669
Kubernetes cluster as you can see the
deployment was successfully configured
3431
01:16:00,669 --> 01:16:00,679
deployment was successfully configured
3432
01:16:00,679 --> 01:16:03,890
deployment was successfully configured
using the kubectl apply command allows
3433
01:16:03,890 --> 01:16:03,900
using the kubectl apply command allows
3434
01:16:03,900 --> 01:16:05,660
using the kubectl apply command allows
you to apply changes to the deployment
3435
01:16:05,660 --> 01:16:05,670
you to apply changes to the deployment
3436
01:16:05,670 --> 01:16:08,390
you to apply changes to the deployment
that may not be possible using a variety
3437
01:16:08,390 --> 01:16:08,400
that may not be possible using a variety
3438
01:16:08,400 --> 01:16:11,600
that may not be possible using a variety
of kubectl commands for example node
3439
01:16:11,600 --> 01:16:11,610
of kubectl commands for example node
3440
01:16:11,610 --> 01:16:14,000
of kubectl commands for example node
selector must be done in the deployment
3441
01:16:14,000 --> 01:16:14,010
selector must be done in the deployment
3442
01:16:14,010 --> 01:16:17,209
selector must be done in the deployment
file Kubernetes is smart enough to
3443
01:16:17,209 --> 01:16:17,219
file Kubernetes is smart enough to
3444
01:16:17,219 --> 01:16:19,490
file Kubernetes is smart enough to
understand what changes need to be
3445
01:16:19,490 --> 01:16:19,500
understand what changes need to be
3446
01:16:19,500 --> 01:16:22,069
understand what changes need to be
applied and what is different from the
3447
01:16:22,069 --> 01:16:22,079
applied and what is different from the
3448
01:16:22,079 --> 01:16:24,379
applied and what is different from the
new application of the deployment from
3449
01:16:24,379 --> 01:16:24,389
new application of the deployment from
3450
01:16:24,389 --> 01:16:27,770
new application of the deployment from
the existing one with this change
3451
01:16:27,770 --> 01:16:27,780
the existing one with this change
3452
01:16:27,780 --> 01:16:29,870
the existing one with this change
applied Kubernetes will only deploy
3453
01:16:29,870 --> 01:16:29,880
applied Kubernetes will only deploy
3454
01:16:29,880 --> 01:16:32,569
applied Kubernetes will only deploy
tomcat to nodes that have been labeled
3455
01:16:32,569 --> 01:16:32,579
tomcat to nodes that have been labeled
3456
01:16:32,579 --> 01:16:40,230
tomcat to nodes that have been labeled
with a storage type equaling SSD
3457
01:16:40,240 --> 01:16:42,830
[Music]
3458
01:16:42,830 --> 01:16:42,840
[Music]
3459
01:16:42,840 --> 01:16:45,419
[Music]
so far we've assumed everything that is
3460
01:16:45,419 --> 01:16:45,429
so far we've assumed everything that is
3461
01:16:45,429 --> 01:16:47,100
so far we've assumed everything that is
going well in our software world we've
3462
01:16:47,100 --> 01:16:47,110
going well in our software world we've
3463
01:16:47,110 --> 01:16:49,260
going well in our software world we've
built a Tomcat service scaled it and
3464
01:16:49,260 --> 01:16:49,270
built a Tomcat service scaled it and
3465
01:16:49,270 --> 01:16:51,930
built a Tomcat service scaled it and
even put it behind a load balancer but
3466
01:16:51,930 --> 01:16:51,940
even put it behind a load balancer but
3467
01:16:51,940 --> 01:16:53,729
even put it behind a load balancer but
what happens when one of these replicas
3468
01:16:53,729 --> 01:16:53,739
what happens when one of these replicas
3469
01:16:53,739 --> 01:16:55,770
what happens when one of these replicas
has a problem a bug in an application
3470
01:16:55,770 --> 01:16:55,780
has a problem a bug in an application
3471
01:16:55,780 --> 01:16:58,140
has a problem a bug in an application
takes it down or an issue with the
3472
01:16:58,140 --> 01:16:58,150
takes it down or an issue with the
3473
01:16:58,150 --> 01:17:00,620
takes it down or an issue with the
runtime hangs it how do we detect that
3474
01:17:00,620 --> 01:17:00,630
runtime hangs it how do we detect that
3475
01:17:00,630 --> 01:17:03,330
runtime hangs it how do we detect that
Kubernetes defines a variety of ways of
3476
01:17:03,330 --> 01:17:03,340
Kubernetes defines a variety of ways of
3477
01:17:03,340 --> 01:17:05,700
Kubernetes defines a variety of ways of
doing this they're called health checks
3478
01:17:05,700 --> 01:17:05,710
doing this they're called health checks
3479
01:17:05,710 --> 01:17:08,939
doing this they're called health checks
or probes they are what they sound like
3480
01:17:08,939 --> 01:17:08,949
or probes they are what they sound like
3481
01:17:08,949 --> 01:17:11,160
or probes they are what they sound like
a way of telling Kubernetes how to check
3482
01:17:11,160 --> 01:17:11,170
a way of telling Kubernetes how to check
3483
01:17:11,170 --> 01:17:15,600
a way of telling Kubernetes how to check
the health of a given pod Kubernetes has
3484
01:17:15,600 --> 01:17:15,610
the health of a given pod Kubernetes has
3485
01:17:15,610 --> 01:17:17,610
the health of a given pod Kubernetes has
two types of health checks to ascertain
3486
01:17:17,610 --> 01:17:17,620
two types of health checks to ascertain
3487
01:17:17,620 --> 01:17:20,610
two types of health checks to ascertain
two different things first Kubernetes
3488
01:17:20,610 --> 01:17:20,620
two different things first Kubernetes
3489
01:17:20,620 --> 01:17:23,130
two different things first Kubernetes
uses readiness probes readiness probes
3490
01:17:23,130 --> 01:17:23,140
uses readiness probes readiness probes
3491
01:17:23,140 --> 01:17:26,280
uses readiness probes readiness probes
are well what they sound like Kubernetes
3492
01:17:26,280 --> 01:17:26,290
are well what they sound like Kubernetes
3493
01:17:26,290 --> 01:17:28,110
are well what they sound like Kubernetes
uses them to determine when a pod is
3494
01:17:28,110 --> 01:17:28,120
uses them to determine when a pod is
3495
01:17:28,120 --> 01:17:30,510
uses them to determine when a pod is
ready after it has started the container
3496
01:17:30,510 --> 01:17:30,520
ready after it has started the container
3497
01:17:30,520 --> 01:17:32,910
ready after it has started the container
it can use a readiness check to see and
3498
01:17:32,910 --> 01:17:32,920
it can use a readiness check to see and
3499
01:17:32,920 --> 01:17:36,750
it can use a readiness check to see and
ensure that that container is ready for
3500
01:17:36,750 --> 01:17:36,760
ensure that that container is ready for
3501
01:17:36,760 --> 01:17:37,370
ensure that that container is ready for
work
3502
01:17:37,370 --> 01:17:37,380
work
3503
01:17:37,380 --> 01:17:40,110
work
liveness probes determine when a pod is
3504
01:17:40,110 --> 01:17:40,120
liveness probes determine when a pod is
3505
01:17:40,120 --> 01:17:42,990
liveness probes determine when a pod is
healthy or unhealthy after it has become
3506
01:17:42,990 --> 01:17:43,000
healthy or unhealthy after it has become
3507
01:17:43,000 --> 01:17:50,430
healthy or unhealthy after it has become
ready
3508
01:17:50,440 --> 01:17:52,290
whether it's a readiness probe or
3509
01:17:52,290 --> 01:17:52,300
whether it's a readiness probe or
3510
01:17:52,300 --> 01:17:54,810
whether it's a readiness probe or
aliveness probe you can use a variety of
3511
01:17:54,810 --> 01:17:54,820
aliveness probe you can use a variety of
3512
01:17:54,820 --> 01:17:57,620
aliveness probe you can use a variety of
methods to ascertain a container status
3513
01:17:57,620 --> 01:17:57,630
methods to ascertain a container status
3514
01:17:57,630 --> 01:18:00,540
methods to ascertain a container status
you can create a probe whether it's
3515
01:18:00,540 --> 01:18:00,550
you can create a probe whether it's
3516
01:18:00,550 --> 01:18:03,030
you can create a probe whether it's
reliable assure readiness that uses HTTP
3517
01:18:03,030 --> 01:18:03,040
reliable assure readiness that uses HTTP
3518
01:18:03,040 --> 01:18:06,480
reliable assure readiness that uses HTTP
or TCP to send a request to the pod if
3519
01:18:06,480 --> 01:18:06,490
or TCP to send a request to the pod if
3520
01:18:06,490 --> 01:18:08,760
or TCP to send a request to the pod if
it succeeds its deemed healthy if it
3521
01:18:08,760 --> 01:18:08,770
it succeeds its deemed healthy if it
3522
01:18:08,770 --> 01:18:11,760
it succeeds its deemed healthy if it
fails in the connection or an HTTP error
3523
01:18:11,760 --> 01:18:11,770
fails in the connection or an HTTP error
3524
01:18:11,770 --> 01:18:14,780
fails in the connection or an HTTP error
code is sent its deem as a failure or
3525
01:18:14,780 --> 01:18:14,790
code is sent its deem as a failure or
3526
01:18:14,790 --> 01:18:18,570
code is sent its deem as a failure or
you can specify a command to run on the
3527
01:18:18,570 --> 01:18:18,580
you can specify a command to run on the
3528
01:18:18,580 --> 01:18:21,210
you can specify a command to run on the
pod inside the container if that command
3529
01:18:21,210 --> 01:18:21,220
pod inside the container if that command
3530
01:18:21,220 --> 01:18:23,910
pod inside the container if that command
exits normally with a zero exit code
3531
01:18:23,910 --> 01:18:23,920
exits normally with a zero exit code
3532
01:18:23,920 --> 01:18:26,430
exits normally with a zero exit code
it's deemed a success anything else
3533
01:18:26,430 --> 01:18:26,440
it's deemed a success anything else
3534
01:18:26,440 --> 01:18:29,040
it's deemed a success anything else
is deemed a failure these probes
3535
01:18:29,040 --> 01:18:29,050
is deemed a failure these probes
3536
01:18:29,050 --> 01:18:31,200
is deemed a failure these probes
whatever they are whether they're HTTP
3537
01:18:31,200 --> 01:18:31,210
whatever they are whether they're HTTP
3538
01:18:31,210 --> 01:18:34,350
whatever they are whether they're HTTP
TCP or execution of a command are
3539
01:18:34,350 --> 01:18:34,360
TCP or execution of a command are
3540
01:18:34,360 --> 01:18:36,630
TCP or execution of a command are
defined on the container in a deployment
3541
01:18:36,630 --> 01:18:36,640
defined on the container in a deployment
3542
01:18:36,640 --> 01:18:43,860
defined on the container in a deployment
or a pod specification let's go back to
3543
01:18:43,860 --> 01:18:43,870
or a pod specification let's go back to
3544
01:18:43,870 --> 01:18:46,440
or a pod specification let's go back to
our tomcat deployment to define a
3545
01:18:46,440 --> 01:18:46,450
our tomcat deployment to define a
3546
01:18:46,450 --> 01:18:49,770
our tomcat deployment to define a
readiness probe and aliveness probe the
3547
01:18:49,770 --> 01:18:49,780
readiness probe and aliveness probe the
3548
01:18:49,780 --> 01:18:51,420
readiness probe and aliveness probe the
first thing we'll do in our example is
3549
01:18:51,420 --> 01:18:51,430
first thing we'll do in our example is
3550
01:18:51,430 --> 01:18:53,190
first thing we'll do in our example is
that we will use a readiness probe to
3551
01:18:53,190 --> 01:18:53,200
that we will use a readiness probe to
3552
01:18:53,200 --> 01:18:55,140
that we will use a readiness probe to
check whether the pod has started and is
3553
01:18:55,140 --> 01:18:55,150
check whether the pod has started and is
3554
01:18:55,150 --> 01:18:57,240
check whether the pod has started and is
ready to begin taking requests most
3555
01:18:57,240 --> 01:18:57,250
ready to begin taking requests most
3556
01:18:57,250 --> 01:18:58,950
ready to begin taking requests most
basically we're just checking to see if
3557
01:18:58,950 --> 01:18:58,960
basically we're just checking to see if
3558
01:18:58,960 --> 01:19:00,930
basically we're just checking to see if
tomcat has started up since this might
3559
01:19:00,930 --> 01:19:00,940
tomcat has started up since this might
3560
01:19:00,940 --> 01:19:03,900
tomcat has started up since this might
take a while on some machines finally
3561
01:19:03,900 --> 01:19:03,910
take a while on some machines finally
3562
01:19:03,910 --> 01:19:06,480
take a while on some machines finally
once the readiness probe has indicated
3563
01:19:06,480 --> 01:19:06,490
once the readiness probe has indicated
3564
01:19:06,490 --> 01:19:09,030
once the readiness probe has indicated
that the container is now ready to do
3565
01:19:09,030 --> 01:19:09,040
that the container is now ready to do
3566
01:19:09,040 --> 01:19:11,610
that the container is now ready to do
work and accept work the liveness probe
3567
01:19:11,610 --> 01:19:11,620
work and accept work the liveness probe
3568
01:19:11,620 --> 01:19:14,160
work and accept work the liveness probe
will begin on the Tomcat deployment that
3569
01:19:14,160 --> 01:19:14,170
will begin on the Tomcat deployment that
3570
01:19:14,170 --> 01:19:16,680
will begin on the Tomcat deployment that
will begin to check at a given interval
3571
01:19:16,680 --> 01:19:16,690
will begin to check at a given interval
3572
01:19:16,690 --> 01:19:20,640
will begin to check at a given interval
if Tomcat is accepting requests or if
3573
01:19:20,640 --> 01:19:20,650
if Tomcat is accepting requests or if
3574
01:19:20,650 --> 01:19:25,550
if Tomcat is accepting requests or if
it's hung from the github repository
3575
01:19:25,550 --> 01:19:25,560
it's hung from the github repository
3576
01:19:25,560 --> 01:19:27,690
it's hung from the github repository
let's look at the basic and core
3577
01:19:27,690 --> 01:19:27,700
let's look at the basic and core
3578
01:19:27,700 --> 01:19:29,910
let's look at the basic and core
concepts forward slash health checks
3579
01:19:29,910 --> 01:19:29,920
concepts forward slash health checks
3580
01:19:29,920 --> 01:19:32,250
concepts forward slash health checks
directory the deployment llamo file
3581
01:19:32,250 --> 01:19:32,260
directory the deployment llamo file
3582
01:19:32,260 --> 01:19:34,080
directory the deployment llamo file
located inside it is what we're looking
3583
01:19:34,080 --> 01:19:34,090
located inside it is what we're looking
3584
01:19:34,090 --> 01:19:36,410
located inside it is what we're looking
at now you can find this file again
3585
01:19:36,410 --> 01:19:36,420
at now you can find this file again
3586
01:19:36,420 --> 01:19:39,690
at now you can find this file again
under basic and core concepts forwards
3587
01:19:39,690 --> 01:19:39,700
under basic and core concepts forwards
3588
01:19:39,700 --> 01:19:41,370
under basic and core concepts forwards
us health checks in the github
3589
01:19:41,370 --> 01:19:41,380
us health checks in the github
3590
01:19:41,380 --> 01:19:43,830
us health checks in the github
repository take a moment to open it if
3591
01:19:43,830 --> 01:19:43,840
repository take a moment to open it if
3592
01:19:43,840 --> 01:19:49,590
repository take a moment to open it if
you need
3593
01:19:49,600 --> 01:19:51,810
you'll notice it looks pretty familiar
3594
01:19:51,810 --> 01:19:51,820
you'll notice it looks pretty familiar
3595
01:19:51,820 --> 01:19:55,150
you'll notice it looks pretty familiar
the file up until about a little bit
3596
01:19:55,150 --> 01:19:55,160
the file up until about a little bit
3597
01:19:55,160 --> 01:19:57,520
the file up until about a little bit
more than halfway down looks exactly the
3598
01:19:57,520 --> 01:19:57,530
more than halfway down looks exactly the
3599
01:19:57,530 --> 01:20:00,250
more than halfway down looks exactly the
same we've added two stanzas the
3600
01:20:00,250 --> 01:20:00,260
same we've added two stanzas the
3601
01:20:00,260 --> 01:20:03,060
same we've added two stanzas the
liveness Pro and the readiness probe
3602
01:20:03,060 --> 01:20:03,070
liveness Pro and the readiness probe
3603
01:20:03,070 --> 01:20:05,350
liveness Pro and the readiness probe
you'll notice that these two stanzas
3604
01:20:05,350 --> 01:20:05,360
you'll notice that these two stanzas
3605
01:20:05,360 --> 01:20:07,360
you'll notice that these two stanzas
have a lot uncommon in themselves in
3606
01:20:07,360 --> 01:20:07,370
have a lot uncommon in themselves in
3607
01:20:07,370 --> 01:20:10,030
have a lot uncommon in themselves in
fact the way you define aliveness probe
3608
01:20:10,030 --> 01:20:10,040
fact the way you define aliveness probe
3609
01:20:10,040 --> 01:20:12,790
fact the way you define aliveness probe
and readiness probe the actual format is
3610
01:20:12,790 --> 01:20:12,800
and readiness probe the actual format is
3611
01:20:12,800 --> 01:20:15,550
and readiness probe the actual format is
exactly the same you'll notice a few
3612
01:20:15,550 --> 01:20:15,560
exactly the same you'll notice a few
3613
01:20:15,560 --> 01:20:16,990
exactly the same you'll notice a few
difference in a few of the properties
3614
01:20:16,990 --> 01:20:17,000
difference in a few of the properties
3615
01:20:17,000 --> 01:20:19,210
difference in a few of the properties
within each one that's because we need
3616
01:20:19,210 --> 01:20:19,220
within each one that's because we need
3617
01:20:19,220 --> 01:20:20,260
within each one that's because we need
them to do different things
3618
01:20:20,260 --> 01:20:20,270
them to do different things
3619
01:20:20,270 --> 01:20:22,420
them to do different things
remember the readiness probe at the
3620
01:20:22,420 --> 01:20:22,430
remember the readiness probe at the
3621
01:20:22,430 --> 01:20:24,640
remember the readiness probe at the
bottom of the file is our way of telling
3622
01:20:24,640 --> 01:20:24,650
bottom of the file is our way of telling
3623
01:20:24,650 --> 01:20:27,130
bottom of the file is our way of telling
Kubernetes how to test to make sure that
3624
01:20:27,130 --> 01:20:27,140
Kubernetes how to test to make sure that
3625
01:20:27,140 --> 01:20:30,130
Kubernetes how to test to make sure that
when it starts the pod that it is ready
3626
01:20:30,130 --> 01:20:30,140
when it starts the pod that it is ready
3627
01:20:30,140 --> 01:20:33,790
when it starts the pod that it is ready
for work in this case we'll tell it to
3628
01:20:33,790 --> 01:20:33,800
for work in this case we'll tell it to
3629
01:20:33,800 --> 01:20:39,360
for work in this case we'll tell it to
access port 8080 every three seconds
3630
01:20:39,360 --> 01:20:39,370
access port 8080 every three seconds
3631
01:20:39,370 --> 01:20:43,080
access port 8080 every three seconds
after initial delay of fifteen seconds
3632
01:20:43,080 --> 01:20:43,090
after initial delay of fifteen seconds
3633
01:20:43,090 --> 01:20:48,850
after initial delay of fifteen seconds
on simply the slash directory once this
3634
01:20:48,850 --> 01:20:48,860
on simply the slash directory once this
3635
01:20:48,860 --> 01:20:51,010
on simply the slash directory once this
succeeds Kubernetes will know that the
3636
01:20:51,010 --> 01:20:51,020
succeeds Kubernetes will know that the
3637
01:20:51,020 --> 01:20:54,030
succeeds Kubernetes will know that the
pod is ready for business after that
3638
01:20:54,030 --> 01:20:54,040
pod is ready for business after that
3639
01:20:54,040 --> 01:20:57,790
pod is ready for business after that
it'll go to the liveness probe every
3640
01:20:57,790 --> 01:20:57,800
it'll go to the liveness probe every
3641
01:20:57,800 --> 01:21:00,340
it'll go to the liveness probe every
thirty seconds after initial delay of
3642
01:21:00,340 --> 01:21:00,350
thirty seconds after initial delay of
3643
01:21:00,350 --> 01:21:04,600
thirty seconds after initial delay of
thirty seconds it will use HTTP to
3644
01:21:04,600 --> 01:21:04,610
thirty seconds it will use HTTP to
3645
01:21:04,610 --> 01:21:09,030
thirty seconds it will use HTTP to
access port 8080 on this last path if
3646
01:21:09,030 --> 01:21:09,040
access port 8080 on this last path if
3647
01:21:09,040 --> 01:21:12,460
access port 8080 on this last path if
the HTTP request fails it will deem the
3648
01:21:12,460 --> 01:21:12,470
the HTTP request fails it will deem the
3649
01:21:12,470 --> 01:21:15,070
the HTTP request fails it will deem the
pod to be unhealthy we'll go over what
3650
01:21:15,070 --> 01:21:15,080
pod to be unhealthy we'll go over what
3651
01:21:15,080 --> 01:21:16,210
pod to be unhealthy we'll go over what
happens later
3652
01:21:16,210 --> 01:21:16,220
happens later
3653
01:21:16,220 --> 01:21:20,200
happens later
if the HTTP request succeeds it's deemed
3654
01:21:20,200 --> 01:21:20,210
if the HTTP request succeeds it's deemed
3655
01:21:20,210 --> 01:21:24,250
if the HTTP request succeeds it's deemed
to be healthy let's begin by checking to
3656
01:21:24,250 --> 01:21:24,260
to be healthy let's begin by checking to
3657
01:21:24,260 --> 01:21:25,420
to be healthy let's begin by checking to
make sure we have the right deployments
3658
01:21:25,420 --> 01:21:25,430
make sure we have the right deployments
3659
01:21:25,430 --> 01:21:27,220
make sure we have the right deployments
file from the health checks directory
3660
01:21:27,220 --> 01:21:27,230
file from the health checks directory
3661
01:21:27,230 --> 01:21:29,140
file from the health checks directory
let's look at the deployment llamo file
3662
01:21:29,140 --> 01:21:29,150
let's look at the deployment llamo file
3663
01:21:29,150 --> 01:21:31,150
let's look at the deployment llamo file
aliveness probing and readiness probe
3664
01:21:31,150 --> 01:21:31,160
aliveness probing and readiness probe
3665
01:21:31,160 --> 01:21:34,810
aliveness probing and readiness probe
looks good let's use the kubectl apply
3666
01:21:34,810 --> 01:21:34,820
looks good let's use the kubectl apply
3667
01:21:34,820 --> 01:21:37,000
looks good let's use the kubectl apply
dash F command and pointing to our
3668
01:21:37,000 --> 01:21:37,010
dash F command and pointing to our
3669
01:21:37,010 --> 01:21:39,040
dash F command and pointing to our
deployment Yaya mol file to apply the
3670
01:21:39,040 --> 01:21:39,050
deployment Yaya mol file to apply the
3671
01:21:39,050 --> 01:21:42,370
deployment Yaya mol file to apply the
contents of it to our cluster once it's
3672
01:21:42,370 --> 01:21:42,380
contents of it to our cluster once it's
3673
01:21:42,380 --> 01:21:44,830
contents of it to our cluster once it's
applied let's use the kubectl described
3674
01:21:44,830 --> 01:21:44,840
applied let's use the kubectl described
3675
01:21:44,840 --> 01:21:48,580
applied let's use the kubectl described
command by specifying deployment Tomcat
3676
01:21:48,580 --> 01:21:48,590
command by specifying deployment Tomcat
3677
01:21:48,590 --> 01:21:51,660
command by specifying deployment Tomcat
- deployment - look at the details
3678
01:21:51,660 --> 01:21:51,670
- deployment - look at the details
3679
01:21:51,670 --> 01:21:53,620
- deployment - look at the details
you'll see this output looks pretty
3680
01:21:53,620 --> 01:21:53,630
you'll see this output looks pretty
3681
01:21:53,630 --> 01:21:56,590
you'll see this output looks pretty
similar except except now we see
3682
01:21:56,590 --> 01:21:56,600
similar except except now we see
3683
01:21:56,600 --> 01:21:59,230
similar except except now we see
aliveness and readiness line these are
3684
01:21:59,230 --> 01:21:59,240
aliveness and readiness line these are
3685
01:21:59,240 --> 01:22:00,790
aliveness and readiness line these are
are indications that aliveness in a
3686
01:22:00,790 --> 01:22:00,800
are indications that aliveness in a
3687
01:22:00,800 --> 01:22:02,350
are indications that aliveness in a
readiness check has been deployed
3688
01:22:02,350 --> 01:22:02,360
readiness check has been deployed
3689
01:22:02,360 --> 01:22:10,700
readiness check has been deployed
as we thought
3690
01:22:10,710 --> 01:22:13,250
[Music]
3691
01:22:13,250 --> 01:22:13,260
[Music]
3692
01:22:13,260 --> 01:22:16,350
[Music]
up to this point our primary point of
3693
01:22:16,350 --> 01:22:16,360
up to this point our primary point of
3694
01:22:16,360 --> 01:22:17,850
up to this point our primary point of
contact with Kubernetes has been the
3695
01:22:17,850 --> 01:22:17,860
contact with Kubernetes has been the
3696
01:22:17,860 --> 01:22:21,810
contact with Kubernetes has been the
kubectl command line interface
3697
01:22:21,810 --> 01:22:21,820
kubectl command line interface
3698
01:22:21,820 --> 01:22:24,209
kubectl command line interface
kubectl continues to be the dominant tool
3699
01:22:24,209 --> 01:22:24,219
kubectl continues to be the dominant tool
3700
01:22:24,219 --> 01:22:26,400
kubectl continues to be the dominant tool
and will be for the remainder of the
3701
01:22:26,400 --> 01:22:26,410
and will be for the remainder of the
3702
01:22:26,410 --> 01:22:29,250
and will be for the remainder of the
lectures however in some situations a
3703
01:22:29,250 --> 01:22:29,260
lectures however in some situations a
3704
01:22:29,260 --> 01:22:31,340
lectures however in some situations a
web interface is equally useful
3705
01:22:31,340 --> 01:22:31,350
web interface is equally useful
3706
01:22:31,350 --> 01:22:34,140
web interface is equally useful
Kubernetes provides a web user interface
3707
01:22:34,140 --> 01:22:34,150
Kubernetes provides a web user interface
3708
01:22:34,150 --> 01:22:37,020
Kubernetes provides a web user interface
called the dashboard that we can use to
3709
01:22:37,020 --> 01:22:37,030
called the dashboard that we can use to
3710
01:22:37,030 --> 01:22:38,820
called the dashboard that we can use to
access the same information that kubectl
3711
01:22:38,820 --> 01:22:38,830
access the same information that kubectl
3712
01:22:38,830 --> 01:22:40,680
access the same information that kubectl
can present in a friendly
3713
01:22:40,680 --> 01:22:40,690
can present in a friendly
3714
01:22:40,690 --> 01:22:46,380
can present in a friendly
point-and-click web interface it's
3715
01:22:46,380 --> 01:22:46,390
point-and-click web interface it's
3716
01:22:46,390 --> 01:22:48,660
point-and-click web interface it's
called the dashboard UI it runs on your
3717
01:22:48,660 --> 01:22:48,670
called the dashboard UI it runs on your
3718
01:22:48,670 --> 01:22:51,030
called the dashboard UI it runs on your
Kubernetes masters and as accessible
3719
01:22:51,030 --> 01:22:51,040
Kubernetes masters and as accessible
3720
01:22:51,040 --> 01:22:52,560
Kubernetes masters and as accessible
directly if you have a direct connection
3721
01:22:52,560 --> 01:22:52,570
directly if you have a direct connection
3722
01:22:52,570 --> 01:22:55,620
directly if you have a direct connection
to your cluster or to your masters this
3723
01:22:55,620 --> 01:22:55,630
to your cluster or to your masters this
3724
01:22:55,630 --> 01:22:57,270
to your cluster or to your masters this
is unlikely in production situations
3725
01:22:57,270 --> 01:22:57,280
is unlikely in production situations
3726
01:22:57,280 --> 01:23:01,440
is unlikely in production situations
however kubectl is your friend kubectl
3727
01:23:01,440 --> 01:23:01,450
however kubectl is your friend kubectl
3728
01:23:01,450 --> 01:23:03,720
however kubectl is your friend kubectl
can create a proxy or a tunnel for
3729
01:23:03,720 --> 01:23:03,730
can create a proxy or a tunnel for
3730
01:23:03,730 --> 01:23:06,000
can create a proxy or a tunnel for
you from your local workstation to a
3731
01:23:06,000 --> 01:23:06,010
you from your local workstation to a
3732
01:23:06,010 --> 01:23:07,620
you from your local workstation to a
Kubernetes cluster that you may not have
3733
01:23:07,620 --> 01:23:07,630
Kubernetes cluster that you may not have
3734
01:23:07,630 --> 01:23:10,110
Kubernetes cluster that you may not have
direct network access to using the kubectl
3735
01:23:10,110 --> 01:23:10,120
direct network access to using the kubectl
3736
01:23:10,120 --> 01:23:16,290
direct network access to using the kubectl
proxy command the Kubernetes web UI
3737
01:23:16,290 --> 01:23:16,300
proxy command the Kubernetes web UI
3738
01:23:16,300 --> 01:23:18,810
proxy command the Kubernetes web UI
or the dashboard provides a variety of
3739
01:23:18,810 --> 01:23:18,820
or the dashboard provides a variety of
3740
01:23:18,820 --> 01:23:20,700
or the dashboard provides a variety of
views for nearly anything in your Kluber
3741
01:23:20,700 --> 01:23:20,710
views for nearly anything in your Kluber
3742
01:23:20,710 --> 01:23:22,770
views for nearly anything in your Kluber
Nettie's cluster it allows you to update
3743
01:23:22,770 --> 01:23:22,780
Nettie's cluster it allows you to update
3744
01:23:22,780 --> 01:23:24,840
Nettie's cluster it allows you to update
delete and create nearly anything you
3745
01:23:24,840 --> 01:23:24,850
delete and create nearly anything you
3746
01:23:24,850 --> 01:23:26,250
delete and create nearly anything you
may need to in your Kubernetes cluster
3747
01:23:26,250 --> 01:23:26,260
may need to in your Kubernetes cluster
3748
01:23:26,260 --> 01:23:29,520
may need to in your Kubernetes cluster
as well it accesses the same api's as
3749
01:23:29,520 --> 01:23:29,530
as well it accesses the same api's as
3750
01:23:29,530 --> 01:23:31,830
as well it accesses the same api's as
kubectl it simply provides the
3751
01:23:31,830 --> 01:23:31,840
kubectl it simply provides the
3752
01:23:31,840 --> 01:23:33,959
kubectl it simply provides the
interface in the data in a different
3753
01:23:33,959 --> 01:23:33,969
interface in the data in a different
3754
01:23:33,969 --> 01:23:40,650
interface in the data in a different
form using the web interface is quite
3755
01:23:40,650 --> 01:23:40,660
form using the web interface is quite
3756
01:23:40,660 --> 01:23:43,260
form using the web interface is quite
simple on some Kubernetes clusters the
3757
01:23:43,260 --> 01:23:43,270
simple on some Kubernetes clusters the
3758
01:23:43,270 --> 01:23:46,110
simple on some Kubernetes clusters the
dashboard UI is pre-installed most cloud
3759
01:23:46,110 --> 01:23:46,120
dashboard UI is pre-installed most cloud
3760
01:23:46,120 --> 01:23:48,330
dashboard UI is pre-installed most cloud
providers automatically install it when
3761
01:23:48,330 --> 01:23:48,340
providers automatically install it when
3762
01:23:48,340 --> 01:23:49,800
providers automatically install it when
you provision a Kubernetes cluster on
3763
01:23:49,800 --> 01:23:49,810
you provision a Kubernetes cluster on
3764
01:23:49,810 --> 01:23:52,890
you provision a Kubernetes cluster on
their manage services however if you're
3765
01:23:52,890 --> 01:23:52,900
their manage services however if you're
3766
01:23:52,900 --> 01:23:54,870
their manage services however if you're
bringing one up from scratch or are
3767
01:23:54,870 --> 01:23:54,880
bringing one up from scratch or are
3768
01:23:54,880 --> 01:23:56,580
bringing one up from scratch or are
working with a provider that doesn't
3769
01:23:56,580 --> 01:23:56,590
working with a provider that doesn't
3770
01:23:56,590 --> 01:23:59,130
working with a provider that doesn't
enable this by default you can use the
3771
01:23:59,130 --> 01:23:59,140
enable this by default you can use the
3772
01:23:59,140 --> 01:24:01,860
enable this by default you can use the
kubectl create command by installing
3773
01:24:01,860 --> 01:24:01,870
kubectl create command by installing
3774
01:24:01,870 --> 01:24:06,170
kubectl create command by installing
the dashboard using the commands shown
3775
01:24:06,170 --> 01:24:06,180
the dashboard using the commands shown
3776
01:24:06,180 --> 01:24:08,550
the dashboard using the commands shown
you can access the dashboard through a
3777
01:24:08,550 --> 01:24:08,560
you can access the dashboard through a
3778
01:24:08,560 --> 01:24:10,560
you can access the dashboard through a
variety of ways as we mentioned earlier
3779
01:24:10,560 --> 01:24:10,570
variety of ways as we mentioned earlier
3780
01:24:10,570 --> 01:24:13,440
variety of ways as we mentioned earlier
if you have direct network access to the
3781
01:24:13,440 --> 01:24:13,450
if you have direct network access to the
3782
01:24:13,450 --> 01:24:16,410
if you have direct network access to the
IP address of your Kubernetes masters
3783
01:24:16,410 --> 01:24:16,420
IP address of your Kubernetes masters
3784
01:24:16,420 --> 01:24:19,020
IP address of your Kubernetes masters
you can simply go to the web browser and
3785
01:24:19,020 --> 01:24:19,030
you can simply go to the web browser and
3786
01:24:19,030 --> 01:24:20,910
you can simply go to the web browser and
go to
3787
01:24:20,910 --> 01:24:20,920
go to
3788
01:24:20,920 --> 01:24:23,940
go to
the HTTP colon slash slash the IP
3789
01:24:23,940 --> 01:24:23,950
the HTTP colon slash slash the IP
3790
01:24:23,950 --> 01:24:28,980
the HTTP colon slash slash the IP
address or the host of your master colon
3791
01:24:28,980 --> 01:24:28,990
address or the host of your master colon
3792
01:24:28,990 --> 01:24:32,310
address or the host of your master colon
8080 for slash UI however the most
3793
01:24:32,310 --> 01:24:32,320
8080 for slash UI however the most
3794
01:24:32,320 --> 01:24:34,110
8080 for slash UI however the most
foolproof way and the recommended way
3795
01:24:34,110 --> 01:24:34,120
foolproof way and the recommended way
3796
01:24:34,120 --> 01:24:36,240
foolproof way and the recommended way
even if you have direct access to the
3797
01:24:36,240 --> 01:24:36,250
even if you have direct access to the
3798
01:24:36,250 --> 01:24:39,300
even if you have direct access to the
masters is to use kubectl space proxy
3799
01:24:39,300 --> 01:24:39,310
masters is to use kubectl space proxy
3800
01:24:39,310 --> 01:24:41,340
masters is to use kubectl space proxy
to set up a proxy on your local machine
3801
01:24:41,340 --> 01:24:41,350
to set up a proxy on your local machine
3802
01:24:41,350 --> 01:24:44,280
to set up a proxy on your local machine
that will access the API and the
3803
01:24:44,280 --> 01:24:44,290
that will access the API and the
3804
01:24:44,290 --> 01:24:48,270
that will access the API and the
interface remotely through a tunnel type
3805
01:24:48,270 --> 01:24:48,280
interface remotely through a tunnel type
3806
01:24:48,280 --> 01:24:51,900
interface remotely through a tunnel type
kubectl proxy and navigate the localhost
3807
01:24:51,900 --> 01:24:51,910
kubectl proxy and navigate the localhost
3808
01:24:51,910 --> 01:25:03,270
kubectl proxy and navigate the localhost
colon 8080 kubectl space proxy you'll
3809
01:25:03,270 --> 01:25:03,280
colon 8080 kubectl space proxy you'll
3810
01:25:03,280 --> 01:25:04,470
colon 8080 kubectl space proxy you'll
know it's successful when it says
3811
01:25:04,470 --> 01:25:04,480
know it's successful when it says
3812
01:25:04,480 --> 01:25:08,160
know it's successful when it says
starting to serve note the URL we'll use
3813
01:25:08,160 --> 01:25:08,170
starting to serve note the URL we'll use
3814
01:25:08,170 --> 01:25:11,160
starting to serve note the URL we'll use
that URL to access the web interface on
3815
01:25:11,160 --> 01:25:11,170
that URL to access the web interface on
3816
01:25:11,170 --> 01:25:15,030
that URL to access the web interface on
our machine let's take this URL to our
3817
01:25:15,030 --> 01:25:15,040
our machine let's take this URL to our
3818
01:25:15,040 --> 01:25:17,100
our machine let's take this URL to our
web browser to access the Kubernetes
3819
01:25:17,100 --> 01:25:17,110
web browser to access the Kubernetes
3820
01:25:17,110 --> 01:25:20,460
web browser to access the Kubernetes
dashboard you're welcomed by a variety
3821
01:25:20,460 --> 01:25:20,470
dashboard you're welcomed by a variety
3822
01:25:20,470 --> 01:25:23,280
dashboard you're welcomed by a variety
of information the overall status of
3823
01:25:23,280 --> 01:25:23,290
of information the overall status of
3824
01:25:23,290 --> 01:25:24,150
of information the overall status of
your Kubernetes cluster
3825
01:25:24,150 --> 01:25:24,160
your Kubernetes cluster
3826
01:25:24,160 --> 01:25:26,760
your Kubernetes cluster
how many pods are running what pods
3827
01:25:26,760 --> 01:25:26,770
how many pods are running what pods
3828
01:25:26,770 --> 01:25:29,130
how many pods are running what pods
those are what deployments they belong
3829
01:25:29,130 --> 01:25:29,140
those are what deployments they belong
3830
01:25:29,140 --> 01:25:31,440
those are what deployments they belong
to and the replica sets automatically
3831
01:25:31,440 --> 01:25:31,450
to and the replica sets automatically
3832
01:25:31,450 --> 01:25:34,380
to and the replica sets automatically
created for us in those deployments this
3833
01:25:34,380 --> 01:25:34,390
created for us in those deployments this
3834
01:25:34,390 --> 01:25:36,240
created for us in those deployments this
should look familiar this is largely the
3835
01:25:36,240 --> 01:25:36,250
should look familiar this is largely the
3836
01:25:36,250 --> 01:25:37,830
should look familiar this is largely the
same information that we were able to
3837
01:25:37,830 --> 01:25:37,840
same information that we were able to
3838
01:25:37,840 --> 01:25:40,290
same information that we were able to
access using the kubectl get
3839
01:25:40,290 --> 01:25:40,300
access using the kubectl get
3840
01:25:40,300 --> 01:25:44,280
access using the kubectl get
deployments command these are the
3841
01:25:44,280 --> 01:25:44,290
deployments command these are the
3842
01:25:44,290 --> 01:25:50,190
deployments command these are the
details of our tomcat deployment you can
3843
01:25:50,190 --> 01:25:50,200
details of our tomcat deployment you can
3844
01:25:50,200 --> 01:25:52,320
details of our tomcat deployment you can
access a large variety of information
3845
01:25:52,320 --> 01:25:52,330
access a large variety of information
3846
01:25:52,330 --> 01:25:53,850
access a large variety of information
through the Kubernetes web interface a
3847
01:25:53,850 --> 01:25:53,860
through the Kubernetes web interface a
3848
01:25:53,860 --> 01:25:56,520
through the Kubernetes web interface a
number of objects are available many of
3849
01:25:56,520 --> 01:25:56,530
number of objects are available many of
3850
01:25:56,530 --> 01:25:58,800
number of objects are available many of
which we haven't discussed don't worry
3851
01:25:58,800 --> 01:25:58,810
which we haven't discussed don't worry
3852
01:25:58,810 --> 01:26:01,890
which we haven't discussed don't worry
about the details of those yet one of
3853
01:26:01,890 --> 01:26:01,900
about the details of those yet one of
3854
01:26:01,900 --> 01:26:03,450
about the details of those yet one of
the objects we have discussed however
3855
01:26:03,450 --> 01:26:03,460
the objects we have discussed however
3856
01:26:03,460 --> 01:26:06,570
the objects we have discussed however
our nodes everything we're looking at in
3857
01:26:06,570 --> 01:26:06,580
our nodes everything we're looking at in
3858
01:26:06,580 --> 01:26:08,880
our nodes everything we're looking at in
the Kubernetes web interface runs on a
3859
01:26:08,880 --> 01:26:08,890
the Kubernetes web interface runs on a
3860
01:26:08,890 --> 01:26:11,370
the Kubernetes web interface runs on a
node so let's go check out our nodes in
3861
01:26:11,370 --> 01:26:11,380
node so let's go check out our nodes in
3862
01:26:11,380 --> 01:26:13,740
node so let's go check out our nodes in
our minikube remember since the mini
3863
01:26:13,740 --> 01:26:13,750
our minikube remember since the mini
3864
01:26:13,750 --> 01:26:15,510
our minikube remember since the mini
coop is only one node let's look at its
3865
01:26:15,510 --> 01:26:15,520
coop is only one node let's look at its
3866
01:26:15,520 --> 01:26:16,520
coop is only one node let's look at its
details
3867
01:26:16,520 --> 01:26:16,530
details
3868
01:26:16,530 --> 01:26:18,840
details
we can browse through the various
3869
01:26:18,840 --> 01:26:18,850
we can browse through the various
3870
01:26:18,850 --> 01:26:20,430
we can browse through the various
information that we would have gotten if
3871
01:26:20,430 --> 01:26:20,440
information that we would have gotten if
3872
01:26:20,440 --> 01:26:23,280
information that we would have gotten if
we had used the kubectl described node
3873
01:26:23,280 --> 01:26:23,290
we had used the kubectl described node
3874
01:26:23,290 --> 01:26:26,970
we had used the kubectl described node
minikube command it's also providing us
3875
01:26:26,970 --> 01:26:26,980
minikube command it's also providing us
3876
01:26:26,980 --> 01:26:30,870
minikube command it's also providing us
with information about the resource what
3877
01:26:30,870 --> 01:26:30,880
with information about the resource what
3878
01:26:30,880 --> 01:26:33,300
with information about the resource what
pods are running on it and a variety of
3879
01:26:33,300 --> 01:26:33,310
pods are running on it and a variety of
3880
01:26:33,310 --> 01:26:34,740
pods are running on it and a variety of
other information
3881
01:26:34,740 --> 01:26:34,750
other information
3882
01:26:34,750 --> 01:26:37,510
other information
you
3883
01:26:37,520 --> 01:26:39,820
you will even notice that the label set
3884
01:26:39,820 --> 01:26:39,830
you will even notice that the label set
3885
01:26:39,830 --> 01:26:42,700
you will even notice that the label set
storage type SSD in a previous lecture
3886
01:26:42,700 --> 01:26:42,710
storage type SSD in a previous lecture
3887
01:26:42,710 --> 01:26:45,430
storage type SSD in a previous lecture
is available in shown here much like the
3888
01:26:45,430 --> 01:26:45,440
is available in shown here much like the
3889
01:26:45,440 --> 01:26:49,330
is available in shown here much like the
output from kubectl in fact this data
3890
01:26:49,330 --> 01:26:49,340
output from kubectl in fact this data
3891
01:26:49,340 --> 01:26:51,160
output from kubectl in fact this data
comes from the same source as all the
3892
01:26:51,160 --> 01:26:51,170
comes from the same source as all the
3893
01:26:51,170 --> 01:26:53,170
comes from the same source as all the
data from kubectl just another way of
3894
01:26:53,170 --> 01:26:53,180
data from kubectl just another way of
3895
01:26:53,180 --> 01:26:55,240
data from kubectl just another way of
getting to it early operations available
3896
01:26:55,240 --> 01:26:55,250
getting to it early operations available
3897
01:26:55,250 --> 01:26:57,670
getting to it early operations available
to us in kubectl are also available to
3898
01:26:57,670 --> 01:26:57,680
to us in kubectl are also available to
3899
01:26:57,680 --> 01:26:59,740
to us in kubectl are also available to
us in the web interface by clicking the
3900
01:26:59,740 --> 01:26:59,750
us in the web interface by clicking the
3901
01:26:59,750 --> 01:27:02,190
us in the web interface by clicking the
create button we can create a deployment
3902
01:27:02,190 --> 01:27:02,200
create button we can create a deployment
3903
01:27:02,200 --> 01:27:04,360
create button we can create a deployment
this offers us a graphical user
3904
01:27:04,360 --> 01:27:04,370
this offers us a graphical user
3905
01:27:04,370 --> 01:27:07,060
this offers us a graphical user
interface to the same information as we
3906
01:27:07,060 --> 01:27:07,070
interface to the same information as we
3907
01:27:07,070 --> 01:27:09,580
interface to the same information as we
would have defined in a deployment AML
3908
01:27:09,580 --> 01:27:09,590
would have defined in a deployment AML
3909
01:27:09,590 --> 01:27:12,190
would have defined in a deployment AML
file it's up to you whether you'd like
3910
01:27:12,190 --> 01:27:12,200
file it's up to you whether you'd like
3911
01:27:12,200 --> 01:27:14,320
file it's up to you whether you'd like
to use a what you see is what you get
3912
01:27:14,320 --> 01:27:14,330
to use a what you see is what you get
3913
01:27:14,330 --> 01:27:16,210
to use a what you see is what you get
WYSIWYG style editor as you can see here
3914
01:27:16,210 --> 01:27:16,220
WYSIWYG style editor as you can see here
3915
01:27:16,220 --> 01:27:18,760
WYSIWYG style editor as you can see here
or use the power of the command line and
3916
01:27:18,760 --> 01:27:18,770
or use the power of the command line and
3917
01:27:18,770 --> 01:27:21,430
or use the power of the command line and
your own Amal text files if you choose
3918
01:27:21,430 --> 01:27:21,440
your own Amal text files if you choose
3919
01:27:21,440 --> 01:27:23,320
your own Amal text files if you choose
to use your own text files you can still
3920
01:27:23,320 --> 01:27:23,330
to use your own text files you can still
3921
01:27:23,330 --> 01:27:26,260
to use your own text files you can still
upload them with the web interface this
3922
01:27:26,260 --> 01:27:26,270
upload them with the web interface this
3923
01:27:26,270 --> 01:27:27,730
upload them with the web interface this
is the functional equivalent of using
3924
01:27:27,730 --> 01:27:27,740
is the functional equivalent of using
3925
01:27:27,740 --> 01:27:29,920
is the functional equivalent of using
the kubectl apply command which we have
3926
01:27:29,920 --> 01:27:29,930
the kubectl apply command which we have
3927
01:27:29,930 --> 01:27:37,030
the kubectl apply command which we have
in previous lectures you'll learn more
3928
01:27:37,030 --> 01:27:37,040
in previous lectures you'll learn more
3929
01:27:37,040 --> 01:27:38,710
in previous lectures you'll learn more
about Kubernetes we encourage you to
3930
01:27:38,710 --> 01:27:38,720
about Kubernetes we encourage you to
3931
01:27:38,720 --> 01:27:40,930
about Kubernetes we encourage you to
come back to take the dashboard tour to
3932
01:27:40,930 --> 01:27:40,940
come back to take the dashboard tour to
3933
01:27:40,940 --> 01:27:43,060
come back to take the dashboard tour to
learn more about each individual item
3934
01:27:43,060 --> 01:27:43,070
learn more about each individual item
3935
01:27:43,070 --> 01:27:46,270
learn more about each individual item
and action you can take and view within
3936
01:27:46,270 --> 01:27:46,280
and action you can take and view within
3937
01:27:46,280 --> 01:27:49,030
and action you can take and view within
the web interface for now simply knowing
3938
01:27:49,030 --> 01:27:49,040
the web interface for now simply knowing
3939
01:27:49,040 --> 01:27:51,970
the web interface for now simply knowing
that kubectl and the web interface are
3940
01:27:51,970 --> 01:27:51,980
that kubectl and the web interface are
3941
01:27:51,980 --> 01:27:53,770
that kubectl and the web interface are
available to you as two methods of
3942
01:27:53,770 --> 01:27:53,780
available to you as two methods of
3943
01:27:53,780 --> 01:27:56,050
available to you as two methods of
getting at the same data and viewing or
3944
01:27:56,050 --> 01:27:56,060
getting at the same data and viewing or
3945
01:27:56,060 --> 01:27:58,030
getting at the same data and viewing or
manipulating objects in your Kubernetes
3946
01:27:58,030 --> 01:27:58,040
manipulating objects in your Kubernetes
3947
01:27:58,040 --> 01:28:01,240
manipulating objects in your Kubernetes
cluster is enough picking the right tool
3948
01:28:01,240 --> 01:28:01,250
cluster is enough picking the right tool
3949
01:28:01,250 --> 01:28:04,000
cluster is enough picking the right tool
for the job is always a way to be most
3950
01:28:04,000 --> 01:28:04,010
for the job is always a way to be most
3951
01:28:04,010 --> 01:28:05,640
for the job is always a way to be most
effective as possible
3952
01:28:05,640 --> 01:28:05,650
effective as possible
3953
01:28:05,650 --> 01:28:08,440
effective as possible
kubectl excels at certain things and
3954
01:28:08,440 --> 01:28:08,450
kubectl excels at certain things and
3955
01:28:08,450 --> 01:28:10,560
kubectl excels at certain things and
the web interface excels at many things
3956
01:28:10,560 --> 01:28:10,570
the web interface excels at many things
3957
01:28:10,570 --> 01:28:12,610
the web interface excels at many things
now that you have both tools at your
3958
01:28:12,610 --> 01:28:12,620
now that you have both tools at your
3959
01:28:12,620 --> 01:28:14,980
now that you have both tools at your
disposal you're able to choose what is
3960
01:28:14,980 --> 01:28:14,990
disposal you're able to choose what is
3961
01:28:14,990 --> 01:28:21,170
disposal you're able to choose what is
most effective and what you may prefer
3962
01:28:21,180 --> 01:28:23,060
[Music]
3963
01:28:23,060 --> 01:28:23,070
[Music]
3964
01:28:23,070 --> 01:28:25,890
[Music]
by now I hope you're getting an idea of
3965
01:28:25,890 --> 01:28:25,900
by now I hope you're getting an idea of
3966
01:28:25,900 --> 01:28:27,990
by now I hope you're getting an idea of
the variety of tools available for you
3967
01:28:27,990 --> 01:28:28,000
the variety of tools available for you
3968
01:28:28,000 --> 01:28:31,140
the variety of tools available for you
in deploying scaling and monitoring
3969
01:28:31,140 --> 01:28:31,150
in deploying scaling and monitoring
3970
01:28:31,150 --> 01:28:33,870
in deploying scaling and monitoring
applications and Kubernetes don't worry
3971
01:28:33,870 --> 01:28:33,880
applications and Kubernetes don't worry
3972
01:28:33,880 --> 01:28:35,630
applications and Kubernetes don't worry
if you don't feel like a master yet
3973
01:28:35,630 --> 01:28:35,640
if you don't feel like a master yet
3974
01:28:35,640 --> 01:28:37,860
if you don't feel like a master yet
Kubernetes is a sophisticated software
3975
01:28:37,860 --> 01:28:37,870
Kubernetes is a sophisticated software
3976
01:28:37,870 --> 01:28:40,110
Kubernetes is a sophisticated software
system and even the most experienced
3977
01:28:40,110 --> 01:28:40,120
system and even the most experienced
3978
01:28:40,120 --> 01:28:42,840
system and even the most experienced
professionals take time to adapt to its
3979
01:28:42,840 --> 01:28:42,850
professionals take time to adapt to its
3980
01:28:42,850 --> 01:28:46,410
professionals take time to adapt to its
ways of doing things in this exercise
3981
01:28:46,410 --> 01:28:46,420
ways of doing things in this exercise
3982
01:28:46,420 --> 01:28:49,440
ways of doing things in this exercise
you'll leverage what you've learned to
3983
01:28:49,440 --> 01:28:49,450
you'll leverage what you've learned to
3984
01:28:49,450 --> 01:28:51,750
you'll leverage what you've learned to
provide a solution to a given set of
3985
01:28:51,750 --> 01:28:51,760
provide a solution to a given set of
3986
01:28:51,760 --> 01:28:55,800
provide a solution to a given set of
success criteria what you've learned to
3987
01:28:55,800 --> 01:28:55,810
success criteria what you've learned to
3988
01:28:55,810 --> 01:28:58,290
success criteria what you've learned to
this point includes how to define a
3989
01:28:58,290 --> 01:28:58,300
this point includes how to define a
3990
01:28:58,300 --> 01:29:00,450
this point includes how to define a
deployment in Kubernetes how to deploy
3991
01:29:00,450 --> 01:29:00,460
deployment in Kubernetes how to deploy
3992
01:29:00,460 --> 01:29:02,550
deployment in Kubernetes how to deploy
this deployment to Kubernetes and how to
3993
01:29:02,550 --> 01:29:02,560
this deployment to Kubernetes and how to
3994
01:29:02,560 --> 01:29:04,920
this deployment to Kubernetes and how to
scale this deployment we've gone over a
3995
01:29:04,920 --> 01:29:04,930
scale this deployment we've gone over a
3996
01:29:04,930 --> 01:29:06,630
scale this deployment we've gone over a
number of other things so this isn't an
3997
01:29:06,630 --> 01:29:06,640
number of other things so this isn't an
3998
01:29:06,640 --> 01:29:08,610
number of other things so this isn't an
exhaustive list in the lectures today
3999
01:29:08,610 --> 01:29:08,620
exhaustive list in the lectures today
4000
01:29:08,620 --> 01:29:10,740
exhaustive list in the lectures today
we've gone over a variety of commands
4001
01:29:10,740 --> 01:29:10,750
we've gone over a variety of commands
4002
01:29:10,750 --> 01:29:14,250
we've gone over a variety of commands
that will help you deploy manage and
4003
01:29:14,250 --> 01:29:14,260
that will help you deploy manage and
4004
01:29:14,260 --> 01:29:18,750
that will help you deploy manage and
examine your cluster think about the
4005
01:29:18,750 --> 01:29:18,760
examine your cluster think about the
4006
01:29:18,760 --> 01:29:20,340
examine your cluster think about the
variety of commands we've used and
4007
01:29:20,340 --> 01:29:20,350
variety of commands we've used and
4008
01:29:20,350 --> 01:29:23,460
variety of commands we've used and
perhaps even go back and review previous
4009
01:29:23,460 --> 01:29:23,470
perhaps even go back and review previous
4010
01:29:23,470 --> 01:29:25,830
perhaps even go back and review previous
lectures to understand what commands
4011
01:29:25,830 --> 01:29:25,840
lectures to understand what commands
4012
01:29:25,840 --> 01:29:30,180
lectures to understand what commands
might be available to you your task is
4013
01:29:30,180 --> 01:29:30,190
might be available to you your task is
4014
01:29:30,190 --> 01:29:32,160
might be available to you your task is
to use what you've learned to deploy and
4015
01:29:32,160 --> 01:29:32,170
to use what you've learned to deploy and
4016
01:29:32,170 --> 01:29:35,760
to use what you've learned to deploy and
scale MongoDB MongoDB is a popular no
4017
01:29:35,760 --> 01:29:35,770
scale MongoDB MongoDB is a popular no
4018
01:29:35,770 --> 01:29:38,460
scale MongoDB MongoDB is a popular no
SQL data source it in and of itself can
4019
01:29:38,460 --> 01:29:38,470
SQL data source it in and of itself can
4020
01:29:38,470 --> 01:29:40,650
SQL data source it in and of itself can
be quite complicated but your task here
4021
01:29:40,650 --> 01:29:40,660
be quite complicated but your task here
4022
01:29:40,660 --> 01:29:43,650
be quite complicated but your task here
is quite simple just take the default
4023
01:29:43,650 --> 01:29:43,660
is quite simple just take the default
4024
01:29:43,660 --> 01:29:46,290
is quite simple just take the default
installation of MongoDB and have it
4025
01:29:46,290 --> 01:29:46,300
installation of MongoDB and have it
4026
01:29:46,300 --> 01:29:48,570
installation of MongoDB and have it
running on your Kubernetes cluster the
4027
01:29:48,570 --> 01:29:48,580
running on your Kubernetes cluster the
4028
01:29:48,580 --> 01:29:50,490
running on your Kubernetes cluster the
success criteria will be that the
4029
01:29:50,490 --> 01:29:50,500
success criteria will be that the
4030
01:29:50,500 --> 01:29:52,560
success criteria will be that the
current version of MongoDB is up and
4031
01:29:52,560 --> 01:29:52,570
current version of MongoDB is up and
4032
01:29:52,570 --> 01:29:54,450
current version of MongoDB is up and
running on your Kubernetes cluster with
4033
01:29:54,450 --> 01:29:54,460
running on your Kubernetes cluster with
4034
01:29:54,460 --> 01:29:56,970
running on your Kubernetes cluster with
four replicas we're not going to tell
4035
01:29:56,970 --> 01:29:56,980
four replicas we're not going to tell
4036
01:29:56,980 --> 01:29:58,440
four replicas we're not going to tell
you how to do it but we'll give you a
4037
01:29:58,440 --> 01:29:58,450
you how to do it but we'll give you a
4038
01:29:58,450 --> 01:30:01,140
you how to do it but we'll give you a
few hints first you should know that
4039
01:30:01,140 --> 01:30:01,150
few hints first you should know that
4040
01:30:01,150 --> 01:30:07,110
few hints first you should know that
MongoDB listens on port 27 0 1 7 in its
4041
01:30:07,110 --> 01:30:07,120
MongoDB listens on port 27 0 1 7 in its
4042
01:30:07,120 --> 01:30:09,180
MongoDB listens on port 27 0 1 7 in its
default configuration this is the only
4043
01:30:09,180 --> 01:30:09,190
default configuration this is the only
4044
01:30:09,190 --> 01:30:11,430
default configuration this is the only
port that Mongo listens on in a single
4045
01:30:11,430 --> 01:30:11,440
port that Mongo listens on in a single
4046
01:30:11,440 --> 01:30:13,440
port that Mongo listens on in a single
node configuration and that's what we're
4047
01:30:13,440 --> 01:30:13,450
node configuration and that's what we're
4048
01:30:13,450 --> 01:30:16,670
node configuration and that's what we're
going to use Mongo out of the box
4049
01:30:16,670 --> 01:30:16,680
going to use Mongo out of the box
4050
01:30:16,680 --> 01:30:19,020
going to use Mongo out of the box
another hint is that you couldn't find
4051
01:30:19,020 --> 01:30:19,030
another hint is that you couldn't find
4052
01:30:19,030 --> 01:30:21,180
another hint is that you couldn't find
officially supported MongoDB docker
4053
01:30:21,180 --> 01:30:21,190
officially supported MongoDB docker
4054
01:30:21,190 --> 01:30:25,740
officially supported MongoDB docker
images on docker hub these couple of
4055
01:30:25,740 --> 01:30:25,750
images on docker hub these couple of
4056
01:30:25,750 --> 01:30:27,900
images on docker hub these couple of
hints and the information that you've
4057
01:30:27,900 --> 01:30:27,910
hints and the information that you've
4058
01:30:27,910 --> 01:30:29,820
hints and the information that you've
learned in the lectures to date should
4059
01:30:29,820 --> 01:30:29,830
learned in the lectures to date should
4060
01:30:29,830 --> 01:30:33,020
learned in the lectures to date should
be enough to get you going
4061
01:30:33,020 --> 01:30:33,030
be enough to get you going
4062
01:30:33,030 --> 01:30:35,760
be enough to get you going
now it's your turn come back when you're
4063
01:30:35,760 --> 01:30:35,770
now it's your turn come back when you're
4064
01:30:35,770 --> 01:30:37,200
now it's your turn come back when you're
done and see if your solution matched
4065
01:30:37,200 --> 01:30:37,210
done and see if your solution matched
4066
01:30:37,210 --> 01:30:37,620
done and see if your solution matched
ours
4067
01:30:37,620 --> 01:30:37,630
ours
4068
01:30:37,630 --> 01:30:39,950
ours
and remember it's okay if it doesn't
4069
01:30:39,950 --> 01:30:39,960
and remember it's okay if it doesn't
4070
01:30:39,960 --> 01:30:42,390
and remember it's okay if it doesn't
Kubernetes has multiple ways of going
4071
01:30:42,390 --> 01:30:42,400
Kubernetes has multiple ways of going
4072
01:30:42,400 --> 01:30:45,480
Kubernetes has multiple ways of going
about the same work whether you use
4073
01:30:45,480 --> 01:30:45,490
about the same work whether you use
4074
01:30:45,490 --> 01:30:47,700
about the same work whether you use
commands or you use deployment files
4075
01:30:47,700 --> 01:30:47,710
commands or you use deployment files
4076
01:30:47,710 --> 01:30:49,200
commands or you use deployment files
there are multiple ways that you could
4077
01:30:49,200 --> 01:30:49,210
there are multiple ways that you could
4078
01:30:49,210 --> 01:30:52,230
there are multiple ways that you could
achieve the end goal we'll see you back
4079
01:30:52,230 --> 01:30:52,240
achieve the end goal we'll see you back
4080
01:30:52,240 --> 01:30:54,540
achieve the end goal we'll see you back
here when you have a solution and we'll
4081
01:30:54,540 --> 01:30:54,550
here when you have a solution and we'll
4082
01:30:54,550 --> 01:30:57,240
here when you have a solution and we'll
review one possible solution and a few
4083
01:30:57,240 --> 01:30:57,250
review one possible solution and a few
4084
01:30:57,250 --> 01:31:02,610
review one possible solution and a few
others the solution weal review uses
4085
01:31:02,610 --> 01:31:02,620
others the solution weal review uses
4086
01:31:02,620 --> 01:31:05,850
others the solution weal review uses
only two commands first it uses the kubectl
4087
01:31:05,850 --> 01:31:05,860
only two commands first it uses the kubectl
4088
01:31:05,860 --> 01:31:08,310
only two commands first it uses the kubectl
run command to run the default Mongo
4089
01:31:08,310 --> 01:31:08,320
run command to run the default Mongo
4090
01:31:08,320 --> 01:31:11,220
run command to run the default Mongo
image from docker hub it also includes a
4091
01:31:11,220 --> 01:31:11,230
image from docker hub it also includes a
4092
01:31:11,230 --> 01:31:13,920
image from docker hub it also includes a
directive to expose the two seven zero
4093
01:31:13,920 --> 01:31:13,930
directive to expose the two seven zero
4094
01:31:13,930 --> 01:31:17,220
directive to expose the two seven zero
one seven tcp/ip port that Mongo exposes
4095
01:31:17,220 --> 01:31:17,230
one seven tcp/ip port that Mongo exposes
4096
01:31:17,230 --> 01:31:20,550
one seven tcp/ip port that Mongo exposes
by default once that's running it uses
4097
01:31:20,550 --> 01:31:20,560
by default once that's running it uses
4098
01:31:20,560 --> 01:31:22,890
by default once that's running it uses
the kubectl scale command to scale the
4099
01:31:22,890 --> 01:31:22,900
the kubectl scale command to scale the
4100
01:31:22,900 --> 01:31:24,600
the kubectl scale command to scale the
deployment that was just created using
4101
01:31:24,600 --> 01:31:24,610
deployment that was just created using
4102
01:31:24,610 --> 01:31:28,590
deployment that was just created using
the run command to four replicas at this
4103
01:31:28,590 --> 01:31:28,600
the run command to four replicas at this
4104
01:31:28,600 --> 01:31:31,260
the run command to four replicas at this
point Kubernetes will have downloaded
4105
01:31:31,260 --> 01:31:31,270
point Kubernetes will have downloaded
4106
01:31:31,270 --> 01:31:33,210
point Kubernetes will have downloaded
the image created the default deployment
4107
01:31:33,210 --> 01:31:33,220
the image created the default deployment
4108
01:31:33,220 --> 01:31:35,880
the image created the default deployment
and exposed support and scaled the
4109
01:31:35,880 --> 01:31:35,890
and exposed support and scaled the
4110
01:31:35,890 --> 01:31:40,110
and exposed support and scaled the
service to four replicas let's run the
4111
01:31:40,110 --> 01:31:40,120
service to four replicas let's run the
4112
01:31:40,120 --> 01:31:44,220
service to four replicas let's run the
kubectl run command specifying a name
4113
01:31:44,220 --> 01:31:44,230
kubectl run command specifying a name
4114
01:31:44,230 --> 01:31:53,490
kubectl run command specifying a name
and image to run and a port to expose at
4115
01:31:53,490 --> 01:31:53,500
and image to run and a port to expose at
4116
01:31:53,500 --> 01:31:55,800
and image to run and a port to expose at
this point Kubernetes will pull the
4117
01:31:55,800 --> 01:31:55,810
this point Kubernetes will pull the
4118
01:31:55,810 --> 01:32:03,770
this point Kubernetes will pull the
image and run of default deployment
4119
01:32:03,780 --> 01:32:06,020
now let's use the kubectl scale
4120
01:32:06,020 --> 01:32:06,030
now let's use the kubectl scale
4121
01:32:06,030 --> 01:32:08,600
now let's use the kubectl scale
command the kubectl scale command
4122
01:32:08,600 --> 01:32:08,610
command the kubectl scale command
4123
01:32:08,610 --> 01:32:11,660
command the kubectl scale command
remember we'll take the name of the
4124
01:32:11,660 --> 01:32:11,670
remember we'll take the name of the
4125
01:32:11,670 --> 01:32:13,400
remember we'll take the name of the
deployment and how many replicas we'd
4126
01:32:13,400 --> 01:32:13,410
deployment and how many replicas we'd
4127
01:32:13,410 --> 01:32:15,830
deployment and how many replicas we'd
like to apply looks like I forgot the -
4128
01:32:15,830 --> 01:32:15,840
like to apply looks like I forgot the -
4129
01:32:15,840 --> 01:32:22,400
like to apply looks like I forgot the -
- in front of replicas let's fix that at
4130
01:32:22,400 --> 01:32:22,410
- in front of replicas let's fix that at
4131
01:32:22,410 --> 01:32:23,810
- in front of replicas let's fix that at
this point much like we've done before
4132
01:32:23,810 --> 01:32:23,820
this point much like we've done before
4133
01:32:23,820 --> 01:32:26,300
this point much like we've done before
it scaled to four replicas but let's
4134
01:32:26,300 --> 01:32:26,310
it scaled to four replicas but let's
4135
01:32:26,310 --> 01:32:29,420
it scaled to four replicas but let's
check anyway we can use the kubectl
4136
01:32:29,420 --> 01:32:29,430
check anyway we can use the kubectl
4137
01:32:29,430 --> 01:32:33,410
check anyway we can use the kubectl
describe deployment command you can see
4138
01:32:33,410 --> 01:32:33,420
describe deployment command you can see
4139
01:32:33,420 --> 01:32:35,780
describe deployment command you can see
that the replica has been scaled don't
4140
01:32:35,780 --> 01:32:35,790
that the replica has been scaled don't
4141
01:32:35,790 --> 01:32:37,190
that the replica has been scaled don't
worry if there are some one available as
4142
01:32:37,190 --> 01:32:37,200
worry if there are some one available as
4143
01:32:37,200 --> 01:32:38,780
worry if there are some one available as
of yet it takes a while for those
4144
01:32:38,780 --> 01:32:38,790
of yet it takes a while for those
4145
01:32:38,790 --> 01:32:41,390
of yet it takes a while for those
replicas to start up if you run this
4146
01:32:41,390 --> 01:32:41,400
replicas to start up if you run this
4147
01:32:41,400 --> 01:32:43,220
replicas to start up if you run this
command again you'll see that they're
4148
01:32:43,220 --> 01:32:43,230
command again you'll see that they're
4149
01:32:43,230 --> 01:32:46,610
command again you'll see that they're
available of course as we mentioned
4150
01:32:46,610 --> 01:32:46,620
available of course as we mentioned
4151
01:32:46,620 --> 01:32:48,320
available of course as we mentioned
there are other ways of going about this
4152
01:32:48,320 --> 01:32:48,330
there are other ways of going about this
4153
01:32:48,330 --> 01:32:50,540
there are other ways of going about this
you could have written a deployment AML
4154
01:32:50,540 --> 01:32:50,550
you could have written a deployment AML
4155
01:32:50,550 --> 01:32:53,120
you could have written a deployment AML
file by that to your cluster using kubectl
4156
01:32:53,120 --> 01:32:53,130
file by that to your cluster using kubectl
4157
01:32:53,130 --> 01:32:56,600
file by that to your cluster using kubectl
apply and use kubectl expose to
4158
01:32:56,600 --> 01:32:56,610
apply and use kubectl expose to
4159
01:32:56,610 --> 01:33:00,220
apply and use kubectl expose to
expose the port two seven zero one seven
4160
01:33:00,220 --> 01:33:00,230
expose the port two seven zero one seven
4161
01:33:00,230 --> 01:33:02,660
expose the port two seven zero one seven
you could have written a deployment AML
4162
01:33:02,660 --> 01:33:02,670
you could have written a deployment AML
4163
01:33:02,670 --> 01:33:05,390
you could have written a deployment AML
file and a service Dhamma file to
4164
01:33:05,390 --> 01:33:05,400
file and a service Dhamma file to
4165
01:33:05,400 --> 01:33:07,640
file and a service Dhamma file to
describe a service and use kubectl
4166
01:33:07,640 --> 01:33:07,650
describe a service and use kubectl
4167
01:33:07,650 --> 01:33:09,830
describe a service and use kubectl
apply on both to apply them to your
4168
01:33:09,830 --> 01:33:09,840
apply on both to apply them to your
4169
01:33:09,840 --> 01:33:12,350
apply on both to apply them to your
Kubernetes cluster finally you could
4170
01:33:12,350 --> 01:33:12,360
Kubernetes cluster finally you could
4171
01:33:12,360 --> 01:33:13,880
Kubernetes cluster finally you could
have also used a Kubernetes package
4172
01:33:13,880 --> 01:33:13,890
have also used a Kubernetes package
4173
01:33:13,890 --> 01:33:16,160
have also used a Kubernetes package
manager such as helm to handle the work
4174
01:33:16,160 --> 01:33:16,170
manager such as helm to handle the work
4175
01:33:16,170 --> 01:33:19,100
manager such as helm to handle the work
for you now this third one's definitely
4176
01:33:19,100 --> 01:33:19,110
for you now this third one's definitely
4177
01:33:19,110 --> 01:33:20,840
for you now this third one's definitely
an advanced usage and when we haven't
4178
01:33:20,840 --> 01:33:20,850
an advanced usage and when we haven't
4179
01:33:20,850 --> 01:33:23,720
an advanced usage and when we haven't
gone over yet but towards the end of the
4180
01:33:23,720 --> 01:33:23,730
gone over yet but towards the end of the
4181
01:33:23,730 --> 01:33:25,670
gone over yet but towards the end of the
course we'll look into third-party tools
4182
01:33:25,670 --> 01:33:25,680
course we'll look into third-party tools
4183
01:33:25,680 --> 01:33:28,490
course we'll look into third-party tools
that will make you more productive but
4184
01:33:28,490 --> 01:33:28,500
that will make you more productive but
4185
01:33:28,500 --> 01:33:30,740
that will make you more productive but
the goal now is to understand exactly
4186
01:33:30,740 --> 01:33:30,750
the goal now is to understand exactly
4187
01:33:30,750 --> 01:33:33,350
the goal now is to understand exactly
the internals of Kubernetes and the kubectl
4188
01:33:33,350 --> 01:33:33,360
the internals of Kubernetes and the kubectl
4189
01:33:33,360 --> 01:33:35,990
the internals of Kubernetes and the kubectl
command-line it's worth noting you
4190
01:33:35,990 --> 01:33:36,000
command-line it's worth noting you
4191
01:33:36,000 --> 01:33:37,310
command-line it's worth noting you
could have also used the web interface
4192
01:33:37,310 --> 01:33:37,320
could have also used the web interface
4193
01:33:37,320 --> 01:33:40,040
could have also used the web interface
in lieu of the kubectl commands with
4194
01:33:40,040 --> 01:33:40,050
in lieu of the kubectl commands with
4195
01:33:40,050 --> 01:33:42,410
in lieu of the kubectl commands with
possible solutions one and two to
4196
01:33:42,410 --> 01:33:42,420
possible solutions one and two to
4197
01:33:42,420 --> 01:33:44,720
possible solutions one and two to
achieve the same result you could have
4198
01:33:44,720 --> 01:33:44,730
achieve the same result you could have
4199
01:33:44,730 --> 01:33:46,940
achieve the same result you could have
written these files and uploaded them
4200
01:33:46,940 --> 01:33:46,950
written these files and uploaded them
4201
01:33:46,950 --> 01:33:49,130
written these files and uploaded them
using the web interface and then used
4202
01:33:49,130 --> 01:33:49,140
using the web interface and then used
4203
01:33:49,140 --> 01:33:51,440
using the web interface and then used
kubectl to expose a service if you
4204
01:33:51,440 --> 01:33:51,450
kubectl to expose a service if you
4205
01:33:51,450 --> 01:33:57,710
kubectl to expose a service if you
chose whatever solution you chose or
4206
01:33:57,710 --> 01:33:57,720
chose whatever solution you chose or
4207
01:33:57,720 --> 01:33:59,780
chose whatever solution you chose or
perhaps you found another way of
4208
01:33:59,780 --> 01:33:59,790
perhaps you found another way of
4209
01:33:59,790 --> 01:34:02,120
perhaps you found another way of
achieving the goal the important thing
4210
01:34:02,120 --> 01:34:02,130
achieving the goal the important thing
4211
01:34:02,130 --> 01:34:04,430
achieving the goal the important thing
is to remember the tools in your toolbox
4212
01:34:04,430 --> 01:34:04,440
is to remember the tools in your toolbox
4213
01:34:04,440 --> 01:34:06,110
is to remember the tools in your toolbox
and how they fit together
4214
01:34:06,110 --> 01:34:06,120
and how they fit together
4215
01:34:06,120 --> 01:34:09,470
and how they fit together
then understanding the basic patterns of
4216
01:34:09,470 --> 01:34:09,480
then understanding the basic patterns of
4217
01:34:09,480 --> 01:34:12,440
then understanding the basic patterns of
how to use kubectl and how Kubernetes
4218
01:34:12,440 --> 01:34:12,450
how to use kubectl and how Kubernetes
4219
01:34:12,450 --> 01:34:15,530
how to use kubectl and how Kubernetes
objects interact with each other if you
4220
01:34:15,530 --> 01:34:15,540
objects interact with each other if you
4221
01:34:15,540 --> 01:34:17,390
objects interact with each other if you
know the foundation of these as you
4222
01:34:17,390 --> 01:34:17,400
know the foundation of these as you
4223
01:34:17,400 --> 01:34:19,370
know the foundation of these as you
practice you'll grow into a critical
4224
01:34:19,370 --> 01:34:19,380
practice you'll grow into a critical
4225
01:34:19,380 --> 01:34:22,310
practice you'll grow into a critical
thinker able to do a variety of tasks
4226
01:34:22,310 --> 01:34:22,320
thinker able to do a variety of tasks
4227
01:34:22,320 --> 01:34:24,020
thinker able to do a variety of tasks
and Kubernetes without consulting
4228
01:34:24,020 --> 01:34:24,030
and Kubernetes without consulting
4229
01:34:24,030 --> 01:34:26,030
and Kubernetes without consulting
documentation or higher-level
4230
01:34:26,030 --> 01:34:26,040
documentation or higher-level
4231
01:34:26,040 --> 01:34:28,670
documentation or higher-level
architecture
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment