1
00:00:06,320 --> 00:00:11,499
[Music]

2
00:00:15,679 --> 00:00:19,920
okay we're next up we've got shri jeff

3
00:00:18,000 --> 00:00:21,840
anogen he's talking about vms and

4
00:00:19,920 --> 00:00:23,920
containers a reminder if you have

5
00:00:21,840 --> 00:00:27,840
questions put them in the to the

6
00:00:23,920 --> 00:00:27,840
question tab and vinulus okay

7
00:00:28,240 --> 00:00:33,360
thanks simon hey thanks everyone for

8
00:00:30,560 --> 00:00:34,640
joining in good evening good afternoon

9
00:00:33,360 --> 00:00:36,640
good morning

10
00:00:34,640 --> 00:00:38,879
so this is about uh

11
00:00:36,640 --> 00:00:40,320
how virtual machines and containers can

12
00:00:38,879 --> 00:00:43,360
actually be

13
00:00:40,320 --> 00:00:45,600
used in a single control plane or

14
00:00:43,360 --> 00:00:47,760
management plane the

15
00:00:45,600 --> 00:00:51,199
topic of this session is vms plus

16
00:00:47,760 --> 00:00:54,000
containers equal to the perfect wedding

17
00:00:51,199 --> 00:00:57,600
as you probably see in my slide i am

18
00:00:54,000 --> 00:01:00,960
srijit anderson working for red hat

19
00:00:57,600 --> 00:01:03,280
and over the next uh 25 minutes i'll be

20
00:01:00,960 --> 00:01:05,360
speaking about cube word

21
00:01:03,280 --> 00:01:08,000
and we'll be demonstrating some of the

22
00:01:05,360 --> 00:01:09,280
keyboard functionalities using

23
00:01:08,000 --> 00:01:13,520
red hat's

24
00:01:09,280 --> 00:01:16,479
uh open shift virtualization tool

25
00:01:13,520 --> 00:01:19,200
and i'm sure that those who joined this

26
00:01:16,479 --> 00:01:20,799
might have heard about keyboard or

27
00:01:19,200 --> 00:01:23,200
kubernetes

28
00:01:20,799 --> 00:01:25,520
or has enough experience on

29
00:01:23,200 --> 00:01:28,880
virtualization technologies so what

30
00:01:25,520 --> 00:01:30,240
exactly is keyboard right uh so keyboard

31
00:01:28,880 --> 00:01:33,119
is nothing but

32
00:01:30,240 --> 00:01:34,880
uh comparing the power of kubernetes to

33
00:01:33,119 --> 00:01:37,439
manage your virtualization

34
00:01:34,880 --> 00:01:39,840
infrastructure okay

35
00:01:37,439 --> 00:01:42,560
so i'll speak about more on cubot in the

36
00:01:39,840 --> 00:01:43,520
coming slides and in the demonstration

37
00:01:42,560 --> 00:01:45,840
and

38
00:01:43,520 --> 00:01:48,560
as you know right uh containers has been

39
00:01:45,840 --> 00:01:51,439
there for the last couple of decades

40
00:01:48,560 --> 00:01:55,119
we started with

41
00:01:51,439 --> 00:01:57,360
the solaris zones then we had the lxc

42
00:01:55,119 --> 00:01:59,920
linux containers and in

43
00:01:57,360 --> 00:02:02,240
in 2012 we had

44
00:01:59,920 --> 00:02:04,880
docker coming in as a container runtime

45
00:02:02,240 --> 00:02:07,280
and popularizing containers but you all

46
00:02:04,880 --> 00:02:09,599
know that containers are not vms or

47
00:02:07,280 --> 00:02:11,280
virtual machines right

48
00:02:09,599 --> 00:02:12,400
containers

49
00:02:11,280 --> 00:02:15,120
by the way

50
00:02:12,400 --> 00:02:16,160
has a lot of commonalities with virtual

51
00:02:15,120 --> 00:02:19,120
machines

52
00:02:16,160 --> 00:02:20,959
on how it does the resource allocation

53
00:02:19,120 --> 00:02:23,360
uh how it actually

54
00:02:20,959 --> 00:02:25,040
do security

55
00:02:23,360 --> 00:02:26,800
and uh

56
00:02:25,040 --> 00:02:28,280
how it actually

57
00:02:26,800 --> 00:02:30,400
does the

58
00:02:28,280 --> 00:02:31,599
compartmentalization of resources within

59
00:02:30,400 --> 00:02:35,200
your

60
00:02:31,599 --> 00:02:38,640
systems right so containers make use of

61
00:02:35,200 --> 00:02:41,680
lot of linux capabilities like linux

62
00:02:38,640 --> 00:02:45,040
kernel namespaces control groups

63
00:02:41,680 --> 00:02:47,519
and network namespaces right and the

64
00:02:45,040 --> 00:02:49,200
main difference is containers use a

65
00:02:47,519 --> 00:02:51,519
container image which only has

66
00:02:49,200 --> 00:02:53,760
suggestion of os with the application

67
00:02:51,519 --> 00:02:56,160
binaries and the dependencies

68
00:02:53,760 --> 00:02:58,400
so they are not virtual machines they do

69
00:02:56,160 --> 00:03:00,959
not have guest oils and additional

70
00:02:58,400 --> 00:03:03,920
virtual devices and all those layers

71
00:03:00,959 --> 00:03:05,680
which you otherwise see in a traditional

72
00:03:03,920 --> 00:03:08,159
virtualization

73
00:03:05,680 --> 00:03:10,400
now speaking about cube word

74
00:03:08,159 --> 00:03:13,920
we are actually going to try putting

75
00:03:10,400 --> 00:03:14,879
virtual machines inside of a container

76
00:03:13,920 --> 00:03:18,319
okay

77
00:03:14,879 --> 00:03:21,200
so uh if you have experience with kvm

78
00:03:18,319 --> 00:03:23,519
which is a kernel based virtual machine

79
00:03:21,200 --> 00:03:25,120
kvm is nothing but a

80
00:03:23,519 --> 00:03:27,360
linux kernel

81
00:03:25,120 --> 00:03:29,200
module right when you start a virtual

82
00:03:27,360 --> 00:03:33,040
machine it is nothing but a process

83
00:03:29,200 --> 00:03:35,840
running in that linux kernel right and

84
00:03:33,040 --> 00:03:37,280
containers also encapsulate processes

85
00:03:35,840 --> 00:03:39,519
right so if you look at the

86
00:03:37,280 --> 00:03:41,840
commonalities they have

87
00:03:39,519 --> 00:03:44,640
the same underlying resource needs like

88
00:03:41,840 --> 00:03:47,440
accessing cpu memory network

89
00:03:44,640 --> 00:03:49,840
and most of the times storage from the

90
00:03:47,440 --> 00:03:52,000
host or from your shared storage right

91
00:03:49,840 --> 00:03:54,000
so you can indeed

92
00:03:52,000 --> 00:03:56,239
use containers to spin up virtual

93
00:03:54,000 --> 00:03:58,080
machines or have containers running

94
00:03:56,239 --> 00:03:59,439
virtual machines

95
00:03:58,080 --> 00:04:02,000
now

96
00:03:59,439 --> 00:04:03,760
virtual machines running in containers

97
00:04:02,000 --> 00:04:05,840
are nothing but what we talk about

98
00:04:03,760 --> 00:04:08,720
keyboard okay

