In the middle we've got Joe from Docker. 1
Joe is the director of engineering and he's going to be sharing some really cool new features in the 2
19.03 release of our Desktop Enterprise. 3
So first up we've got Joe he's actually Where are you from today. 4
I forget Indianapolis Indiana Indianapolis. 5
Yes. 6
So he's in the duck the office there right. 7
Yeah that's right. 8
And Joe is gonna talk at best a little bit about clustering. 9
This is a brand new thing in Docker desktop. 10
Well we've never really had a command line interface to create server clusters. 11
And you know before we basically had little tools like Docker machine which would spend up a single 12
instance but this is this is nothing like that right Joe. 13
Right of course. 14
It goes for the next level of additional functionality to sort of take care of the entire lifecycle 15
management of a cluster like we do with containers and services. 16
Yeah. 17
And this from my understanding the history of this was around the DCI that I think I talked a lot about 18
last year the docker certified infrastructure. 19
And this is sort of the evolution of that is that right. 20
Yes. 21
Right. 22
So the first sort of DCI templates and scripts. 23
We we published a lot of good feedback from those and it was largely around. 24
OK. 25
Well I don't want to learn like a whole nother set of tooling and such. 26
I mean thanks for the scripts and templates that would be useful. 27
So we did an internal sort of revision three years to three where we put it all into a container and 28
then we provided just a very simple command line interface to it. 29
And so in this iteration which we call Docker cluster we're providing a declarative syntax to basically 30
model the entire clusters. 31
So you can add subtract nodes load balancers and such. 32
All right. 33
So it really cleans up the entire experience. 34
Great. 35
I know that a lot of us you know once we get past that darker one to one and we learn about building 36
our containers and deploying our images to registries that's one of the next big questions is where 37
do I put it. 38
And I think that along the learning journey as well as those that are just more sysadmin ops like myself 39
where they're focused more on the infrastructure side trying to figure out how to why you know how do 40
I build out clusters of it of advanced solutions that aren't just sort of a basic machine with Docker 41
running right. 42
And I guess that's what this is really focused around right this is more about the enterprise clusters 43
and not so much a one off machine with Docker running on it. 44
Yeah exactly. 45
So Docker machine is the current one offer for Docker running that I would say you should use. 46
We have another tool that we do a lot of. 47
Dr. Khan called Docker job which also uses a lot of these same technology stacks that I've been describing 48
that once we're still working on improving that I think we'll have some pretty exciting announcements 49
in about six months or so. 50
Mm hmm. 51
Cool. 52
Yeah. 53
Here first six months you put it on the internet is forever. 54
So now now we're gonna be back here in six months. 55
Well Joe so I know you have some demos to show and of course you know this everybody is watching so 56
let's let's dive in. 57
What what you got to show us. 58
Sure of course. 59
We also see my screen and you click. 60
Yeah let me click some buttons 61
so yeah you should be able to share your screen and Skype and then I should see that. 62
All right 63
green all right. 64
OK so you know the place where most people start is by running dunker and with 19 3 we added the ability 65
to put CLIA plug ins into Docker itself so you can add additional functionality. 66
So we wrapped up all the functionality from DCI and put it in a tool called a cluster. 67
So if we take a look at the functionality Docker cluster we have you know create create a cluster we 68
can inspect the clusters we have we can list the ones we have some of the key features here. 69
Being able to backup and restore clusters so that you know if something goes wrong you can always get 70
back to a known good state. 71
And then you know over the life cycle of the cluster being able to add nodes removed nodes upgrade from 72
1983 to 1989 or whatever the next iteration will be. 73
And that includes all of our offering as well as DCP DDR just making that whole upgrade experience seamless 74
as possible. 75
So what does one of these declarations look like. 76
Take a look at the script that I have compared to here. 77
So we have you know sort of a high level concept of variables where you can assign values so you can 78
make templates for your for your clusters. 79
And then as you deploy them you can sort of fill out unique values passwords of course we want to keep 80
secret. 81
So we'll make that into our declaration basic configuration to talk to NWS what regionally waiting to 82
deploy and let's add some tags. 83
Doctor we have a tool called Reaper that kills off old clusters. 84
So I have to let it know that this is a pet and it's under the DCI project. 85
So please don't kill it reaper. 86
So then in terms of the cluster we can specify the engine version we're running to provide you C.P. 87
the version we're wanting to install there. 88
In this example just for brevity I'm only going to be installing CPD. 89
Will also could also be installed. 90
But again we don't take all day watching the install go. 91
So then the resource types we can do eight of those instances. 92
We can do a W spotted six requests to save some cash. 93
We can do eight of us load balancers and DNS provisioning directly in here. 94
So we could put a you know if you wanted your apps dot domain dot com we could have that pre provisioned 95
with certificates provided by Let's Encrypt. 96
So really the whole thing of all those different technologies are coming together under the under the 97
hood here with with Dr. cluster. 98
So what you get is you'll get those resources. 99
It will also create what's called the docker context for you. 100
So you can then switch your doctor client to that context and be able to interact with the cluster immediately. 101
So we'll take a break from looking at that and I'll fire up 102
the screen Dr. cluster eight minutes as Tucker and Deb show and call it plus we'll cooperate. 103
So we need to provide our UCB password entering it and securely. 104
So there we go. 105
We'll talk to hub to look up licenses that I have available. 106
We'll start planning the cluster on NWS and then we'll sort of see the slip are going from left to right 107
letting us know that resources are permitting and then cooking show style. 108
We'll take a look at the clusters we have available. 109
And I've already set up a demo one in the background so we can go ahead and take a look at that right 110
now. 111
Doo doo doo doo doo 112
and so there we can see this is when we expect the cluster we basically get a reflection of of the cluster 113
declaration that we've provided to create with in addition to all the different 114
parameters that were had default values they got resolved throughout the operation of the creation. 115
So for instance there are some Cuba and options that got resolved because their defaults. 116
The manager got an instance instantiated for it the instance type was this default instance type that 117
we pick as well as we had choose a.. 118
So we chose it into a tool for as the default you can of course set it to any the supported OS as we 119
have on our compatibility matrix or we'll pick a 120
EMI that that works and that's that's known to be supported that's available and then we install everything 121
else on top of that for you. 122
So if you need to bring your own EMI to the cluster we can override this and say the explicit EMI that 123
you need. 124
So that's great. 125
But how do we actually access it. 126
So I mentioned that we have these things called the contexts. 127
So right now I'm talking to the default context that I'm connected to locally on my doctor desktop. 128
But what I want to do is I want to use this demo context which is the one for this cluster. 129
So first just what the default context. 130
We'll take a look and see that I have a couple of containers running. 131
One is the one that's provisioning the cluster in the background. 132
And another is a Vault Server I have running locally. 133
But what we really want to do is take a look at the clusters the context you demo just like that or 134
switch the demo and we can see that by doing a piece and taking a look and see all these wonderful you 135
see containers running. 136
We can also do Doctor info and see that the server is running 33 container let's go all that's supporting 137
information in the cloud and where's all this stored. 138
Is it just in the command line. 139
The inspect. 140
What am I inspecting when you say so. 141
So in the doctor folder we have we have some metadata that we keep in in the background of the set of 142
clusters you have the information for those clusters like your inventory SS age. 143
Keys that we generate for you to just make it all is seamless and simple as possible. 144
And additionally you can take this in and use the underlying tools that we use if you need to migrate 145
to some of the right. 146
Is this something like How would a team. 147
How would a team of ops people use it if it's trying to think as if it's stored locally is there an 148
option for like a remote store or something red. 149
So to do that a remote state stored in this iteration there's not a where we're hard at work defining 150
an API set up. 151
That'll make it easy for someone to share the entire set functionality. 152
Your organization team an individual level. 153
Cool. 154
And what versions of Docker are. 155
Is this capable of deploying. 156
So the ones that we support are Dr. Enterprise 3.0. 157
That's the engine 1983 UCB 3 2 and Tier 2 7. 158
OK. 159
And I'm assuming you specify though I didn't. 160
I missed it in the file but in the end you're specifying that. 161
So like a future version you can you can define which versions. 162
Yeah. 163
So here's the 98 0 3. 164
You can use some additional information here to drill down into a test channel if you're testing one 165
of our betas and you can specify the like let's say you're putting your containers on an internal registry. 166
You could modify this to have your own industry reference to to access. 167
Are you there was a great question actually in chat about basically how would this be different than 168
doing it in puppet or another you know like terraform or something like that is there. 169
An advantage to this method. 170
The primary advantage is that we've already done that work for you so you can just go ahead and start 171
defining your cluster topology but underneath the hood you know very similar tools are being used. 172
I think we're using terraform to create the resources so we're actually building out all those configurations 173
behind the scenes where we built out a set of ethical rules and playbooks to drive that. 174
So from that operate container you can copy out those things and integrate them into your system if 175
necessary. 176
OK very cool. 177
And then you mentioned providers are there. 178
What are the providers you have at lunch right. 179
So at launch we launched with a W S I believe in this next patch release for nineteen thirty two. 180
We'll be including the Azure supported hot on its heels. 181
We'll be working on these sphere to be able to do this as well. 182
All right. 183
What else. 184
So this is what Docker desktop enterprise right. 185
This is enterprise. 186
Well of course this is for deploying server enterprise. 187
So. 188
So it would make more sense for someone who is you know running a desktop enterprise so they get this 189
and this is a command line plug in right. 190
Which we kind of talked a little bit about plug ins yesterday. 191
So if you're unfamiliar with plug ins the plug in model is one where the docker command line now Docker 192
engine is has something called plugins for a while but the command line now has plug ins so that you 193
can add extra functionality and a sneak hint at tomorrow is that we will have some other people on that 194
show you how to make your own command line plugins to do basically whatever you want. 195
And so the docker command line and essentially writing apps or scripts at the command line that have 196
access to the docker functionality without you having to manually create all that all those API calls 197
and stuff like that. 198
So it's pretty neat. 199
So this is taking advantage of that it looks like and the plugins are bundled into the enterprise deliver. 200
So if you are installing the enterprise engine on on a node you can then use that as sort of a jump 201
box to then create the rest of your cluster. 202
Yeah pretty cool. 203
And is this something where if it fails at some point it's sort of you can start where you left off 204
if you just keep rerunning the command kind of thing. 205
Yeah it'll try to refresh its data from the previous run and then match up to the desired state so that 206
you are not building a whole bunch of new clusters. 207
But if you do try to create another cluster like that was up here before and then of course it will 208
try to create another grid. 209
Right. 210
Right. 211
Yeah really cool. 212
Anything else to show us. 213
You know that's one of the highlights I can show you that it's it's us. 214
It makes it so easy that you can create these clusters and get rid of them very quickly. 215
So we just need to like try something now but don't want to pay for the cloud provider fees you know 216
really quick to just say hey Dr. cluster removed the demo and then I'm gonna go through and start tearing 217
it down. 218
So it's is creating everything you need from the BPC to the subnet the security groups to the instances 219
additional storage for your doctor volume like Marla Doctor. 220
It's trying to use the best storage driver we can lump overly too and you know for ECP it'll set everything 221
up that you need for DVR leave and set up like S3 object storage for you. 222
So it works very hard to try to make it as easy as possible to get you know are our best practices in 223
place right. 224
Yeah. 225
That's really cool that that was definitely in line with the goals of the DCI originally. 226
And the reason why I like the idea of the concept a year ago he had so. 227
All right. 228
So I think yesterday we had been on we talked about in case you're interested in Docker desktop enterprise. 229
This is since it is sort of the enterprise side on your on your desktop from the server enterprise stuff 230
the docker enterprise cluster stuff that you're seeing us build here. 231
If you have more questions about how to get get a copy of this or how to get a demo Docker desktop enterprise 232
and stuff like that. 233
Yesterday we talked about reaching out to your existing whoever you're already getting Docker server 234
enterprise. 235
I know it's like call that but that's how we have to distinguish the difference between the desktop 236
and the server but. 237
So if you have if you have server Docker enterprise today then you reach out to have your contact as 238
well that's Docker directly or your partner that you're working with and you can find more out about 239
all the new features in Docker desktop enterprise.