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