99
00:04:05,840 --> 00:04:12,400
uh we use the kbm hypervisor

100
00:04:08,720 --> 00:04:15,439
as a virtualization technique or tool

101
00:04:12,400 --> 00:04:19,600
and the most important fact is

102
00:04:15,439 --> 00:04:21,759
uh everything is managed by kubernetes

103
00:04:19,600 --> 00:04:23,919
so most of you would know kubernetes is

104
00:04:21,759 --> 00:04:26,960
nothing but the container orchestration

105
00:04:23,919 --> 00:04:29,360
and cluster manager developed by google

106
00:04:26,960 --> 00:04:32,080
and obviously it is a community open

107
00:04:29,360 --> 00:04:34,400
source uh solution right

108
00:04:32,080 --> 00:04:36,560
so the benefit of using kubernetes to

109
00:04:34,400 --> 00:04:39,280
manage virtual machines then you only

110
00:04:36,560 --> 00:04:40,960
have one single management plane or

111
00:04:39,280 --> 00:04:44,000
control plane

112
00:04:40,960 --> 00:04:46,800
to not only manage your containerized

113
00:04:44,000 --> 00:04:49,120
workloads but also the traditional

114
00:04:46,800 --> 00:04:52,400
uh non-containerized workloads which are

115
00:04:49,120 --> 00:04:54,639
running in virtual machines

116
00:04:52,400 --> 00:04:57,600
and from a technical standpoint you have

117
00:04:54,639 --> 00:05:00,160
the same uh port like software defined

118
00:04:57,600 --> 00:05:04,400
network connectivity uh you can also

119
00:05:00,160 --> 00:05:06,400
configure uh vlans uh to actually use

120
00:05:04,400 --> 00:05:07,919
the existing external vlan

121
00:05:06,400 --> 00:05:10,479
configurations which are already

122
00:05:07,919 --> 00:05:12,960
provisioned in your network and all

123
00:05:10,479 --> 00:05:14,240
those uh terminologies and paradigms

124
00:05:12,960 --> 00:05:17,280
which you are familiar with in

125
00:05:14,240 --> 00:05:19,680
kubernetes like persistent volumes

126
00:05:17,280 --> 00:05:21,199
persistent volume claim storage class

127
00:05:19,680 --> 00:05:23,360
everything could be

128
00:05:21,199 --> 00:05:25,360
made available within the virtualization

129
00:05:23,360 --> 00:05:26,720
space

130
00:05:25,360 --> 00:05:28,320
now

131
00:05:26,720 --> 00:05:29,280
uh

132
00:05:28,320 --> 00:05:31,360
i

133
00:05:29,280 --> 00:05:33,199
mentioned about openshift virtualization

134
00:05:31,360 --> 00:05:34,479
which is what i'm going to use for the

135
00:05:33,199 --> 00:05:36,639
demonstration

136
00:05:34,479 --> 00:05:38,560
openshift virtualization is basically

137
00:05:36,639 --> 00:05:41,600
the commercial version of

138
00:05:38,560 --> 00:05:44,240
uh cubot from red hat it is part of our

139
00:05:41,600 --> 00:05:47,840
openshift container platform and it also

140
00:05:44,240 --> 00:05:49,199
uses kb right and you know kvm actually

141
00:05:47,840 --> 00:05:51,440
is there from

142
00:05:49,199 --> 00:05:53,520
uh more than a decade right there are a

143
00:05:51,440 --> 00:05:56,000
lot of production use cases and

144
00:05:53,520 --> 00:05:58,800
successful customer stories around

145
00:05:56,000 --> 00:06:00,080
kvm based products and solutions right

146
00:05:58,800 --> 00:06:01,680
so kvm

147
00:06:00,080 --> 00:06:04,160
uh

148
00:06:01,680 --> 00:06:07,680
cavemu and libod are basically the

149
00:06:04,160 --> 00:06:10,000
tourings which we use within keyboard to

150
00:06:07,680 --> 00:06:11,360
create and manage virtual machines with

151
00:06:10,000 --> 00:06:13,120
keyboard

152
00:06:11,360 --> 00:06:15,039
and obviously the abstraction layer

153
00:06:13,120 --> 00:06:19,600
continues to be the same which is the

154
00:06:15,039 --> 00:06:22,400
lip boot so in this you see you have the

155
00:06:19,600 --> 00:06:24,560
uh it could be your

156
00:06:22,400 --> 00:06:27,600
data center hardware or managed services

157
00:06:24,560 --> 00:06:30,479
provided provider hardware you have

158
00:06:27,600 --> 00:06:33,280
cpu memory storage and network on top of

159
00:06:30,479 --> 00:06:34,639
that you deploy a linux operating system

160
00:06:33,280 --> 00:06:38,080
running kvm

161
00:06:34,639 --> 00:06:40,720
then abstracts uh the resources using

162
00:06:38,080 --> 00:06:41,840
liquid right then you create vms so this

163
00:06:40,720 --> 00:06:43,280
is how

164
00:06:41,840 --> 00:06:45,280
uh kvm

165
00:06:43,280 --> 00:06:48,479
architecture looks like

166
00:06:45,280 --> 00:06:50,560
now coming to kubernetes right uh how

167
00:06:48,479 --> 00:06:52,560
does virtual machines in a container

168
00:06:50,560 --> 00:06:55,039
world look like okay

169
00:06:52,560 --> 00:06:56,720
so you use the same physical hardware

170
00:06:55,039 --> 00:06:58,160
which you use in the traditional

171
00:06:56,720 --> 00:07:01,360
virtualization

172
00:06:58,160 --> 00:07:03,440
and on top of that you install a

173
00:07:01,360 --> 00:07:06,000
container host

174
00:07:03,440 --> 00:07:07,680
a classical example of a container host

175
00:07:06,000 --> 00:07:10,000
is core os

176
00:07:07,680 --> 00:07:11,919
and then use the kubernetes

177
00:07:10,000 --> 00:07:12,880
container of construction layer on top

178
00:07:11,919 --> 00:07:15,759
of it

179
00:07:12,880 --> 00:07:17,039
and interestingly along with the

180
00:07:15,759 --> 00:07:19,120
standard

181
00:07:17,039 --> 00:07:20,080
containerized applications running as a

182
00:07:19,120 --> 00:07:22,400
port

183
00:07:20,080 --> 00:07:24,000
you can also have a virtual machine

184
00:07:22,400 --> 00:07:25,919
running as a port

185
00:07:24,000 --> 00:07:28,479
okay and it integrates directly into

186
00:07:25,919 --> 00:07:29,680
your existing kubernetes clusters

187
00:07:28,479 --> 00:07:30,880
that means

188
00:07:29,680 --> 00:07:33,680
you are a

189
00:07:30,880 --> 00:07:36,000
container networking interface or cni

190
00:07:33,680 --> 00:07:38,639
container storage interface and the

191
00:07:36,000 --> 00:07:41,199
kubernetes operator framework

192
00:07:38,639 --> 00:07:43,680
using custom resource definitions all of

193
00:07:41,199 --> 00:07:45,840
those could be leveraged okay

194
00:07:43,680 --> 00:07:47,039
and everything which kubernetes does

195
00:07:45,840 --> 00:07:49,039
could be

196
00:07:47,039 --> 00:07:53,039
translated into the virtual machine

197
00:07:49,039 --> 00:07:54,960
world or the virtualization world okay

