1
00:00:00,000 --> 00:00:11,520
In this video, you'll learn about bootstrapping of cloud hosts and virtual machines.

2
00:00:11,520 --> 00:00:13,400
So what exactly is bootstrapping?

3
00:00:13,400 --> 00:00:17,639
Well, you need to know that cloud instances are not installed, they are deployed from

4
00:00:17,639 --> 00:00:19,020
an image.

5
00:00:19,020 --> 00:00:24,080
And deploying an instance means that the properties that you have defined in cloud are added to

6
00:00:24,080 --> 00:00:28,360
the image, and that is what you call bootstrapping.

7
00:00:28,360 --> 00:00:32,759
Now bootstrapping turns the raw cloud image into a running system.

8
00:00:32,759 --> 00:00:37,160
And in the cloud, the bootstrapping procedure replaces the normal starter procedure of a

9
00:00:37,160 --> 00:00:39,040
system that is installed.

10
00:00:39,040 --> 00:00:42,919
And that is why when you are dealing with Linux in the cloud, you don't deal with grub,

11
00:00:42,919 --> 00:00:43,919
etc.

12
00:00:43,919 --> 00:00:47,680
You deal with boot settings provided by the cloud.

13
00:00:47,680 --> 00:00:50,919
Now typically, the following will happen while you are bootstrapping.

14
00:00:50,919 --> 00:00:57,000
First, instance-specific settings are defined in the cloud and they are injected into the

15
00:00:57,000 --> 00:00:58,000
instance.

16
00:00:58,000 --> 00:01:02,480
Then networking and storage are applied, and updates may be installed, and the instance

17
00:01:02,480 --> 00:01:08,919
may join external systems such as Active Directory or Ansible for configuration management.

18
00:01:08,919 --> 00:01:14,040
Cloud-init is an important component in bootstrapping because it is a common open-source tool that

19
00:01:14,040 --> 00:01:17,519
is used for bootstrapping of cloud instances.

20
00:01:17,519 --> 00:01:22,599
And it uses a configuration file which is typically set in cloud-init.yaml, which injects

21
00:01:22,599 --> 00:01:25,360
specific settings to the instance.

22
00:01:25,360 --> 00:01:30,440
For instance, it sets the hostname, it installs packages, and for an example, you can see

23
00:01:30,440 --> 00:01:35,839
the cloud-init.yaml in the course Git repository at github.com slash Sander van Vugt slash

24
00:01:35,839 --> 00:01:36,839
Linux Plus.

25
00:01:36,839 --> 00:01:39,800
Let's check it out.

26
00:01:39,800 --> 00:01:46,279
So let me git clone the Git repository.

27
00:01:46,279 --> 00:01:50,279
And there you can see an example of a cloud-init.yaml.

28
00:01:50,279 --> 00:01:57,599
Let's install a real editor first.

29
00:01:57,599 --> 00:02:03,199
So as you can see, it defines all the host properties, like the hostname and the FQDN.

30
00:02:03,199 --> 00:02:05,599
And here you can see the network-related settings.

31
00:02:05,599 --> 00:02:08,360
You can see that it should start nginx.

32
00:02:08,360 --> 00:02:13,600
And at the end, you can see that there is a configuration file for nginx.

33
00:02:13,600 --> 00:02:20,080
So that is all, and that will perfectly bootstrap the image for you in the appropriate cloud

34
00:02:20,080 --> 00:02:21,080
context.

