1
00:00:02,290 --> 00:00:04,450
Do you remember this slide?

2
00:00:04,450 --> 00:00:07,100
It's one of the most important slides

3
00:00:07,100 --> 00:00:10,550
you should keep in mind when you think about Kubernetes

4
00:00:10,550 --> 00:00:13,163
and deploying projects with Kubernetes.

5
00:00:14,120 --> 00:00:16,740
It is important to always keep in mind

6
00:00:16,740 --> 00:00:20,980
that Kubernetes will manage your containers and pods

7
00:00:20,980 --> 00:00:24,130
and scale them and balance incoming traffic

8
00:00:24,130 --> 00:00:28,230
and it allows you to deploy your multi container application

9
00:00:28,230 --> 00:00:32,670
with ease, as you saw throughout the last sections.

10
00:00:32,670 --> 00:00:36,500
But there is one key thing which Kubernetes won't do.

11
00:00:36,500 --> 00:00:40,890
It will not create or spin up any remote machines,

12
00:00:40,890 --> 00:00:43,250
any virtual instances,

13
00:00:43,250 --> 00:00:46,920
it will not create a load balancer for you.

14
00:00:46,920 --> 00:00:50,500
Instead, it will hand these tasks off

15
00:00:50,500 --> 00:00:53,730
to the cluster in which you use it.

16
00:00:53,730 --> 00:00:56,519
And therefore this cluster, the nodes,

17
00:00:56,519 --> 00:01:00,170
the concrete machines which belong to this cluster,

18
00:01:00,170 --> 00:01:02,100
all of that needs to be set up

19
00:01:02,100 --> 00:01:05,700
and Kubernetes needs to be installed on those nodes,

20
00:01:05,700 --> 00:01:09,770
both the control center as well as the worker node parts,

21
00:01:09,770 --> 00:01:13,500
like the kubelets or kube proxy services.

22
00:01:13,500 --> 00:01:15,610
All of that needs to be set up.

23
00:01:15,610 --> 00:01:18,100
And that is why we use Minikube

24
00:01:18,100 --> 00:01:21,940
because Minikube gives us such a dummy cluster

25
00:01:21,940 --> 00:01:24,960
in a virtual machine on our local machine.

26
00:01:24,960 --> 00:01:28,050
So it simulates that we have these nodes

27
00:01:28,050 --> 00:01:30,140
with the software on it.

28
00:01:30,140 --> 00:01:34,650
Now, we wanna do this for real, not on our local machine,

29
00:01:34,650 --> 00:01:37,830
and therefore it's key to understand

30
00:01:37,830 --> 00:01:41,160
that you need to set up the infrastructure

31
00:01:41,160 --> 00:01:43,050
for Kubernetes to run on.

32
00:01:43,050 --> 00:01:46,120
Kubernetes will not do that for you.

33
00:01:46,120 --> 00:01:49,010
And that, of course has implications

34
00:01:49,010 --> 00:01:53,540
on the deployment of Kubernetes' managed projects.

35
00:01:53,540 --> 00:01:58,540
How do you deploy that if it's not on Minikube?

36
00:01:58,640 --> 00:02:02,910
Well, in the end, it all starts with one important choice.

37
00:02:02,910 --> 00:02:06,240
Are you going to use your own data center

38
00:02:06,240 --> 00:02:09,539
or are you going to leverage a cloud provider?

39
00:02:09,539 --> 00:02:12,030
And I would argue, in most cases,

40
00:02:12,030 --> 00:02:14,770
you will probably go for a cloud provider.

41
00:02:14,770 --> 00:02:17,550
If you're going for a custom data center,

42
00:02:17,550 --> 00:02:19,690
then you probably know what you're doing,

43
00:02:19,690 --> 00:02:21,200
or at least you should,

44
00:02:21,200 --> 00:02:23,850
and therefore you will definitely not need

45
00:02:23,850 --> 00:02:26,490
any recommendations from my side.

46
00:02:26,490 --> 00:02:29,440
But having your own data center, your own machines,

47
00:02:29,440 --> 00:02:31,850
which you build and manage on your own,

48
00:02:31,850 --> 00:02:33,950
of course means that you need to install

49
00:02:33,950 --> 00:02:35,930
and set up everything on your own.

50
00:02:35,930 --> 00:02:38,030
The machines, so the computers,

51
00:02:38,030 --> 00:02:41,660
and all the Kubernetes software running on them.

52
00:02:41,660 --> 00:02:44,350
But again, if you do own your own data center,

53
00:02:44,350 --> 00:02:46,253
you probably know what you're doing.

54
00:02:47,380 --> 00:02:49,820
If you go with a cloud provider, however,

