♪ [music] ♪
- [Robb] Containers exploded onto the scene with Docker and they've been
growing fast. Container technology promises to improve IT operations
through cloud-native applications that run seamlessly on physical and
virtual infrastructure. Now, containerized applications have all
their needed services bundled up and portable. That way, they can spin up and
down as needed. And we have orchestration tools like Kubernetes,
which handle scheduling for container clusters and management for workloads.
But containers have not crossed into mainstream adoption. So, Lauren,
why is this?
- [Lauren] Well, a Container has everything it needs to run an application,
such as an Apache web server. It uses the underlying OS kernel from the
server where it resides. So it's really lightweight and meant
for scalability, and more containers are added and removed as necessary.
And while it's possible to do this manually, mistakes are easy to make.
So container orchestration tools have stepped in to cover this.
And Kubernetes has become the front-runner, of basic architecture.
It's a little like an SDN. There are masters, more than one
for redundancy, that act as the controller for the whole cluster.
The master spin-up nodes, which make up the cloud-native
applications that drive your business. Now, conceptually, this is easy.
But since Kubernetes is open source, there are literally dozens of projects
just to enable you to do things with container networking,
or security, storage. Today, we introduced the Cisco
container platform, a turnkey solution that simplifies the entire lifecycle
management of clusters. Suhail will be here to show us how apps
are spun up and down, how it scales. First, however, Kiran joins Robb in the
lounge to kick us off.
- Many of the technologies powering containers are open source.
Kiran, welcome to TechWiseTV. Let's start with anyone that may not be
that familiar with containers. How do you define them?
- [Kiran] Containers are a lightweight abstraction for packaging applications
along with the dependencies. So compare them to virtual machines.
A virtual machine has a copy of the guest operating system, the application,
and all the libraries that the applications need packaged together.
With containers, you don't have a copy of the guest operating system.
It's just the application and the libraries and the dependencies that
it needs. So that makes it very lightweight. You can easily, therefore,
start it up, down. It consumes a lot less memory because it doesn't have the
operating system to go with it. What that means, from a
DevOps perspective, is two things. Number one is agility and
number two, scale. Like, you can go from dev to test to production
rollouts very, very quickly. You can have multiple rollouts
to production every hour, if you want, compared to weeks of waiting in the
virtual machine scenario in the past. Secondly, you can scale bits and pieces
of the application. You now start thinking of designing application not in a
monolithic way, but in more of a microservices based way.
So you can selectively scale a specific service that the application needs.
Developers can just focus on that service as opposed to building or worrying
about the rest of the application set.
- So there's that notion of simplicity, lightweight, modularity?
- Yes.
- That has really been an appeal. And as I mentioned, these things
are open-source. They've come from that community. So, just to make sure that
we've got this address right from the get-go, the Cisco container platform,
what is it that Cisco is doing here and how does it play with that?
- Yeah. If an enterprise were to run containers, there's a lot
of infrastructure setup that has to happen to make sure that you can actually start
running your application set. That infrastructure includes setting
up storage, setting up networking, figuring out which operating system
do you use, who am I going to get support from. All of that is now taken care
of in Cisco container platform. It's a turnkey, ready to go, Cisco
TAC supported container platform in a box, so that the customers now just have
to worry about running their applications and not have to worry about setting up the
infrastructure[crosstalk]
- So this starts to speak to the reality of, we've created something really cool
in software environment, but then there becomes the reality of saying, "Hey,
this is something that really is going to help people in production.
It's going to touch customers. It needs to work for big organizations or
just any organization that's now going to depend on it." But you're saying more
elements are then required. So it gets beyond the cool technology.
But as we look at the complexity of containers and using them at scale,
we have things like Kubernetes that Google had come out with. But Kubernetes has been
a very popular open source and we've also hitched our wagon with Kubernetes on the
container platform. Is that correct, those two are part and parcel the same?
- Yes. Kubernetes is an integral component of the Cisco container platform.
- Okay. So if we have Kubernetes and we've got dockerized containers in terms of how
we are building these now to say, "This is the way you should be building
applications to make them more flexible to get the agility that you need,
we can make it turnkey," is that everything? Are we really doing something
unique from the Cisco perspective?
- Yeah. I mean the fact that... So if you think of how much time and
energy one spends, an IT organization spends, in setting up the infrastructure
where you actually run your application sets, think of that as a circle.
Draw a big concentric circle around it. That is the amount of time and energy that
you're spending on the people that are spending actually time setting up storage.
You know, figuring out, "Should I set up distributed storage or
should I use NFS? What networking should I use? What..."
- All those following questions is...
- Exactly.
- ...circling in when the reality begins hitting you.
- Right. And then at the end of the day, who's going to support it?
And the operating system that I'm using there, you know, am I using a supported
operating system? Who am I going to buy support for the operating system for?
All of those questions, you don't have to think about it when
you're using Cisco container platform. Our goal is to abstract that away so that
the customers just get a ready-to-go solution and they just focus on running
application sets. So you kind of, in a way, start treating...
Once you have Cisco container platform set up and ready to go, you start thinking
of it as if it was a Kubernetes that is managed on a public cloud, for example,
but it's just on your premises.
- Interesting. So, speaking of that came from Google, we have a Google partnership.
How does this play with what we're doing with Google and Cisco's overall
cloud strategy?
- Yeah, the overall Google Cisco partnership announcement,
if you were to break down that solution, you could probably break it
down into like three components, three use cases. The first one is, if
an application is running on a public cloud and it wants to access certain
components that are on-premises such as your Oracle database, for example,
then you can go through the Apache product as a service broker to access your Oracle
database on-prem. If you have an application, number two,
running on-premises, that needs to access certain machine
learning capabilities that are available in Google's cloud, then you can go to the
Google Service Fabric to make sure that the app that is running on-prem can
actually access certain features, certain capabilities that are available
on the public cloud site. Number three is, if you want to provide a
consistent experience so that the developers just have to worry
about running the application and the substrate, which is
essentially Kubernetes, enables them to run the application
on public cloud or on-premises with ease, then that's where the Cisco container
platform comes in. It provides that on-prem Kubernetes experience that is very
similar to what they would find in managed public cloud environments, so that now the
developer just has to focus on running the application and the underlying...
The solution, you know, takes care of creating a Kubernetes
experience on-premises tying the network from a...the multiple clouds from a
networking security perspective etc.
- So we are coming out with this on HyperFlex.
Initially, part of the turnkey that obviously encapsulates a lot of things,
makes things very simple because we have a lot of things addressed especially from a
hardware perspective when we talk about how we deploy HyperFlex.
But we've also taken ACI and the networking component into account here
as well, right?
- Yes, absolutely. The first cut of Cisco container platform is going to be
available on HyperFlex. What that solves is the storage part
of the problem, the computing storage now available as part of the
hyper-converged appliance. HyperFlex, if you remember, comes from our spring
path acquisition.
- Exactly. It's a storage. Yeah.
- But that's one part of the puzzle. There's still networking,
the switches and other things that have to be available
in the environment. And with ACI, we've got nice integration as well because
we use the Contiv open source project as part of the Cisco container platform
solution, that makes sure that the networking related policy is around
segmentation, or bandwidth throttling etc., that you set
up on the Contiv side take effect and are implemented by the ACI fabric as well.
- Very, very cool. So, final point that you'd like to make?
- Yeah, I mean, around Cisco container platform, the only thing that...the
takeaway that I would expect the audience to walk away from is that, don't try
to spend a lot of time building the pieces of the puzzle
from an infrastructure perspective. With Cisco container platform,
it's Cisco supported. All of the underlying infrastructure
pieces are taken care of for you. You just focus on running your
applications in a similar manner that you would on public cloud.
- I like that. All right. Thank you so much.
Guys, how simple can we make it? Well, Lauren, looks like is ready in the lab.
Lauren?
- That's right. How simple can we make it?
- [Suhail] Really easy to use. We want to make Kubernetes boring again.
Picking a line from CubeCon.
- Boring again or boring for the first time?
- Boring again. It needs to be simple each and every time IT guy brings it up.
- So it's deploying an OVA, basically. Let's see it.
- Yeah, great. So what I have showing here is vSphere Client running.
I already have loaded the OVA file and I've launched it. I've bootstrapped
the Cisco container platform. We have an IP address here.
I'm going to just go to that IP address. I already clicked into it and this is what
the dashboard looks like. We have a number of clusters
already running, and it's simple. It's clean.
- Yeah, look at that. There's barely anywhere to click.
Deploying OVA is easy. Admins have done it
for years now. Give it a manager of an IP, go to the GUI. I want to create
a cluster, right? How do I do that?
- Great point. So, creating a cluster, it's just one single blue button.
It's as simple as that. And you have a set of steps you have
to go through. Enter in some basic information, network settings,
and the like. So I'm just going to go ahead quickly and start running a
new cluster. I'm going to call it Test3. And we're using Kubespray.
The next step is entering additional information here. Just going to go ahead
and update it. So once we've filled this up, we go to Advanced Settings and we
enter in the username and password. And then you can increase...you can elect
to increase the number of worker nodes here or you leave it the same.
Just leaving it the same.
- And worker nodes are, again, the things that are actually running
the application, right? So it's got the docker, container,
or whatever container, queue proxy, things like that.
- That's right. And OS all to...yes. So, now, we're in the master configuration.
This is where you can also increase the number of master nodes if you choose to.
- These are the Kubernetes masters that are actually the control part of it,
right, of the cluster?
- That's right. And finally, we can review all information we put in.
It looks good. Looks pretty nice. And it'll finish. And in a few seconds,
we shall see it launching. There you go. You can see it working there.
- So the main point of this, right, to make it more turnkey,
to make it easier for operators or IT operations to run so that devs can kind
of do their job of creating applications, right?
- That's right.
- And Kubernetes, containers, in general, are meant to make scaling more easy.
So, how do I do that from this GUI?
- Good point. Let's say you have developers who are getting their
applications ready for Good Friday and they know traffic's coming [crosstalk]
- Black Friday.
- Oh, Black Friday. And they want to scale up really quickly, all you got to do is
just click on the edit button for the right cluster, where your application is
deployed and you just update a number of nodes. I'll make it five.
And just click Save. And you can see the cluster
getting updated.
- Okay. So now that I've created the Kubernetes cluster, how do you go
about creating the actual application or deploying the application?
- Excellent question. So, I'm going to show you a little bit
under the covers here. Here's a command line we had run to launch
an application and we use 'kubectl create'. And it's all simple.
Just launch the yaml file for the application. You can see this application
is called Sock Shop. There's a namespace being created and it's
running through. And once it's done, we're just going to check and see if we've
got all the namespaces up. So we ran a 'kubectl get namespaces' and
we see it's active in the bottom Sock Shop. So now I'm going to go get pods
to see, you know, if it's up and running. And, yes, you see it's running.
- So these are all the actual pods that are running, the worker bees, if you will,
to make sure that all the different microservices are running to...
- That's right.
- ...to do Weavesocks.
- Some of them are actually getting created right now and in a few minutes.
Yep, there we go. They're all up.
- Perfect. All right. So, now...
- What does it look like?
- I have an application, right, up and running.
- So let's go...let's take a look at what the application looks like.
I'm going to go back to this window and I'm going to the same address. And, voila,
that's Socks.
- Well, that's awesome. And I love how turnkey this is,
how to the point, really, the things that operators need to run
the business, run the application.
- That's right.
- Awesome. Thank you so much, Suhail.
- You're welcome.
- The Cisco container platform is built to simplify the entire life cycle and
management of container clusters. Containerized applications built
within this model will ensure you can run them on any cloud. Thanks for watching.
♪ [music] ♪
Your blog is in a convincing manner, thanks for sharing such an information with lots of your effort and time
Trả lờiXóaKubernetes online training
Kubernetes online course