198
00:07:53,039 --> 00:07:56,960
and uh

199
00:07:54,960 --> 00:07:58,960
the good thing about using kubernetes

200
00:07:56,960 --> 00:08:01,520
and virtualization together it is

201
00:07:58,960 --> 00:08:04,240
virtualization is a native to kubernetes

202
00:08:01,520 --> 00:08:06,400
so when you say native to kubernetes

203
00:08:04,240 --> 00:08:07,840
all of these virtual machine based

204
00:08:06,400 --> 00:08:11,360
objects

205
00:08:07,840 --> 00:08:13,759
are objects within kubernetes so to say

206
00:08:11,360 --> 00:08:16,319
you have a virtual machine object

207
00:08:13,759 --> 00:08:18,720
virtual machine instance virtual machine

208
00:08:16,319 --> 00:08:19,599
instance migration data volume and all

209
00:08:18,720 --> 00:08:22,479
those

210
00:08:19,599 --> 00:08:25,120
so quickly if i come back to my console

211
00:08:22,479 --> 00:08:27,120
i hope you can see my console

212
00:08:25,120 --> 00:08:32,959
i'll just show you some of the cute ctl

213
00:08:27,120 --> 00:08:34,479
commands so if i do cube ctl get vms

214
00:08:32,959 --> 00:08:37,440
you'll see the virtual machines which

215
00:08:34,479 --> 00:08:40,800
are configured in my demo environment if

216
00:08:37,440 --> 00:08:42,959
i do virtual machine instances of vmis

217
00:08:40,800 --> 00:08:45,600
you see the virtual machines which are

218
00:08:42,959 --> 00:08:48,000
actually up and running right you see

219
00:08:45,600 --> 00:08:50,640
there is a fedora 35 virtual machine

220
00:08:48,000 --> 00:08:54,480
running in this kubernetes cluster

221
00:08:50,640 --> 00:08:56,560
using the ip address 10 9 1 21 right so

222
00:08:54,480 --> 00:08:58,560
all of these resources are native to

223
00:08:56,560 --> 00:09:00,959
kubernetes right so it is a native

224
00:08:58,560 --> 00:09:03,760
virtualization within kubernetes to

225
00:09:00,959 --> 00:09:05,680
manage virtualization

226
00:09:03,760 --> 00:09:06,560
now moving ahead

227
00:09:05,680 --> 00:09:09,920
uh

228
00:09:06,560 --> 00:09:12,399
how does that uh look like from a

229
00:09:09,920 --> 00:09:15,120
architectural perspective right

230
00:09:12,399 --> 00:09:17,120
so you have the storage network cpu

231
00:09:15,120 --> 00:09:18,800
memory and device

232
00:09:17,120 --> 00:09:20,560
uh

233
00:09:18,800 --> 00:09:22,399
required for containers as well as

234
00:09:20,560 --> 00:09:24,320
virtual machines right

235
00:09:22,399 --> 00:09:27,279
so for each virtual machine which you

236
00:09:24,320 --> 00:09:30,720
are uh configuring it will create a

237
00:09:27,279 --> 00:09:32,320
separate board okay every vm runs in a

238
00:09:30,720 --> 00:09:35,519
launcher port

239
00:09:32,320 --> 00:09:38,000
and that launcher pod would actually

240
00:09:35,519 --> 00:09:40,080
supervise

241
00:09:38,000 --> 00:09:41,680
the board integration with other

242
00:09:40,080 --> 00:09:43,360
containers which are running in your

243
00:09:41,680 --> 00:09:45,920
kubernetes

244
00:09:43,360 --> 00:09:47,680
and that launcher port can also be used

245
00:09:45,920 --> 00:09:50,080
to

246
00:09:47,680 --> 00:09:52,080
connect and check your virtual machine

247
00:09:50,080 --> 00:09:54,880
details using the traditional wash

248
00:09:52,080 --> 00:09:57,120
commands if you wish okay

249
00:09:54,880 --> 00:09:59,279
and uh you know bleepwater and gmo are

250
00:09:57,120 --> 00:10:01,519
available in every linux's whether it is

251
00:09:59,279 --> 00:10:04,640
the enterprise linux from red hat or

252
00:10:01,519 --> 00:10:06,480
fedora or central stream right and it

253
00:10:04,640 --> 00:10:09,040
has very minimal overload

254
00:10:06,480 --> 00:10:11,640
and from a security perspective we use

255
00:10:09,040 --> 00:10:13,839
ac linux security enhanced linux with

256
00:10:11,640 --> 00:10:16,959
multi-category security

257
00:10:13,839 --> 00:10:19,200
so to provide complete isolation

258
00:10:16,959 --> 00:10:22,160
between virtual machines

259
00:10:19,200 --> 00:10:24,240
other containers and

260
00:10:22,160 --> 00:10:25,360
having the same security across

261
00:10:24,240 --> 00:10:29,200
different

262
00:10:25,360 --> 00:10:31,839
tenants running on the same kubernetes

263
00:10:29,200 --> 00:10:34,399
and how do you use vms and containers

264
00:10:31,839 --> 00:10:36,240
together right so i talked about uh

265
00:10:34,399 --> 00:10:38,880
having the same control plane and

266
00:10:36,240 --> 00:10:41,120
management between via kubernetes

267
00:10:38,880 --> 00:10:41,920
so everything which you give to

268
00:10:41,120 --> 00:10:45,839
a

269
00:10:41,920 --> 00:10:48,000
standard container like a service id

270
00:10:45,839 --> 00:10:50,720
if you're familiar with openshift you

271
00:10:48,000 --> 00:10:51,760
can give external access using a route

272
00:10:50,720 --> 00:10:54,640
object

273
00:10:51,760 --> 00:10:57,040
and the kubernetes has the ingress right

274
00:10:54,640 --> 00:10:58,480
all of this could be configured to a vm

275
00:10:57,040 --> 00:11:01,360
as well

276
00:10:58,480 --> 00:11:03,519
and interestingly you can use the same

277
00:11:01,360 --> 00:11:05,760
software-defined networking plug-ins and

278
00:11:03,519 --> 00:11:08,160
use the pod network which is available

279
00:11:05,760 --> 00:11:10,399
in kubernetes

280
00:11:08,160 --> 00:11:11,360
to be given to the virtual machines

281
00:11:10,399 --> 00:11:13,839
right

282
00:11:11,360 --> 00:11:16,000
and also the all network policies which

283
00:11:13,839 --> 00:11:17,760
you configure in kubernetes can also be

284
00:11:16,000 --> 00:11:20,560
applied to the wheels because they use

285
00:11:17,760 --> 00:11:22,640
the same port network right

286
00:11:20,560 --> 00:11:23,519
so the vm to board

287
00:11:22,640 --> 00:11:25,839
and

288
00:11:23,519 --> 00:11:27,839
both to different vms and different

289
00:11:25,839 --> 00:11:29,279
name spaces all of those actually

290
00:11:27,839 --> 00:11:30,399
happens over the software-defined

291
00:11:29,279 --> 00:11:32,800
networking

292
00:11:30,399 --> 00:11:35,120
uh based on whether you

293
00:11:32,800 --> 00:11:38,240
configure external access to the vms or

294
00:11:35,120 --> 00:11:40,160
ports right so the good thing is it is

295
00:11:38,240 --> 00:11:42,160
native to kubernetes