55
00:02:49,820 --> 00:02:53,420
you, again, have two choices to make.

56
00:02:53,420 --> 00:02:57,700
You can use the individual low level resources

57
00:02:57,700 --> 00:03:00,200
most cloud providers offered to you

58
00:03:00,200 --> 00:03:04,490
to set up your cluster entirely on your own.

59
00:03:04,490 --> 00:03:08,590
That means you spin up your own virtual instances,

60
00:03:08,590 --> 00:03:11,420
your own machines, through the cloud provider.

61
00:03:11,420 --> 00:03:12,840
And on these machines,

62
00:03:12,840 --> 00:03:16,730
you install and configure all the required software.

63
00:03:16,730 --> 00:03:19,717
For example, if you are working with AWS,

64
00:03:20,650 --> 00:03:23,700
that would mean that you go to their EC2 service,

65
00:03:23,700 --> 00:03:26,930
which allows you to spin up your own instances,

66
00:03:26,930 --> 00:03:29,370
which are just remote machines and the end,

67
00:03:29,370 --> 00:03:32,400
and you create your own EC2 instances,

68
00:03:32,400 --> 00:03:34,040
you launch your own instances,

69
00:03:34,040 --> 00:03:36,390
which are just computers you manage,

70
00:03:36,390 --> 00:03:39,880
and then you SSH into these instances.

71
00:03:39,880 --> 00:03:42,210
So you connect to them with SSH,

72
00:03:42,210 --> 00:03:45,790
and you then install all the Kubernetes' software

73
00:03:45,790 --> 00:03:48,670
which is required, you create multiple instances,

74
00:03:48,670 --> 00:03:50,550
you create a network for them.

75
00:03:50,550 --> 00:03:54,100
And these are all things you can do with AWS.

76
00:03:54,100 --> 00:03:58,080
And you do that all on your own. That's one option.

77
00:03:58,080 --> 00:04:00,220
You can either do that manually,

78
00:04:00,220 --> 00:04:04,020
or leverage tools like Kops,

79
00:04:04,020 --> 00:04:07,120
which is, well, a tool, a service,

80
00:04:07,120 --> 00:04:10,120
you can use to have an easier time

81
00:04:10,120 --> 00:04:12,840
setting up all these AWS resources

82
00:04:12,840 --> 00:04:15,120
which you need for Kubernetes.

83
00:04:15,120 --> 00:04:17,470
And it does not just work for AWS

84
00:04:17,470 --> 00:04:20,120
but also for other providers.

85
00:04:20,120 --> 00:04:22,880
And that will then actually make it way easier for you

86
00:04:22,880 --> 00:04:26,600
to manage that cluster and the resources needed for it

87
00:04:26,600 --> 00:04:30,340
because then you have some tool, in addition to Kubernetes,

88
00:04:30,340 --> 00:04:34,470
which handles this cluster orchestration.

89
00:04:34,470 --> 00:04:37,690
However, if you wanna have an even easier time,

90
00:04:37,690 --> 00:04:41,340
you can go for a managed service right away.

91
00:04:41,340 --> 00:04:43,430
The difference being that there

92
00:04:43,430 --> 00:04:47,030
you just define your general cluster architecture,

93
00:04:47,030 --> 00:04:50,350
for example in some Graphical User Interface,

94
00:04:50,350 --> 00:04:53,000
and then this managed service

95
00:04:53,000 --> 00:04:55,760
will spin up all the required machines,

96
00:04:55,760 --> 00:04:58,410
install all the required software

97
00:04:58,410 --> 00:05:00,523
and set up the required network.

98
00:05:01,390 --> 00:05:04,150
That would then happen automatically,

99
00:05:04,150 --> 00:05:06,510
and that, therefore, of course, ensures that

100
00:05:06,510 --> 00:05:10,520
you don't have to worry about the technical infrastructure

101
00:05:10,520 --> 00:05:14,030
and the steps to set that all up correctly,

102
00:05:14,030 --> 00:05:16,850
but instead you just get your Kubernetes environment

103
00:05:16,850 --> 00:05:17,683
in the cloud,

104
00:05:17,683 --> 00:05:21,250
and you can then apply your Kubernetes configuration

105
00:05:21,250 --> 00:05:23,730
to that infrastructure.

106
00:05:23,730 --> 00:05:27,090
And there are services like AWS EKS,

107
00:05:27,090 --> 00:05:32,090
which stands for Elastic Kubernetes Service, can help you.

108
00:05:32,450 --> 00:05:37,370
And indeed, in this module we are going to use AWS EKS

109
00:05:37,370 --> 00:05:40,903
for deploying our Kubernetes cluster with these.

