1 00:00:02,980 --> 00:00:05,940 ‫Kubernetes is a popular container orchestrator. 2 00:00:06,550 --> 00:00:09,189 ‫Let's go back to the original definition from previous 3 00:00:09,190 --> 00:00:11,297 ‫sections on what orchestration is, at least 4 00:00:12,310 --> 00:00:13,690 ‫when it refers to containers. 5 00:00:14,440 --> 00:00:17,409 ‫All an orchestrator is, is it's taking your 6 00:00:17,410 --> 00:00:20,529 ‫containers that you ask it to run, and it's 7 00:00:20,650 --> 00:00:23,350 ‫taking a series of servers, or nodes, 8 00:00:23,800 --> 00:00:26,680 ‫and deciding how to run those container workloads 9 00:00:26,770 --> 00:00:28,209 ‫across those nodes. 10 00:00:29,580 --> 00:00:32,649 ‫Kubernetes was an orchestrator, one of many, 11 00:00:32,980 --> 00:00:36,009 ‫that was released in 2015 by Google. 12 00:00:36,310 --> 00:00:39,069 ‫It's now maintained by an open source community, 13 00:00:39,520 --> 00:00:41,559 ‫around the world, that Google is a part of. 14 00:00:42,130 --> 00:00:45,220 ‫If you wonder what Kubernetes is doing, or 15 00:00:45,250 --> 00:00:48,850 ‫how it's related to Docker, Kubernetes essentially 16 00:00:49,270 --> 00:00:52,299 ‫is a set of APIs that run 17 00:00:52,330 --> 00:00:55,299 ‫on apps in containers to manage a set of servers 18 00:00:55,690 --> 00:00:58,915 ‫and then execute your containers on Docker, 19 00:00:59,050 --> 00:01:01,862 ‫by default. It can run other container runtimes 20 00:01:02,380 --> 00:01:04,119 ‫that aren't Docker, like containerd. 21 00:01:05,050 --> 00:01:08,209 ‫By default, right now, it runs on top of Docker. 22 00:01:08,230 --> 00:01:11,290 ‫So, it's not getting rid of your container runtime. 23 00:01:11,590 --> 00:01:14,589 ‫It's just a series of containers on top of that 24 00:01:14,950 --> 00:01:17,949 ‫that manage the multi-node system that it's 25 00:01:17,980 --> 00:01:18,980 ‫controlling. 26 00:01:19,450 --> 00:01:22,171 ‫Then, it gives you a set of those APIs 27 00:01:22,630 --> 00:01:26,020 ‫and command line tools to deploy 28 00:01:26,050 --> 00:01:29,079 ‫and maintain the same server infrastructure 29 00:01:29,290 --> 00:01:30,849 ‫that you would have similar to Swarm. 30 00:01:31,240 --> 00:01:33,849 ‫Before in this course, you've been using the Docker command 31 00:01:33,850 --> 00:01:34,850 ‫a lot. 32 00:01:35,560 --> 00:01:38,230 ‫In Kubernetes, one of the main tools you will be using is 33 00:01:39,100 --> 00:01:40,932 ‫kube control, or kubectl. 34 00:01:41,870 --> 00:01:43,809 ‫If you've heard other people refer to that tool as 35 00:01:43,810 --> 00:01:47,349 ‫something else, like kube control, or kube cuddle, 36 00:01:47,650 --> 00:01:50,019 ‫or koob control, these are all different names. 37 00:01:50,020 --> 00:01:52,989 ‫But now that we have a standard naming 38 00:01:53,080 --> 00:01:56,080 ‫from the official repo, it is called 39 00:01:56,530 --> 00:01:57,530 ‫kube control. 40 00:01:58,420 --> 00:02:01,209 ‫When it comes to Kubernetes and how do you get it, 41 00:02:01,900 --> 00:02:03,819 ‫there's tons and tons of options out there. 42 00:02:04,060 --> 00:02:06,063 ‫The most common ways you're going to use Kubernetes 43 00:02:07,030 --> 00:02:09,729 ‫is one, from a cloud vendor, 44 00:02:10,060 --> 00:02:13,390 ‫that is going to provide you Kubernetes as a service 45 00:02:13,690 --> 00:02:15,729 ‫to run your containers. Much like their other cloud 46 00:02:15,730 --> 00:02:18,459 ‫services, they will provide you the Kubernetes 47 00:02:19,060 --> 00:02:21,314 ‫endpoints, the API, that you can use the tools 48 00:02:22,180 --> 00:02:24,532 ‫locally, or GUIs that maybe they have built into 49 00:02:25,270 --> 00:02:28,269 ‫their cloud interface, to deploy and maintain 50 00:02:28,540 --> 00:02:30,610 ‫your Kubernetes controlled containers. 51 00:02:31,480 --> 00:02:34,839 ‫Then, there are other vendors, most of them infrastructure 52 00:02:34,840 --> 00:02:37,192 ‫vendors, that package up their own Kubernetes as 53 00:02:37,840 --> 00:02:41,020 ‫well. We're going to call these distributions 54 00:02:41,200 --> 00:02:44,229 ‫of Kubernetes, similar to the concept of Linux 55 00:02:44,260 --> 00:02:47,559 ‫distributions. In the Linux world, there's the same 56 00:02:47,950 --> 00:02:51,280 ‫Linux kernel running on all these different distributions. 57 00:02:51,550 --> 00:02:53,680 ‫Those kernels are sometimes built a little bit different, 58 00:02:53,710 --> 00:02:56,319 ‫or different versions, but they're fundamentally the same. 59 00:02:56,710 --> 00:02:59,342 ‫Then, the distributions, whether it's Ubuntu, or CentOS, 60 00:03:00,190 --> 00:03:01,809 ‫or Amazon Linux. 61 00:03:02,020 --> 00:03:04,599 ‫All these different distributions package up their own set 62 00:03:04,600 --> 00:03:07,629 ‫of tools that a lot of us prefer one or the other 63 00:03:07,630 --> 00:03:10,427 ‫because of. That's the same way with Kubernetes now. 64 00:03:10,494 --> 00:03:13,309 ‫Whether it's cloud or on-prem 65 00:03:13,810 --> 00:03:16,020 ‫data center distributions of Kubernetes, 66 00:03:16,910 --> 00:03:19,752 ‫you're going to pick one based on your requirements, based 67 00:03:19,810 --> 00:03:22,309 ‫on existing vendor contracts, or your preference on 68 00:03:22,690 --> 00:03:24,550 ‫operating system or vendors. 69 00:03:24,850 --> 00:03:26,289 ‫There's lots of reasons to do that. 70 00:03:26,530 --> 00:03:29,530 ‫But, all of those are providing a what we call 71 00:03:29,650 --> 00:03:31,316 ‫upstream version of the pure, open 72 00:03:32,800 --> 00:03:35,979 ‫source Kubernetes. Then they layer on top of it all 73 00:03:35,980 --> 00:03:38,229 ‫their own extra stuff to your benefit.