296
00:11:40,160 --> 00:11:45,279
but at the same time you have the

297
00:11:42,160 --> 00:11:47,519
flexibility of running your traditional

298
00:11:45,279 --> 00:11:51,120
workloads which require a virtual

299
00:11:47,519 --> 00:11:54,880
machine level access maybe a database

300
00:11:51,120 --> 00:11:56,480
like mysql or oracle right or any other

301
00:11:54,880 --> 00:11:58,560
uh

302
00:11:56,480 --> 00:12:02,320
workloads which you think are not yet

303
00:11:58,560 --> 00:12:04,079
ready to be containerized okay

304
00:12:02,320 --> 00:12:06,240
so like i said it's completely managed

305
00:12:04,079 --> 00:12:08,839
with kubernetes so what i do is i will

306
00:12:06,240 --> 00:12:12,880
quickly move over to my demo

307
00:12:08,839 --> 00:12:13,920
environment i believe you can see my

308
00:12:12,880 --> 00:12:16,880
uh

309
00:12:13,920 --> 00:12:16,880
environment here

310
00:12:17,200 --> 00:12:21,360
just

311
00:12:18,320 --> 00:12:24,399
improving the font size okay so this is

312
00:12:21,360 --> 00:12:26,000
a open shift cluster which i'm using for

313
00:12:24,399 --> 00:12:27,440
this demonstration

314
00:12:26,000 --> 00:12:28,959
so if you're wondering what is open

315
00:12:27,440 --> 00:12:32,079
shift open shift is nothing but the

316
00:12:28,959 --> 00:12:34,000
commercial kubernetes enterprise version

317
00:12:32,079 --> 00:12:35,120
from red hat okay

318
00:12:34,000 --> 00:12:38,000
so

319
00:12:35,120 --> 00:12:39,920
uh when i do oc version which will give

320
00:12:38,000 --> 00:12:42,959
you the kubernetes version we are using

321
00:12:39,920 --> 00:12:43,920
we are using version 1.19 for this demo

322
00:12:42,959 --> 00:12:47,200
okay

323
00:12:43,920 --> 00:12:49,040
and openshift version is four six

324
00:12:47,200 --> 00:12:51,600
and many of you may not be familiar with

325
00:12:49,040 --> 00:12:54,399
oc so i'm moving back to the popular

326
00:12:51,600 --> 00:12:57,360
cube ctl or cube cuddle command

327
00:12:54,399 --> 00:13:00,079
so i'm going to do cube cdl get

328
00:12:57,360 --> 00:13:01,920
projects on namespace

329
00:13:00,079 --> 00:13:03,839
okay you get to see the different

330
00:13:01,920 --> 00:13:05,519
projects and namespaces

331
00:13:03,839 --> 00:13:07,760
which are part of this openshift

332
00:13:05,519 --> 00:13:09,200
environment and you would notice at the

333
00:13:07,760 --> 00:13:11,440
end of the

334
00:13:09,200 --> 00:13:13,680
listing there is a namespace or a

335
00:13:11,440 --> 00:13:14,800
project which i created

336
00:13:13,680 --> 00:13:18,240
in the name

337
00:13:14,800 --> 00:13:20,639
srijith dash keyboard so i

338
00:13:18,240 --> 00:13:24,800
moved to that project using the command

339
00:13:20,639 --> 00:13:25,920
oc project it's regis dash keyboard

340
00:13:24,800 --> 00:13:27,760
okay

341
00:13:25,920 --> 00:13:29,760
so it's very similar to you using cube

342
00:13:27,760 --> 00:13:32,079
ctl command but

343
00:13:29,760 --> 00:13:34,560
i'm using oc because oc is a native

344
00:13:32,079 --> 00:13:36,800
client for open shift so now when you do

345
00:13:34,560 --> 00:13:39,680
oc get ports

346
00:13:36,800 --> 00:13:40,959
you see there is a word launcher

347
00:13:39,680 --> 00:13:43,120
uh

348
00:13:40,959 --> 00:13:44,800
port which is up and running right and

349
00:13:43,120 --> 00:13:46,639
it is up

350
00:13:44,800 --> 00:13:50,079
it is up for more than two hours now

351
00:13:46,639 --> 00:13:53,079
because i did a dry run before i started

352
00:13:50,079 --> 00:13:55,440
my live session just to make sure that

353
00:13:53,079 --> 00:13:57,839
democracy okay

354
00:13:55,440 --> 00:13:59,760
so there is a word launcher port up and

355
00:13:57,839 --> 00:14:00,880
running here okay

356
00:13:59,760 --> 00:14:04,240
and

357
00:14:00,880 --> 00:14:06,639
when you do oc get vms

358
00:14:04,240 --> 00:14:08,160
i see a virtual machine which is

359
00:14:06,639 --> 00:14:10,320
available

360
00:14:08,160 --> 00:14:12,240
and vmi

361
00:14:10,320 --> 00:14:15,839
there is that virtual machine which is

362
00:14:12,240 --> 00:14:18,399
also running okay so how does it all uh

363
00:14:15,839 --> 00:14:21,360
work so if you go to the ui and

364
00:14:18,399 --> 00:14:24,959
connecting to the openshift ui here

365
00:14:21,360 --> 00:14:26,399
uh you can deploy virtualization

366
00:14:24,959 --> 00:14:29,360
uh

367
00:14:26,399 --> 00:14:31,680
or keyboard via the operator framework

368
00:14:29,360 --> 00:14:32,560
so if you go to the operator hub within

369
00:14:31,680 --> 00:14:35,360
your

370
00:14:32,560 --> 00:14:38,240
kubernetes cluster or in openshift

371
00:14:35,360 --> 00:14:40,320
uh you can look at the

372
00:14:38,240 --> 00:14:42,959
operators which are available

373
00:14:40,320 --> 00:14:44,800
so look for virtualization

374
00:14:42,959 --> 00:14:47,120
okay

375
00:14:44,800 --> 00:14:49,680
so it shows up as open shift

376
00:14:47,120 --> 00:14:52,399
virtualization when you use open shift

377
00:14:49,680 --> 00:14:54,399
container platforms so you see here

378
00:14:52,399 --> 00:14:57,199
openshift virtualization

379
00:14:54,399 --> 00:14:59,680
you choose that and click on install and

380
00:14:57,199 --> 00:15:02,000
it gets installed so that's how you add

381
00:14:59,680 --> 00:15:04,959
the virtualization capabilities to your

382
00:15:02,000 --> 00:15:06,800
existing kubernetes cluster

383
00:15:04,959 --> 00:15:09,519
now remember one thing

384
00:15:06,800 --> 00:15:10,959
uh you may all know for kvm to work

385
00:15:09,519 --> 00:15:12,880
right

386
00:15:10,959 --> 00:15:15,600
you need to have virtualization

387
00:15:12,880 --> 00:15:18,240
capabilities available in your

388
00:15:15,600 --> 00:15:19,519
underlying hardware okay so if you're

389
00:15:18,240 --> 00:15:21,519
using a

390
00:15:19,519 --> 00:15:23,279
intel based cpu it should have the

391
00:15:21,519 --> 00:15:25,199
appropriate flags

392
00:15:23,279 --> 00:15:28,000
for amt you have other flags so make

393
00:15:25,199 --> 00:15:30,639
sure that your

394
00:15:28,000 --> 00:15:31,680
hardware is compatible to run virtual

