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
Update Puppet documentation for GCP: enhance titles, improve clarity, and add summaries for installation, benchmarking, and instance creation sections.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/background.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
-
title: Get started with Puppet
2
+
title: Get started with Arm-based Google Axion and Puppet
3
3
4
4
weight: 2
5
5
6
6
layout: "learningpathall"
7
7
---
8
8
9
-
## Overview
9
+
## Automate and optimize cloud deployments on Arm
10
10
11
11
Modern cloud workloads demand scalable, efficient, and automated infrastructure management. By combining Arm-based Google Axion C4A instances with Puppet, you can take advantage of high-performance, energy-efficient virtual machines and powerful configuration management tools. This section introduces the key technologies you'll use to automate and optimize your cloud deployments on Arm in Google Cloud.
12
12
@@ -22,6 +22,7 @@ To learn more about Google Axion, see the Google blog [Introducing Google Axion
22
22
[Puppet](https://puppet.com/) is an open-source configuration management and automation tool designed to help system administrators and DevOps teams manage infrastructure as code. Developed by [Puppet Labs](https://puppet.com/company/), it automates the provisioning, configuration, and management of servers and services across large-scale environments.
23
23
24
24
Puppet uses a declarative language to define system configurations, ensuring that every machine’s state matches the desired setup described in its manifests. It supports both agent-based and agentless architectures, making it flexible for diverse deployment needs.
25
+
25
26
Known for its scalability, reliability, and idempotent behavior, Puppet continuously enforces configurations, reducing manual effort and configuration drift. It integrates well with major platforms like Linux, Windows, macOS, and cloud providers such as AWS, Azure, and GCP.
26
27
27
28
Common use cases include automating server configuration, applying security policies, software installation, and infrastructure auditing. Puppet is widely used in enterprises for managing hybrid and multi-cloud environments efficiently.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/benchmarking.md
+8-2Lines changed: 8 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ layout: learningpathall
9
9
10
10
## Benchmark Puppet on a GCP SUSE Arm64 VM
11
11
12
-
This guide explains how to perform a Puppet standalone benchmark on a Google Cloud Platform (GCP) SUSE Linux Arm64 VM. It measures Puppet’s local execution performance without requiring a Puppet Master.
12
+
This section walks you through how to perform a Puppet standalone benchmark on a Google Cloud Platform (GCP) SUSE Linux Arm64 VM. It measures Puppet’s local execution performance without requiring a Puppet Master.
13
13
14
14
15
15
## Prerequisites
@@ -40,7 +40,7 @@ notify { 'Benchmark Test':
40
40
}
41
41
```
42
42
43
-
###Explore the code
43
+
## Explore the code
44
44
45
45
Here is a breakdown of the key elements in the `benchmark.pp` manifest to help you understand how Puppet processes and displays information during the benchmark:
46
46
@@ -102,3 +102,9 @@ Confirm that your benchmark output matches the expected metrics for catalog comp
102
102
These benchmark results demonstrate that catalog compilation completed in only 0.01 seconds, highlighting the processing speed of the Arm64 platform. The benchmark ran smoothly in the production environment, and the configuration version was successfully recorded as 1763407825. Catalog application also finished in 0.01 seconds, indicating very low execution latency. The total runtime was 1.054 seconds, which reflects efficient overall performance for Puppet on an Arm64 SUSE VM in Google Cloud Platform.
103
103
104
104
This benchmarking method is useful for validating Puppet performance after migration to Arm64, or when optimizing infrastructure for cost and speed. For more advanced benchmarking, consider automating multiple runs, collecting metrics over time, and comparing results with x86-based VMs to quantify the benefits of Arm64 on GCP.
105
+
106
+
## Summary and next steps
107
+
108
+
You’ve successfully benchmarked Puppet on an Arm64-based SUSE VM in Google Cloud Platform. You created and applied a simple manifest, measured key performance metrics, and interpreted the results to validate Puppet’s efficiency on Arm infrastructure. These steps help ensure your configuration management setup is optimized for speed and reliability on modern cloud platforms.
109
+
110
+
Well done - completing this benchmark gives you a solid foundation for further automation and optimization with Puppet on Arm.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/installation.md
+39-29Lines changed: 39 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,28 @@
1
1
---
2
-
title: Install Puppet
2
+
title: Install Puppet on a GCP VM
3
3
weight: 4
4
4
5
5
### FIXED, DO NOT MODIFY
6
6
layout: learningpathall
7
7
---
8
8
9
-
## Install Puppet on GCP VM
10
-
This walks you through installing Puppet on a Google Cloud Platform (GCP) SUSE Linux arm64 VM. You'll set up all required dependencies, build Ruby from source, and prepare the environment for Puppet automation.
9
+
## Set up your environment and install Puppet
10
+
This section walks you through installing Puppet on a Google Cloud Platform (GCP) SUSE Linux arm64 VM. You'll set up all required dependencies, build Ruby from source, and prepare the environment for Puppet automation.
11
11
12
-
### Install build dependencies and Ruby from source
13
-
Installs all required tools and builds Ruby 3.1.4 from source to ensure compatibility with Puppet.
12
+
## Install dependencies and Ruby
13
+
To get started, you'll install the required development tools and libraries, then build Ruby 3.1.4 from source. This approach prepares your environment for Puppet and helps prevent compatibility problems.
14
+
15
+
To install the necessary packages for Ruby use this command:
Due to changing version dependencies, you may receive a message in the "zypper"
23
-
command above that ncurses-devel is not the correct version. If so, please select the
24
-
option that permits downgrading of the installed ncurses-devel package to the required
25
-
version (normally "Solution 1"), followed by confirmation with "y".
26
-
```
27
-
Then, we will install ruby itself:
21
+
22
+
{{% notice Note %}}If you see a version conflict for `ncurses-devel` during the `zypper` install, choose the option that allows downgrading `ncurses-devel` to the required version (usually "Solution 1"). Confirm the downgrade by entering "y" when prompted. This step can be confusing at first, but it's a common requirement for building Ruby from source on SUSE Linux.{{% /notice %}}
Puppet 8.8.1 version expands official support for Arm and AArch64, with new agent compatibility for AlmaLinux 9 (AARCH64), Rocky Linux 9 (AARCH64), and Ubuntu 24.04 (ARM). The release ensures compatibility with Ruby 3.3 and resolves multiple agent and catalog-related issues. Security is enhanced with an OpenSSL 3.0.14 upgrade, addressing CVE-2024-4603 and CVE-2024-2511 vulnerabilities.
69
-
You can view [this release note](https://help.puppet.com/osp/current/Content/PuppetCore/PuppetReleaseNotes/release_notes_puppet_x-8-8-1.htm)
69
+
-`semantic_puppet` manages Puppet-specific versioning and module dependencies
70
+
-`facter` collects system information, such as operating system, IP address, and hardware details, for Puppet to use
71
+
-`hiera` separates configuration data from Puppet manifests, making your automation setup more flexible
72
+
73
+
These libraries ensure Puppet runs smoothly and can manage your Arm-based SUSE Linux VM effectively.
74
+
75
+
These libraries are required for Puppet to work correctly on your Arm-based GCP VM.
76
+
77
+
78
+
79
+
< notice Note %>Puppet version 8.8.1 introduces expanded support for Arm and AArch64 platforms. This release adds agent compatibility for AlmaLinux 9 (AARCH64), Rocky Linux 9 (AARCH64), and Ubuntu 24.04 (ARM). It works with Ruby 3.3 and fixes several agent and catalog issues. Security is improved with OpenSSL 3.0.14, addressing recent vulnerabilities (CVE-2024-4603 and CVE-2024-2511).</notice%>
70
80
71
-
The [Arm Ecosystem Dashboard](https://developer.arm.com/ecosystem-dashboard/) recommends Puppet version 8.8.1, the minimum recommended on the Arm platforms.
72
-
{{% /notice %}}
81
+
For more information, see the [official Puppet release notes](https://help.puppet.com/osp/current/Content/PuppetCore/PuppetReleaseNotes/release_notes_puppet_x-8-8-1.htm).
73
82
74
-
### Build and install the Puppet gem
75
-
The **Puppet gem** provides the core Puppet framework, including its CLI, manifest parser, and resource management engine.
83
+
The [Arm Ecosystem Dashboard](https://developer.arm.com/ecosystem-dashboard/) recommends Puppet 8.8.1 as the minimum version for Arm platforms.
84
+
## Build and install the Puppet gem
85
+
The Puppet gem provides the core Puppet framework, including its CLI, manifest parser, and resource management engine.
76
86
77
87
Build and install the Puppet 8.10.0 package from source into your Ruby environment.
78
88
@@ -81,7 +91,7 @@ sudo gem build puppet.gemspec
81
91
sudo /usr/local/bin/gem install puppet-8.10.0.gem
82
92
```
83
93
84
-
### Verification
94
+
##Verify Puppet installation
85
95
Confirm Puppet is successfully installed and ready to use on the system.
Copy file name to clipboardExpand all lines: content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/instance.md
+21-18Lines changed: 21 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,32 +11,32 @@ layout: learningpathall
11
11
In this section, you will learn how to provision a Google Axion C4A Arm virtual machine on Google Cloud Platform (GCP) using the `c4a-standard-4` (4 vCPUs, 16 GB memory) machine type in the Google Cloud Console.
12
12
13
13
{{% notice Note %}}
14
-
For support on GCP setup, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).
14
+
If you need help on setting up GCP, see the Learning Path [Getting started with Google Cloud Platform](https://learn.arm.com/learning-paths/servers-and-cloud-computing/csp/google/).
15
15
{{% /notice %}}
16
16
17
-
## Provision a Google Axion C4A Arm VM in Google Cloud Console
17
+
## Provision a Google Axion C4A Arm VM
18
18
19
-
To create a virtual machine based on the C4A instance type:
20
-
-Navigate to the [Google Cloud Console](https://console.cloud.google.com/).
21
-
-Go to **Compute Engine > VM Instances** and select **Create Instance**.
22
-
- Under **Machine configuration**:
23
-
-Populate fields such as **Instance name**, **Region**, and **Zone**.
24
-
-Set **Series**to `C4A`.
25
-
- Select `c4a-standard-4`for machine type.
19
+
To create a virtual machine based on the C4A instance type, start by navigating to the [Google Cloud Console](https://console.cloud.google.com/), and follow these steps:
20
+
-In the Google Cloud Console, go to **Compute Engine > VM Instances** and select **Create Instance**.
21
+
-Under **Machine configuration**, enter the following details:
22
+
-**Instance name**: Choose a unique name for your VM.
23
+
-**Region** and **Zone**: Select the location closest to your users or workloads.
24
+
-**Series**: Set to `C4A` to use Arm-based Axion processors.

27
+

28
28
29
29
30
-
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use**SUSE Linux Enterprise Server**.
31
-
-If using use **SUSE Linux Enterprise Server**. Select "Pay As You Go" for the license type.
- Under **Networking**, enable **Allow HTTP traffic**.
34
-
-Click**Create** to launch the instance.
35
-
-Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
30
+
- Under **OS and storage**, select **Change**, then choose an Arm64-based operating system image. For this Learning Path, select**SUSE Linux Enterprise Server**.
31
+
-For **SUSE Linux Enterprise Server**, select *Pay As You Go* as the license type.
32
+
-After selecting the image and license, select **Select** to confirm your choice.
33
+
- Under **Networking**, enable **Allow HTTP traffic** to permit web access.
34
+
-Select**Create** to launch your VM instance.
35
+
-When the instance is ready, you'll see an **SSH** option next to your VM in the list. Select **SSH**to open a shell session in your browser.
36
36
37
37

38
38
39
-
- A window from your browser should come up and you should now see a shell into your VM instance:
39
+
When you select **SSH**, a new browser window opens with a shell prompt for your VM instance. You now have direct command-line access to your Arm-based VM, ready to run commands and manage your environment.
40
40
41
41

42
42
@@ -45,4 +45,7 @@ To create a virtual machine based on the C4A instance type:
45
45
46
46
You have successfully provisioned a Google Axion C4A Arm virtual machine on Google Cloud Platform using the Console. You selected the Arm64-based SUSE Linux Enterprise Server image, configured networking, and launched your VM. You also connected to your instance using the built-in SSH feature. You now have a running Arm VM on GCP and access to its shell environment.
47
47
48
-
Next, you'll install Puppet on your new instance to automate configuration and management tasks.
48
+
Next, you'll install Puppet on your new instance to automate configuration and management tasks.
0 commit comments