You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/guides/virtualization/cloud-init/04_advanced_provisioning.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: 4. Advanced provisioning
3
3
author: Wale Soyinka
4
-
contributors: Steven Spencer
4
+
contributors: Steven Spencer, Ganna Zhyrnova
5
5
tags:
6
6
- cloud-init
7
7
- rocky linux
@@ -12,7 +12,7 @@ tags:
12
12
13
13
## Networking and multi-part payloads
14
14
15
-
In the previous chapter, you mastered the core `cloud-init` modules for managing users, packages, and files. You can now build a well-configured server declaratively. Now, it is time to explore more advanced techniques that give you even greater control over your instance's configuration.
15
+
In the previous chapter, you mastered the core `cloud-init` modules for managing users, packages, and files. You can now build a well-configured server declaratively. Now is the time to explore more advanced techniques that give you even greater control over your instance's configuration.
16
16
17
17
This chapter covers two powerful, advanced topics:
18
18
@@ -23,7 +23,7 @@ This chapter covers two powerful, advanced topics:
23
23
24
24
By default, the configuration of most cloud images is to acquire an IP address by DHCP. While convenient, many production environments require servers to have predictable, static IP addresses. The `cloud-init` network configuration system provides a platform-agnostic, declarative way to manage this.
25
25
26
-
The specification of the network configurations is in a separate YAML document from your main `#cloud-config`. `cloud-init` processes both from the same file, using the standard YAML document separator (`---`) to distinguish between them.
26
+
The network configuration is specified in a separate YAML document from your main `#cloud-config`. `cloud-init` processes both from the same file, using the standard YAML document separator (`---`) to distinguish between them.
27
27
28
28
!!! note "How `cloud-init` applies network state"
29
29
@@ -97,7 +97,7 @@ In this exercise, we will configure our virtual machine with a static IP address
97
97
98
98
### Example 2: Multi-interface configuration
99
99
100
-
A common real-world scenario is a server with multiple network interfaces. Here, we will create a VM with two interfaces: `eth0` will use DHCP, and `eth1` will have a static IP.
100
+
A typical real-world scenario is a server with multiple network interfaces. Here, we will create a VM with two interfaces: `eth0` will use DHCP, and `eth1` will have a static IP.
101
101
102
102
1. **Create `user-data.yml` for two interfaces:**
103
103
@@ -135,7 +135,7 @@ A common real-world scenario is a server with multiple network interfaces. Here,
135
135
136
136
## 2. Unifying payloads with multi-part MIME
137
137
138
-
Sometimes, you need to run a setup script *before* the main `#cloud-config` modules execute. MIME multi-part files are the solution, allowing you to bundle different content types into one ordered payload.
138
+
Sometimes, you need to run a setup script *before* the main `#cloud-config` modules execute. MIME multipart files are the solution, allowing you to bundle different content types into a single ordered payload.
139
139
140
140
You can visualize the structure of a MIME file as follows:
141
141
@@ -199,7 +199,7 @@ We will create a multi-part file that first runs a shell script and then proceed
199
199
200
200
!!! note "About the MIME boundary"
201
201
202
-
The boundary string (`//` in this case) is an arbitrary string that must not appear in the content of any part. It is used to separate the different sections of the file.
202
+
The boundary string (`//` in this case) is an arbitrary string that must not appear in the content of any part. It is used to separate the file's sections.
203
203
204
204
2. **Boot and verify:**
205
205
@@ -226,10 +226,10 @@ We will create a multi-part file that first runs a shell script and then proceed
226
226
227
227
!!! tip "Other Multi-Part Content Types"
228
228
229
-
`cloud-init` supports other content types for advanced use cases, such as `text/cloud-boothook` for very early boot scripts or `text/part-handler` for running custom Python code. Refer to the official documentation for more details.
229
+
`cloud-init` supports other content types for advanced use cases, such as `text/cloud-boothook`for very early boot scripts or `text/part-handler`for running custom Python code. Please refer to the official documentation for more details.
230
230
231
231
## What's next
232
232
233
-
You have now learned two powerful, advanced `cloud-init` techniques. You can now define static networks and orchestrate complex provisioning workflows with multi-part user-data.
233
+
You have now learned two powerful, advanced `cloud-init` techniques. You can now define static networks and orchestrate complex provisioning workflows with multi-part userdata.
234
234
235
235
In the next chapter, we will shift our perspective from *consuming*`cloud-init` on a per-instance basis to *customizing its default behavior*for creating your own pre-configured "golden images".
0 commit comments