395
00:15:30,639 --> 00:15:34,560
machines

396
00:15:31,680 --> 00:15:36,880
so when you translate that to kubernetes

397
00:15:34,560 --> 00:15:39,120
the kubernetes worker nodes or the

398
00:15:36,880 --> 00:15:42,320
minions should have the virtualization

399
00:15:39,120 --> 00:15:45,759
capabilities to create the vms okay

400
00:15:42,320 --> 00:15:47,759
so that's when kvm can actually find the

401
00:15:45,759 --> 00:15:50,720
correct worker nodes and schedule

402
00:15:47,759 --> 00:15:53,519
virtual machines to be created okay

403
00:15:50,720 --> 00:15:55,519
so those kvm related

404
00:15:53,519 --> 00:15:58,959
technical requirements

405
00:15:55,519 --> 00:16:01,839
uh are needed for keyboard as well okay

406
00:15:58,959 --> 00:16:03,680
so once you have the operator deployed

407
00:16:01,839 --> 00:16:06,839
under the installed operators you will

408
00:16:03,680 --> 00:16:09,600
see that operator you see openshift

409
00:16:06,839 --> 00:16:12,959
virtualization and it is now deployed in

410
00:16:09,600 --> 00:16:14,959
namespace called as openshift.cnb

411
00:16:12,959 --> 00:16:16,720
cnb expands to container native

412
00:16:14,959 --> 00:16:19,199
virtualization

413
00:16:16,720 --> 00:16:22,000
and that's how i deployed openshift

414
00:16:19,199 --> 00:16:24,320
virtualization functionality within my

415
00:16:22,000 --> 00:16:26,480
openshift cluster

416
00:16:24,320 --> 00:16:28,959
once you have that done

417
00:16:26,480 --> 00:16:31,120
you have the virtualization option

418
00:16:28,959 --> 00:16:32,320
available under the workloads

419
00:16:31,120 --> 00:16:34,240
okay

420
00:16:32,320 --> 00:16:36,880
you see virtualization and you see an

421
00:16:34,240 --> 00:16:39,440
option to create virtual machine

422
00:16:36,880 --> 00:16:41,759
and it is very similar to uh how you

423
00:16:39,440 --> 00:16:44,160
create a virtual machine in your

424
00:16:41,759 --> 00:16:45,360
standard virtual environments whether

425
00:16:44,160 --> 00:16:47,360
you're using

426
00:16:45,360 --> 00:16:49,759
uh lib world or the command line

427
00:16:47,360 --> 00:16:51,600
interface it follows the same pattern

428
00:16:49,759 --> 00:16:52,880
right so if you click on create virtual

429
00:16:51,600 --> 00:16:54,880
machine

430
00:16:52,880 --> 00:16:57,360
you have the option of importing your

431
00:16:54,880 --> 00:16:59,680
virtual machine definition or

432
00:16:57,360 --> 00:17:02,000
create a new virtual machine using the

433
00:16:59,680 --> 00:17:05,199
gui or the yammer

434
00:17:02,000 --> 00:17:07,360
so i'm going with the wizard okay

435
00:17:05,199 --> 00:17:08,799
uh i hope you can see my screen good

436
00:17:07,360 --> 00:17:10,880
enough

437
00:17:08,799 --> 00:17:13,439
uh you need to give the general details

438
00:17:10,880 --> 00:17:14,880
like name of the vm operating system and

439
00:17:13,439 --> 00:17:17,520
all those stuff

440
00:17:14,880 --> 00:17:19,760
so uh give the name

441
00:17:17,520 --> 00:17:22,240
indeed fedora

442
00:17:19,760 --> 00:17:24,079
then operating system you need to choose

443
00:17:22,240 --> 00:17:26,559
there are some operating systems which

444
00:17:24,079 --> 00:17:28,720
are pre-listed based on the operating

445
00:17:26,559 --> 00:17:32,559
system you choose it will use the

446
00:17:28,720 --> 00:17:34,640
appropriate para virtualized devices

447
00:17:32,559 --> 00:17:37,039
boot source you obviously need to

448
00:17:34,640 --> 00:17:38,960
provide the boot source for your road

449
00:17:37,039 --> 00:17:41,039
disk of the vm right so there are a

450
00:17:38,960 --> 00:17:44,400
couple of options which are available if

451
00:17:41,039 --> 00:17:46,400
you have a persistent volume claim

452
00:17:44,400 --> 00:17:48,720
which is acting as a disc for your

453
00:17:46,400 --> 00:17:50,720
virtual machine you can choose that or

454
00:17:48,720 --> 00:17:52,400
if you want to download a virtual

455
00:17:50,720 --> 00:17:55,360
machine image from your local

456
00:17:52,400 --> 00:17:58,000
environment or from public uh place you

457
00:17:55,360 --> 00:17:59,440
can click on url and give

458
00:17:58,000 --> 00:18:01,679
that you are

459
00:17:59,440 --> 00:18:05,440
so as part of the demonstration i'm

460
00:18:01,679 --> 00:18:08,000
using a fedora cloud image so you see

461
00:18:05,440 --> 00:18:11,919
fedora has cloud-based images

462
00:18:08,000 --> 00:18:14,400
so you can download the cucu image for

463
00:18:11,919 --> 00:18:17,919
fedora from here

464
00:18:14,400 --> 00:18:21,919
copy this and then use that url

465
00:18:17,919 --> 00:18:23,520
to use as a disk image okay over here so

466
00:18:21,919 --> 00:18:26,720
you give that url

467
00:18:23,520 --> 00:18:29,440
you give the flavor so flavor is like

468
00:18:26,720 --> 00:18:31,919
your virtual machine instance

469
00:18:29,440 --> 00:18:33,440
configuration like how much memory cpu

470
00:18:31,919 --> 00:18:35,520
disk etc

471
00:18:33,440 --> 00:18:37,520
and there is some workload profile which

472
00:18:35,520 --> 00:18:40,320
you can use basis which

473
00:18:37,520 --> 00:18:43,039
uh kvm will adjust some of the tuned d

474
00:18:40,320 --> 00:18:44,720
profiles under the hood okay

475
00:18:43,039 --> 00:18:47,039
so once you have that

476
00:18:44,720 --> 00:18:50,799
you go to the next okay just need to

477
00:18:47,039 --> 00:18:50,799
give some urls here so

478
00:18:50,880 --> 00:18:53,919
let me paste it

479
00:18:55,600 --> 00:18:59,760
so i just uh

480
00:18:57,200 --> 00:19:02,160
think i added

481
00:18:59,760 --> 00:19:04,559
a different urls if i keep the correct

482
00:19:02,160 --> 00:19:07,039
url here

483
00:19:04,559 --> 00:19:07,039
copy

484
00:19:07,360 --> 00:19:12,640
yeah because uh keyboard requires

485
00:19:10,720 --> 00:19:13,760
special hardware to

486
00:19:12,640 --> 00:19:17,679
run

487
00:19:13,760 --> 00:19:21,520
uh virtual machines right i'm using a

488
00:19:17,679 --> 00:19:21,520
machine which is available within my

489
00:19:21,760 --> 00:19:27,520
corporate network so that's why it is

490
00:19:24,480 --> 00:19:30,480
inside a console

491
00:19:27,520 --> 00:19:32,960
yeah so i choose a flavor

492
00:19:30,480 --> 00:19:34,880
just to satisfy this yeah

