Skip to playerSkip to main content
  • 4 months ago

Category

šŸ¤–
Tech
Transcript
00:00welcome to this lesson on oracle container engine for kubernetes also referred to as
00:09okay let's get started before we dive deeper into oke and look at all its details first let's look
00:16at the difference between virtual machines and containers well in case of virtual machines we
00:21have an hypervisor like an esxi and virtual machines running on on top of the hypervisor
00:28each virtual machine has its own operating system inside it and then the libraries and the
00:34dependencies and the application now in case of containers we have a different kind of a
00:42environment so we have the underlying hardware which is the same as case of virtual machines
00:47and then we have the operating system and then we have what is referred to as a container
00:51runtime like docker installed on the operating system now this container runtime this case
00:57docker manages the containers that run with the libraries and the dependencies alone and of course
01:05the application but there is no operating system inside the the containers now why would we do that
01:11what are the advantages well if you compare with virtual machines in case of vms there is an extra
01:17overhead which causes higher utilization of the underlying resources as there are multiple
01:23virtual machines running here and there are multiple operating systems running here right and they have
01:29their own kernels etc so there is higher utilization here now vms also consume higher disk space as each
01:37vm is heavy and is usually you know gigabytes in size they also take longer to boot up because
01:44every operating system has to boot up here right so those are some of the disadvantages with vms higher
01:49utilization bulkier and take longer to boot up in case of containers because now we took out operating
01:56system from each of these containers here they boot up faster because there is no kind of operating system
02:01boot up time so they boot up usually in matter of seconds compared to minutes for virtual machines and
02:07they're also lightweight usually megabytes in size because the whole operating system here is can be heavy so
02:13that's outside and so they are much faster to boot up and they are much more lightweight so that's the
02:20advantage with uh containers the smaller images etc the thing with containers is the main reason other
02:26than you know these advantages people use containers is because they are portable so you can build your
02:32containers you you have kind of a build file which goes with your image and then you could deploy it
02:37anywhere and the whole development and operations team can work in sync and the portability really
02:43makes containers suitable for building cloud native applications microservices once you create these
02:50containers they need to have connectivity between them they need to talk to each other they also need
02:55to scale up or down based on the load and there are several other things which these containers would
03:00need to do when you once you containerize your applications so how do you deploy them manage them connect
03:07them scale them up and down all this process of automatically deploying and managing containers
03:13is known as container orchestration and kubernetes is an open source system for automating deployment
03:21scaling and management of containerized application so what are some of the advantages well with using
03:27kubernetes you can run containerized applications of any scale with no downtime you can self heal
03:36applications thereby providing resiliency you can auto scale containerized applications ensure
03:43optimal utilization and then this whole orchestration simplifies deployment to a large extent so as you
03:50see here you can use docker to manage and build the containers and then kubernetes basically helps in
03:58orchestration so they can containers can talk to each other you can scale them up and down etc lots of
04:04advanced functionality you could do using a container orchestration system like kubernetes
04:12so what is a container engine for kubernetes or oracle container engine for kubernetes also referred to as
04:18okay well it's a fully managed scalable and highly available kubernetes service it's based on the open source
04:26kubernetes system it has a lot of features for developers like one click cluster creation cli api support and then
04:27support for running these on arm based and gpu based instances and it has a lot of devops advantages there is
04:43auto scaling support there is automatic kubernetes cluster upgrades there is self-healing cluster nodes some of
04:51the things core characteristics of kubernetes all those core characteristics some i have listed here are
04:58supported in this managed environment so how does this work well this is a very advanced topic so i'm
05:04just going to cover it at a very high level for more details you should check out our other courses on devops
05:12and developer so the first thing is you start with nodes a node is a machine on on which kubernetes is
05:20installed they also refer to as worker node worker node is where containers are launched by by kubernetes
05:27so you see these worker nodes here and we group them together and we create what is called as a node pool
05:33you also see this thing called pod here a pod is a group of one or more containers with shared storage
05:40and network resources and a specification file for how to run the containers inside the pod so think
05:46about this as the smallest unit of compute within a managed kubernetes environment so now we have this
05:54let's say this cluster here and cluster of nodes and nodes have parts within them now how do we manage the
06:02cluster how do we schedule the containers how do we manage high availability and this is where the
06:09control plane comes into picture the control plane nodes and the control plane nodes basically manages
06:17the worker nodes and the pods in the cluster as you can see here this control plane nodes is highly
06:24available and it's managed by oracle and the great thing is you don't really pay for this thing it's the
06:30the management is there is no charge for running the control plane nodes now the control plane component
06:36you see a lot of components here kube control manager api server hcd again we are not going to cover all
06:42these in this foundational course but these components make decisions about the cluster for example how to
06:50schedule containers as well as detecting and responding to cluster events scale up scale down
06:56resiliency node failure etc now you see a database like hcd it's a key value store used for kubernetes
07:04to back all the cluster data so stored here and there are lots other components and we have other courses
07:09where we go into a lot more detail than this here but this slide just gives you a quick overview of what
07:15is oracle managed as far as okay is concerned and what is customer managed here the control plane nodes managed
07:22by us oracle and then customers can manage their own worker nodes where actually they are going to run
07:28their containerized application when creating a new cluster with okay you can specify the type of cluster
07:35to create so there are two types of clusters the first one is enhanced clusters they support all available
07:41features and come with a financially backed service level agreement sla on the other hand basic clusters
07:48support core functionality but none of the enhanced uh features they come with a financial with a
07:54service level objective slo but not a financially backed sla like the enhanced cluster so there are
08:01two kinds of clusters you can choose from now when you create a node pool for your kubernetes cluster
08:06you also have two options to create either a virtual node or a managed node so think about virtual nodes
08:14as kind of a serverless option in here the kubernetes software is upgraded security patches are applied
08:21while respecting application availability requirements but it's done by by oracle and you can only create
08:27virtual nodes and virtual node pools in enhanced clusters while on the other hand the managed nodes you
08:36are responsible for managing the nodes and of course you can configure them to meet your requirements but
08:42you are also responsible for upgrading kubernetes on managed nodes one for managing cluster capacity and
08:48unlike virtual nodes you can also create managed nodes in basic clusters as well as enhanced clusters
08:56so in summary if you want a hands-off serverless experience you might prefer virtual nodes on the other
09:03hand if you need more control and flexibility and don't mind some extra management tasks you might prefer
09:10managed nodes so this was just a quick overview of oracle container engine for kubernetes also referred
09:17to as ok and in some of the other advanced courses we go into much more details i hope you found this
09:22lesson useful thanks for your time
09:33you
Comments

Recommended