‫In the middle we've got Joe from Docker.
‫Joe is the director of engineering and he's going to be sharing some really cool new features in the
‫19.03 release of our Desktop Enterprise.
‫So first up we've got Joe he's actually Where are you from today.
‫I forget Indianapolis Indiana Indianapolis.
‫Yes.
‫So he's in the duck the office there right.
‫Yeah that's right.
‫And Joe is gonna talk at best a little bit about clustering.
‫This is a brand new thing in Docker desktop.
‫Well we've never really had a command line interface to create server clusters.
‫And you know before we basically had little tools like Docker machine which would spend up a single
‫instance but this is this is nothing like that right Joe.
‫Right of course.
‫It goes for the next level of additional functionality to sort of take care of the entire lifecycle
‫management of a cluster like we do with containers and services.
‫Yeah.
‫And this from my understanding the history of this was around the DCI that I think I talked a lot about
‫last year the docker certified infrastructure.
‫And this is sort of the evolution of that is that right.
‫Yes.
‫Right.
‫So the first sort of DCI templates and scripts.
‫We we published a lot of good feedback from those and it was largely around.
‫OK.
‫Well I don't want to learn like a whole nother set of tooling and such.
‫I mean thanks for the scripts and templates that would be useful.
‫So we did an internal sort of revision three years to three where we put it all into a container and
‫then we provided just a very simple command line interface to it.
‫And so in this iteration which we call Docker cluster we're providing a declarative syntax to basically
‫model the entire clusters.
‫So you can add subtract nodes load balancers and such.
‫All right.
‫So it really cleans up the entire experience.
‫Great.
‫I know that a lot of us you know once we get past that darker one to one and we learn about building
‫our containers and deploying our images to registries that's one of the next big questions is where
‫do I put it.
‫And I think that along the learning journey as well as those that are just more sysadmin ops like myself
‫where they're focused more on the infrastructure side trying to figure out how to why you know how do
‫I build out clusters of it of advanced solutions that aren't just sort of a basic machine with Docker
‫running right.
‫And I guess that's what this is really focused around right this is more about the enterprise clusters
‫and not so much a one off machine with Docker running on it.
‫Yeah exactly.
‫So Docker machine is the current one offer for Docker running that I would say you should use.
‫We have another tool that we do a lot of.
‫Dr. Khan called Docker job which also uses a lot of these same technology stacks that I've been describing
‫that once we're still working on improving that I think we'll have some pretty exciting announcements
‫in about six months or so.
‫Mm hmm.
‫Cool.
‫Yeah.
‫Here first six months you put it on the internet is forever.
‫So now now we're gonna be back here in six months.
‫Well Joe so I know you have some demos to show and of course you know this everybody is watching so
‫let's let's dive in.
‫What what you got to show us.
‫Sure of course.
‫We also see my screen and you click.
‫Yeah let me click some buttons
‫so yeah you should be able to share your screen and Skype and then I should see that.
‫All right
‫green all right.
‫OK so you know the place where most people start is by running dunker and with 19 3 we added the ability
‫to put CLIA plug ins into Docker itself so you can add additional functionality.
‫So we wrapped up all the functionality from DCI and put it in a tool called a cluster.
‫So if we take a look at the functionality Docker cluster we have you know create create a cluster we
‫can inspect the clusters we have we can list the ones we have some of the key features here.
‫Being able to backup and restore clusters so that you know if something goes wrong you can always get
‫back to a known good state.
‫And then you know over the life cycle of the cluster being able to add nodes removed nodes upgrade from
‫1983 to 1989 or whatever the next iteration will be.
‫And that includes all of our offering as well as DCP DDR just making that whole upgrade experience seamless
‫as possible.
‫So what does one of these declarations look like.
‫Take a look at the script that I have compared to here.
‫So we have you know sort of a high level concept of variables where you can assign values so you can
‫make templates for your for your clusters.
‫And then as you deploy them you can sort of fill out unique values passwords of course we want to keep
‫secret.
‫So we'll make that into our declaration basic configuration to talk to NWS what regionally waiting to
‫deploy and let's add some tags.
‫Doctor we have a tool called Reaper that kills off old clusters.
‫So I have to let it know that this is a pet and it's under the DCI project.
‫So please don't kill it reaper.
‫So then in terms of the cluster we can specify the engine version we're running to provide you C.P.
‫the version we're wanting to install there.
‫In this example just for brevity I'm only going to be installing CPD.
‫Will also could also be installed.
‫But again we don't take all day watching the install go.
‫So then the resource types we can do eight of those instances.
‫We can do a W spotted six requests to save some cash.
‫We can do eight of us load balancers and DNS provisioning directly in here.
‫So we could put a you know if you wanted your apps dot domain dot com we could have that pre provisioned
‫with certificates provided by Let's Encrypt.
‫So really the whole thing of all those different technologies are coming together under the under the
‫hood here with with Dr. cluster.
‫So what you get is you'll get those resources.
‫It will also create what's called the docker context for you.
‫So you can then switch your doctor client to that context and be able to interact with the cluster immediately.
‫So we'll take a break from looking at that and I'll fire up
‫the screen Dr. cluster eight minutes as Tucker and Deb show and call it plus we'll cooperate.
‫So we need to provide our UCB password entering it and securely.
‫So there we go.
‫We'll talk to hub to look up licenses that I have available.
‫We'll start planning the cluster on NWS and then we'll sort of see the slip are going from left to right
‫letting us know that resources are permitting and then cooking show style.
‫We'll take a look at the clusters we have available.
‫And I've already set up a demo one in the background so we can go ahead and take a look at that right
‫now.
‫Doo doo doo doo doo
‫and so there we can see this is when we expect the cluster we basically get a reflection of of the cluster
‫declaration that we've provided to create with in addition to all the different
‫parameters that were had default values they got resolved throughout the operation of the creation.
‫So for instance there are some Cuba and options that got resolved because their defaults.
‫The manager got an instance instantiated for it the instance type was this default instance type that
‫we pick as well as we had choose a..
‫So we chose it into a tool for as the default you can of course set it to any the supported OS as we
‫have on our compatibility matrix or we'll pick a
‫EMI that that works and that's that's known to be supported that's available and then we install everything
‫else on top of that for you.
‫So if you need to bring your own EMI to the cluster we can override this and say the explicit EMI that
‫you need.
‫So that's great.
‫But how do we actually access it.
‫So I mentioned that we have these things called the contexts.
‫So right now I'm talking to the default context that I'm connected to locally on my doctor desktop.
‫But what I want to do is I want to use this demo context which is the one for this cluster.
‫So first just what the default context.
‫We'll take a look and see that I have a couple of containers running.
‫One is the one that's provisioning the cluster in the background.
‫And another is a Vault Server I have running locally.
‫But what we really want to do is take a look at the clusters the context you demo just like that or
‫switch the demo and we can see that by doing a piece and taking a look and see all these wonderful you
‫see containers running.
‫We can also do Doctor info and see that the server is running 33 container let's go all that's supporting
‫information in the cloud and where's all this stored.
‫Is it just in the command line.
‫The inspect.
‫What am I inspecting when you say so.
‫So in the doctor folder we have we have some metadata that we keep in in the background of the set of
‫clusters you have the information for those clusters like your inventory SS age.
‫Keys that we generate for you to just make it all is seamless and simple as possible.
‫And additionally you can take this in and use the underlying tools that we use if you need to migrate
‫to some of the right.
‫Is this something like How would a team.
‫How would a team of ops people use it if it's trying to think as if it's stored locally is there an
‫option for like a remote store or something red.
‫So to do that a remote state stored in this iteration there's not a where we're hard at work defining
‫an API set up.
‫That'll make it easy for someone to share the entire set functionality.
‫Your organization team an individual level.
‫Cool.
‫And what versions of Docker are.
‫Is this capable of deploying.
‫So the ones that we support are Dr. Enterprise 3.0.
‫That's the engine 1983 UCB 3 2 and Tier 2 7.
‫OK.
‫And I'm assuming you specify though I didn't.
‫I missed it in the file but in the end you're specifying that.
‫So like a future version you can you can define which versions.
‫Yeah.
‫So here's the 98 0 3.
‫You can use some additional information here to drill down into a test channel if you're testing one
‫of our betas and you can specify the like let's say you're putting your containers on an internal registry.
‫You could modify this to have your own industry reference to to access.
‫Are you there was a great question actually in chat about basically how would this be different than
‫doing it in puppet or another you know like terraform or something like that is there.
‫An advantage to this method.
‫The primary advantage is that we've already done that work for you so you can just go ahead and start
‫defining your cluster topology but underneath the hood you know very similar tools are being used.
‫I think we're using terraform to create the resources so we're actually building out all those configurations
‫behind the scenes where we built out a set of ethical rules and playbooks to drive that.
‫So from that operate container you can copy out those things and integrate them into your system if
‫necessary.
‫OK very cool.
‫And then you mentioned providers are there.
‫What are the providers you have at lunch right.
‫So at launch we launched with a W S I believe in this next patch release for nineteen thirty two.
‫We'll be including the Azure supported hot on its heels.
‫We'll be working on these sphere to be able to do this as well.
‫All right.
‫What else.
‫So this is what Docker desktop enterprise right.
‫This is enterprise.
‫Well of course this is for deploying server enterprise.
‫So.
‫So it would make more sense for someone who is you know running a desktop enterprise so they get this
‫and this is a command line plug in right.
‫Which we kind of talked a little bit about plug ins yesterday.
‫So if you're unfamiliar with plug ins the plug in model is one where the docker command line now Docker
‫engine is has something called plugins for a while but the command line now has plug ins so that you
‫can add extra functionality and a sneak hint at tomorrow is that we will have some other people on that
‫show you how to make your own command line plugins to do basically whatever you want.
‫And so the docker command line and essentially writing apps or scripts at the command line that have
‫access to the docker functionality without you having to manually create all that all those API calls
‫and stuff like that.
‫So it's pretty neat.
‫So this is taking advantage of that it looks like and the plugins are bundled into the enterprise deliver.
‫So if you are installing the enterprise engine on on a node you can then use that as sort of a jump
‫box to then create the rest of your cluster.
‫Yeah pretty cool.
‫And is this something where if it fails at some point it's sort of you can start where you left off
‫if you just keep rerunning the command kind of thing.
‫Yeah it'll try to refresh its data from the previous run and then match up to the desired state so that
‫you are not building a whole bunch of new clusters.
‫But if you do try to create another cluster like that was up here before and then of course it will
‫try to create another grid.
‫Right.
‫Yeah really cool.
‫Anything else to show us.
‫You know that's one of the highlights I can show you that it's it's us.
‫It makes it so easy that you can create these clusters and get rid of them very quickly.
‫So we just need to like try something now but don't want to pay for the cloud provider fees you know
‫really quick to just say hey Dr. cluster removed the demo and then I'm gonna go through and start tearing
‫it down.
‫So it's is creating everything you need from the BPC to the subnet the security groups to the instances
‫additional storage for your doctor volume like Marla Doctor.
‫It's trying to use the best storage driver we can lump overly too and you know for ECP it'll set everything
‫up that you need for DVR leave and set up like S3 object storage for you.
‫So it works very hard to try to make it as easy as possible to get you know are our best practices in
‫place right.
‫Yeah.
‫That's really cool that that was definitely in line with the goals of the DCI originally.
‫And the reason why I like the idea of the concept a year ago he had so.
‫All right.
‫So I think yesterday we had been on we talked about in case you're interested in Docker desktop enterprise.
‫This is since it is sort of the enterprise side on your on your desktop from the server enterprise stuff
‫the docker enterprise cluster stuff that you're seeing us build here.
‫If you have more questions about how to get get a copy of this or how to get a demo Docker desktop enterprise
‫and stuff like that.
‫Yesterday we talked about reaching out to your existing whoever you're already getting Docker server
‫enterprise.
‫I know it's like call that but that's how we have to distinguish the difference between the desktop
‫and the server but.
‫So if you have if you have server Docker enterprise today then you reach out to have your contact as
‫well that's Docker directly or your partner that you're working with and you can find more out about
‫all the new features in Docker desktop enterprise.