493
00:19:32,960 --> 00:19:36,720
tiny then

494
00:19:34,880 --> 00:19:40,160
choose a workload profile whether it is

495
00:19:36,720 --> 00:19:41,840
desktop or server hit next

496
00:19:40,160 --> 00:19:45,360
then in the next options you give the

497
00:19:41,840 --> 00:19:47,679
network interface so whether it is a

498
00:19:45,360 --> 00:19:50,080
port network or whether you need to have

499
00:19:47,679 --> 00:19:52,400
something called as multus so if you

500
00:19:50,080 --> 00:19:53,679
heard about multis if you have multiple

501
00:19:52,400 --> 00:19:55,440
interfaces

502
00:19:53,679 --> 00:19:58,160
available in your workflow nodes you can

503
00:19:55,440 --> 00:20:00,000
actually create bridges and then have

504
00:19:58,160 --> 00:20:01,679
direct connectivity given to the virtual

505
00:20:00,000 --> 00:20:03,520
machines if you wish

506
00:20:01,679 --> 00:20:05,520
so i'm going ahead with the standard

507
00:20:03,520 --> 00:20:06,720
port networking here

508
00:20:05,520 --> 00:20:08,880
and then

509
00:20:06,720 --> 00:20:12,240
storage you choose

510
00:20:08,880 --> 00:20:14,559
so we have a root disk of 15 gb

511
00:20:12,240 --> 00:20:16,320
so if you want to edit you can do that

512
00:20:14,559 --> 00:20:18,320
and on the advanced tab you have the

513
00:20:16,320 --> 00:20:20,320
option of giving cloud in it

514
00:20:18,320 --> 00:20:22,320
parameters like whether you need to give

515
00:20:20,320 --> 00:20:23,039
a sh key pair

516
00:20:22,320 --> 00:20:24,480
to

517
00:20:23,039 --> 00:20:28,080
do

518
00:20:24,480 --> 00:20:30,080
access via ssh over to the vms

519
00:20:28,080 --> 00:20:32,320
and then

520
00:20:30,080 --> 00:20:35,440
finally you review and

521
00:20:32,320 --> 00:20:37,280
deploy the vms okay so i already have

522
00:20:35,440 --> 00:20:40,000
the vm deployed

523
00:20:37,280 --> 00:20:41,360
i didn't take a chance to do it live

524
00:20:40,000 --> 00:20:43,360
because

525
00:20:41,360 --> 00:20:45,679
uh

526
00:20:43,360 --> 00:20:48,400
it probably could take

527
00:20:45,679 --> 00:20:51,440
more than 10 minutes right so what i did

528
00:20:48,400 --> 00:20:53,840
was i already had the virtual machines

529
00:20:51,440 --> 00:20:55,440
deployed like two hours ago

530
00:20:53,840 --> 00:20:58,000
so that's the virtual machine which you

531
00:20:55,440 --> 00:20:58,960
see here fedora 35

532
00:20:58,000 --> 00:21:01,440
so

533
00:20:58,960 --> 00:21:03,280
if you go to that virtual machine you

534
00:21:01,440 --> 00:21:05,120
see all the details pertaining to the

535
00:21:03,280 --> 00:21:08,559
virtual machine like

536
00:21:05,120 --> 00:21:11,039
the console the network interfaces disks

537
00:21:08,559 --> 00:21:12,799
everything so if i hit the console

538
00:21:11,039 --> 00:21:14,960
you should be able to connect to the

539
00:21:12,799 --> 00:21:18,000
console if you want to open it in a new

540
00:21:14,960 --> 00:21:19,840
window you can do that as well okay

541
00:21:18,000 --> 00:21:22,240
so you have the native way to connect

542
00:21:19,840 --> 00:21:25,039
the console uh using the different

543
00:21:22,240 --> 00:21:27,600
console options i'm using vnc here but

544
00:21:25,039 --> 00:21:29,280
it also supports spies and

545
00:21:27,600 --> 00:21:30,640
rtp

546
00:21:29,280 --> 00:21:31,600
okay

547
00:21:30,640 --> 00:21:35,360
now

548
00:21:31,600 --> 00:21:37,200
uh what i did was i actually added a

549
00:21:35,360 --> 00:21:38,880
service definition to this virtual

550
00:21:37,200 --> 00:21:40,640
machine

551
00:21:38,880 --> 00:21:42,880
so i believe most of you are familiar

552
00:21:40,640 --> 00:21:45,840
with kubernetes services

553
00:21:42,880 --> 00:21:47,600
so what i did was i created a service in

554
00:21:45,840 --> 00:21:50,159
my project

555
00:21:47,600 --> 00:21:51,280
to be associated to this new virtual

556
00:21:50,159 --> 00:21:53,200
machine

557
00:21:51,280 --> 00:21:56,640
so you see here there is a service in

558
00:21:53,200 --> 00:21:57,520
the name fedora 35 service

559
00:21:56,640 --> 00:21:59,440
and

560
00:21:57,520 --> 00:22:01,280
if you look at the yaml definition of

561
00:21:59,440 --> 00:22:02,960
that service

562
00:22:01,280 --> 00:22:04,720
this is how it is

563
00:22:02,960 --> 00:22:06,640
i'm using uh

564
00:22:04,720 --> 00:22:08,480
the

565
00:22:06,640 --> 00:22:11,760
uh not port

566
00:22:08,480 --> 00:22:14,159
uh notepod is nothing but you expose a

567
00:22:11,760 --> 00:22:15,840
port on your worker nodes

568
00:22:14,159 --> 00:22:17,360
so that you can connect to that node

569
00:22:15,840 --> 00:22:19,679
port and get

570
00:22:17,360 --> 00:22:22,799
translated into the

571
00:22:19,679 --> 00:22:26,320
vm port or the port port right so

572
00:22:22,799 --> 00:22:28,559
i'm using notepod based service here and

573
00:22:26,320 --> 00:22:31,039
associated that to the

574
00:22:28,559 --> 00:22:32,919
virtual machine which is up and running

575
00:22:31,039 --> 00:22:36,159
so the not port here is

576
00:22:32,919 --> 00:22:37,679
31220 so if i need to connect to my

577
00:22:36,159 --> 00:22:40,880
virtual machine

578
00:22:37,679 --> 00:22:42,159
i can basically do an so search

579
00:22:40,880 --> 00:22:42,960
so

580
00:22:42,159 --> 00:22:45,280
uh

581
00:22:42,960 --> 00:22:47,280
i use a fedora username which is a

582
00:22:45,280 --> 00:22:48,720
default username for the fedora cloud

583
00:22:47,280 --> 00:22:50,480
based image

584
00:22:48,720 --> 00:22:52,880
and connecting to the port three one

585
00:22:50,480 --> 00:22:55,600
double to zero okay and 190

586
00:22:52,880 --> 00:22:58,080
192.168.50.12

587
00:22:55,600 --> 00:23:02,000
is nothing but one of my worker nodes in

588
00:22:58,080 --> 00:23:04,720
kubernetes so if i do cube cpl

589
00:23:02,000 --> 00:23:04,720
get nodes

590
00:23:05,280 --> 00:23:09,120
you see i

591
00:23:06,840 --> 00:23:12,640
have three nodes

592
00:23:09,120 --> 00:23:13,919
acting as both master and worker okay

593
00:23:12,640 --> 00:23:15,360
so if i do

594
00:23:13,919 --> 00:23:17,760
dash of white

595
00:23:15,360 --> 00:23:20,480
you get to see the ip address here 192

596
00:23:17,760 --> 00:23:23,600
168 50.10

597
00:23:20,480 --> 00:23:25,520
11 and 12. so if i connect to

598
00:23:23,600 --> 00:23:27,679
one of these worker nodes whether it is

599
00:23:25,520 --> 00:23:31,280
10 11 or 12

600
00:23:27,679 --> 00:23:32,799
uh to the port 31220 i will land

601
00:23:31,280 --> 00:23:34,880
directly into the

602
00:23:32,799 --> 00:23:37,280
virtual machine so this is my fedora

603
00:23:34,880 --> 00:23:40,159
virtual machine so if you do fedora

604
00:23:37,280 --> 00:23:41,520
release it's fedora 35 and latest one

605
00:23:40,159 --> 00:23:43,760
uptime

606
00:23:41,520 --> 00:23:47,600
up for more than two hours

607
00:23:43,760 --> 00:23:51,279
uh so i've give 4gb ram and

608
00:23:47,600 --> 00:23:53,679
one cpu here okay yeah

609
00:23:51,279 --> 00:23:54,960
so this is a virtual machine which is up

610
00:23:53,679 --> 00:23:56,799
and running

611
00:23:54,960 --> 00:23:59,679
now other thing which i wanted to show

612
00:23:56,799 --> 00:24:03,039
is if i do oc get ports you may remember

613
00:23:59,679 --> 00:24:05,760
i had a word launcher port right

614
00:24:03,039 --> 00:24:07,600
so if i need to connect to that port

615
00:24:05,760 --> 00:24:09,279
i'm going to connect to the water

616
00:24:07,600 --> 00:24:12,000
launcher port

617
00:24:09,279 --> 00:24:14,559
and i'm going to

618
00:24:12,000 --> 00:24:16,480
run it terminal

619
00:24:14,559 --> 00:24:19,760
and now when i do

620
00:24:16,480 --> 00:24:21,919
push list

621
00:24:19,760 --> 00:24:24,320
see here so this is a virtual machine

622
00:24:21,919 --> 00:24:26,159
which is actually running right so

623
00:24:24,320 --> 00:24:27,600
remember what launcher port would

624
00:24:26,159 --> 00:24:29,840
actually make sure that the virtual

625
00:24:27,600 --> 00:24:33,039
machines are scheduled properly

626
00:24:29,840 --> 00:24:35,120
uh it downloads the image from the url

627
00:24:33,039 --> 00:24:36,880
and creates a persistent volume flame

628
00:24:35,120 --> 00:24:39,520
and persistent volumes

629
00:24:36,880 --> 00:24:41,279
as part of the broaching okay

630
00:24:39,520 --> 00:24:42,559
so the virtual machine disks are

631
00:24:41,279 --> 00:24:45,120
actually

632
00:24:42,559 --> 00:24:48,720
running as persistent volumes and it is

633
00:24:45,120 --> 00:24:50,640
requested via persistent volume flames

634
00:24:48,720 --> 00:24:53,039
yeah so that was a quick demonstration

635
00:24:50,640 --> 00:24:54,960
of uh how the virtual machine looked

636
00:24:53,039 --> 00:24:57,360
like in a cube board or openshift

637
00:24:54,960 --> 00:24:59,600
virtualization you can also use commands

638
00:24:57,360 --> 00:25:00,880
like word ctl

639
00:24:59,600 --> 00:25:02,799
to basically

640
00:25:00,880 --> 00:25:06,240
simplify the virtual machine creation

641
00:25:02,799 --> 00:25:07,039
rather than using the gui okay

642
00:25:06,240 --> 00:25:10,030
so

643
00:25:07,039 --> 00:25:11,520
i just wanted to close out by saying

644
00:25:10,030 --> 00:25:13,679
[Music]

645
00:25:11,520 --> 00:25:15,039
how does it

646
00:25:13,679 --> 00:25:17,760
aligned with

647
00:25:15,039 --> 00:25:20,320
uh the standard kubernetes environment

648
00:25:17,760 --> 00:25:22,799
right so the virtual machines inherit

649
00:25:20,320 --> 00:25:25,120
many functionalities from kubernetes

650
00:25:22,799 --> 00:25:27,440
like cube scheduler

651
00:25:25,120 --> 00:25:30,320
the high availability right if one of

652
00:25:27,440 --> 00:25:32,720
the virtual machines

653
00:25:30,320 --> 00:25:35,440
is not running properly

654
00:25:32,720 --> 00:25:39,279
the cubelet would actually let

655
00:25:35,440 --> 00:25:40,720
uh kubernetes aba know about that and it

656
00:25:39,279 --> 00:25:43,279
can be

657
00:25:40,720 --> 00:25:45,679
started fresh in a new uh

658
00:25:43,279 --> 00:25:47,760
ma new worker node right so all the

659
00:25:45,679 --> 00:25:50,159
benefits of cubelet and kubernetes you

660
00:25:47,760 --> 00:25:52,240
are actually going to use within

661
00:25:50,159 --> 00:25:55,279
uh keyboard right

662
00:25:52,240 --> 00:25:57,520
uh so containerized vms have the same

663
00:25:55,279 --> 00:25:59,440
characteristics as known containers like

664
00:25:57,520 --> 00:26:01,919
you need to give the cpu memory

665
00:25:59,440 --> 00:26:04,080
everything right you can also run linux

666
00:26:01,919 --> 00:26:04,880
and windows guest operating systems

667
00:26:04,080 --> 00:26:07,120
right

668
00:26:04,880 --> 00:26:09,360
and like i said storage is provided by

669
00:26:07,120 --> 00:26:12,159
both system volumes and the virtual

670
00:26:09,360 --> 00:26:14,559
machine images are uh

671
00:26:12,159 --> 00:26:17,440
provided by something called a cdi or

672
00:26:14,559 --> 00:26:20,320
containerized data input okay

673
00:26:17,440 --> 00:26:22,640
and like i said earlier it inherits

674
00:26:20,320 --> 00:26:24,559
all the port networkings

675
00:26:22,640 --> 00:26:26,240
now this is a

676
00:26:24,559 --> 00:26:27,679
single slide which gives you the

677
00:26:26,240 --> 00:26:28,640
convergence of

678
00:26:27,679 --> 00:26:30,559
both

679
00:26:28,640 --> 00:26:32,400
uh virtualization which you see with

680
00:26:30,559 --> 00:26:35,120
overt to the left

681
00:26:32,400 --> 00:26:38,559
and the traditional uh

682
00:26:35,120 --> 00:26:41,279
private cloud with openstack right so

683
00:26:38,559 --> 00:26:43,039
uh if you see cuboid sits in the middle

684
00:26:41,279 --> 00:26:45,360
right you have

685
00:26:43,039 --> 00:26:47,600
the cubelet uh

686
00:26:45,360 --> 00:26:49,840
being used as the agent in kubernetes

687
00:26:47,600 --> 00:26:52,960
running on the worker nodes but if you

688
00:26:49,840 --> 00:26:55,360
look at overt or openstack for that

689
00:26:52,960 --> 00:26:56,400
matter it will be the vdsm and the nova

690
00:26:55,360 --> 00:27:00,159
compute

691
00:26:56,400 --> 00:27:02,000
and the common element in all of this uh

692
00:27:00,159 --> 00:27:03,520
three different architecture is the

693
00:27:02,000 --> 00:27:05,679
libert

694
00:27:03,520 --> 00:27:07,919
camus and kvm right

695
00:27:05,679 --> 00:27:09,919
so if you can actually containerize that

696
00:27:07,919 --> 00:27:11,600
component right it's nothing but

697
00:27:09,919 --> 00:27:13,360
keyboard right

698
00:27:11,600 --> 00:27:15,039
so that's basically the benefit of

699
00:27:13,360 --> 00:27:18,000
having uh

700
00:27:15,039 --> 00:27:20,240
a single converged control plane or

701
00:27:18,000 --> 00:27:21,360
management interface

702
00:27:20,240 --> 00:27:22,159
to run

703
00:27:21,360 --> 00:27:24,159
the

704
00:27:22,159 --> 00:27:27,679
standard

705
00:27:24,159 --> 00:27:29,600
containerized workloads as well as your

706
00:27:27,679 --> 00:27:32,720
virtualization workloads whether it is

707
00:27:29,600 --> 00:27:34,799
database or any other

708
00:27:32,720 --> 00:27:37,440
solutions which you think requires more

709
00:27:34,799 --> 00:27:38,880
time to contain rise right

710
00:27:37,440 --> 00:27:41,840
a

711
00:27:38,880 --> 00:27:45,600
slightly more uh architectural overview

712
00:27:41,840 --> 00:27:47,200
you see the cubelet running on nodes

713
00:27:45,600 --> 00:27:50,000
you have the containers running as

714
00:27:47,200 --> 00:27:53,360
sports you have the virtual machine also

715
00:27:50,000 --> 00:27:55,840
created within a port using the

716
00:27:53,360 --> 00:27:58,480
vote launcher right so you have your

717
00:27:55,840 --> 00:28:00,559
master nodes running the api server and

718
00:27:58,480 --> 00:28:03,200
all those okay

719
00:28:00,559 --> 00:28:05,600
so how does the virtualization

720
00:28:03,200 --> 00:28:09,120
capabilities get added to the kubernetes

721
00:28:05,600 --> 00:28:09,120
api it's via the

722
00:28:09,600 --> 00:28:13,919
custom resource definitions or the

723
00:28:11,360 --> 00:28:17,039
operator framework okay so you extend

724
00:28:13,919 --> 00:28:19,039
the kubernetes api to have the virtual

725
00:28:17,039 --> 00:28:20,480
machines virtual machine instances and

726
00:28:19,039 --> 00:28:22,320
all those

727
00:28:20,480 --> 00:28:24,559
resources which

728
00:28:22,320 --> 00:28:25,919
make up the virtual machine management

729
00:28:24,559 --> 00:28:28,480
okay

730
00:28:25,919 --> 00:28:31,039
so a single api to manage

731
00:28:28,480 --> 00:28:33,279
all your workloads okay

732
00:28:31,039 --> 00:28:36,399
so that's where i stop uh

733
00:28:33,279 --> 00:28:37,840
that's my presentation i believe

734
00:28:36,399 --> 00:28:39,679
we have

735
00:28:37,840 --> 00:28:42,159
two minutes yep

736
00:28:39,679 --> 00:28:43,520
yep um we have a couple of little

737
00:28:42,159 --> 00:28:45,600
questions

738
00:28:43,520 --> 00:28:46,640
for free okay uh i'll just go straight

739
00:28:45,600 --> 00:28:48,799
into it

740
00:28:46,640 --> 00:28:51,919
first question is can you

741
00:28:48,799 --> 00:28:53,279
do things with the vms like deployments

742
00:28:51,919 --> 00:28:55,600
like

743
00:28:53,279 --> 00:28:58,640
deploy replicas do rolling updates

744
00:28:55,600 --> 00:29:02,159
things like that

745
00:28:58,640 --> 00:29:05,120
ideally yes uh when i say ideally yes

746
00:29:02,159 --> 00:29:08,640
because it is managed within kubernetes

747
00:29:05,120 --> 00:29:10,960
right you probably could extend uh

748
00:29:08,640 --> 00:29:12,799
virtual machines similar to a port you

749
00:29:10,960 --> 00:29:15,360
can use deployments or deployment

750
00:29:12,799 --> 00:29:18,080
configs for that matter but again it's

751
00:29:15,360 --> 00:29:21,120
easier said than done right rotting

752
00:29:18,080 --> 00:29:23,120
deployments when you say you need to

753
00:29:21,120 --> 00:29:26,399
you would have multiple replicas you

754
00:29:23,120 --> 00:29:27,600
made for the virtual machines to be

755
00:29:26,399 --> 00:29:30,799
scaled out

756
00:29:27,600 --> 00:29:32,240
created wait for the os to come right

757
00:29:30,799 --> 00:29:34,240
remember all the

758
00:29:32,240 --> 00:29:36,480
uh time lapse which you see in the

759
00:29:34,240 --> 00:29:38,840
traditional virtual environment still

760
00:29:36,480 --> 00:29:41,840
exist in

761
00:29:38,840 --> 00:29:43,840
kubernetes managed plane when you

762
00:29:41,840 --> 00:29:44,559
think about vms right

763
00:29:43,840 --> 00:29:47,200
but

764
00:29:44,559 --> 00:29:49,679
your question yes you can do that yeah

765
00:29:47,200 --> 00:29:52,080
so that's one of the benefits

766
00:29:49,679 --> 00:29:54,640
okay uh next question

767
00:29:52,080 --> 00:29:58,240
um our hypervisors other than kvm

768
00:29:54,640 --> 00:30:00,399
supported um i.e firecracker

769
00:29:58,240 --> 00:30:01,440
and no it's all again

770
00:30:00,399 --> 00:30:04,080
okay

771
00:30:01,440 --> 00:30:05,679
and the last question was can you have

772
00:30:04,080 --> 00:30:08,720
multiple

773
00:30:05,679 --> 00:30:11,039
vms behind the service

774
00:30:08,720 --> 00:30:11,039
you say

775
00:30:11,840 --> 00:30:18,080
i'm not sure whether i understood it but

776
00:30:14,399 --> 00:30:20,240
i'm thinking uh multiple keyword vms

777
00:30:18,080 --> 00:30:23,480
behind the server if you are thinking

778
00:30:20,240 --> 00:30:23,480
about service

779
00:30:24,080 --> 00:30:26,960
like kubernetes

780
00:30:28,399 --> 00:30:31,600
uh you're meant to say multiple

781
00:30:30,000 --> 00:30:35,520
kubernetes

782
00:30:31,600 --> 00:30:37,200
control planes i would say no but

783
00:30:35,520 --> 00:30:39,200
yeah that i think that requires more

784
00:30:37,200 --> 00:30:41,440
clarity

785
00:30:39,200 --> 00:30:41,440
okay

786
00:30:41,840 --> 00:30:44,480
okay i think we're out of time we'll

787
00:30:43,440 --> 00:30:47,520
have a chat

788
00:30:44,480 --> 00:30:50,240
we can um go over that one in the chat

789
00:30:47,520 --> 00:30:52,320
and they can clarify the question okay

790
00:30:50,240 --> 00:30:53,679
all right thank you very much very much

791
00:30:52,320 --> 00:30:56,840
richard thank you

792
00:30:53,679 --> 00:30:56,840
thank you

