Skip to content

Commit b737c5c

Browse files
committed
Update tutorials: add shared nginx-configmap, remove ARM vs Intel config explanation
1 parent 6acf3c0 commit b737c5c

2 files changed

Lines changed: 11 additions & 23 deletions

File tree

content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/deploy-arm.md

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,8 @@ layout: learningpathall
1010

1111
In this section, you'll add nginx on ARM nodes to your existing cluster, completing your multi-architecture Intel/ARM environment for comprehensive performance comparison.
1212

13-
### A quick note on Arm vs Intel nginx configurations
14-
15-
The only difference between the Arm and Intel nginx configs is the presence of these two lines in the Arm config:
16-
17-
```output
18-
worker_processes 2
19-
worker_cpu_affinity 01 10
20-
```
21-
22-
Why are they there? ARM's physical cores operate most efficiently when each has a dedicated worker thread with no interruptions. Intel's hyperthreaded cores work best when threads can flexibly be assigned across logical cores.
23-
24-
Nginx on Arm performs optimally when these values are explicitly set. Intel performs best when these two values are left at *auto*, which is the default in the Intel-version of the nginx configuration.
25-
26-
## Continuing with Arm K8s Configuration
27-
2813
When applied, the **arm_nginx.yaml** file creates the following K8s objects:
29-
- **ConfigMap** (`nginx-arm-config`) - Contains performance-optimized nginx configuration with ARM-specific tuning
30-
- **Deployment** (`nginx-arm-deployment`) - Pulls the multi-architecture nginx image from DockerHub, launches a pod on the ARM node, and mounts the ConfigMap as `/etc/nginx/nginx.conf`
14+
- **Deployment** (`nginx-arm-deployment`) - Pulls the multi-architecture nginx image from DockerHub, launches a pod on the ARM node, and mounts the shared ConfigMap as `/etc/nginx/nginx.conf`
3115
- **Service** (`nginx-arm-svc`) - Load balancer targeting pods with both `app: nginx-multiarch` and `arch: arm` labels
3216

3317
Copy and paste the following commands into a terminal to download and apply the ARM deployment and service:

content/learning-paths/servers-and-cloud-computing/multiarch_nginx_on_aks/deploy-intel.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,26 @@ layout: learningpathall
1010

1111
In this section, you'll add a new namespace, deployment, and service for nginx on Intel. The end result will be a K8s cluster running nginx accessible via the Internet through a load balancer.
1212

13-
To better understand the individual components, the configuration is split into two files:
13+
To better understand the individual components, the configuration is split into three files:
1414

1515
1. **namespace.yaml** - Creates a new namespace called `nginx`, which contains all your K8s nginx objects
1616

17-
2. **intel_nginx.yaml** - Creates the following K8s objects:
18-
- **ConfigMap** (`nginx-intel-config`) - Contains performance-optimized nginx configuration
19-
- **Deployment** (`nginx-intel-deployment`) - Pulls a multi-architecture [nginx image](https://hub.docker.com/_/nginx) from DockerHub, launches a pod on the Intel node, and mounts the ConfigMap as `/etc/nginx/nginx.conf`
17+
2. **nginx-configmap.yaml** - Creates a shared ConfigMap (`nginx-config`) containing performance-optimized nginx configuration used by both Intel and ARM deployments
18+
19+
3. **intel_nginx.yaml** - Creates the following K8s objects:
20+
- **Deployment** (`nginx-intel-deployment`) - Pulls a multi-architecture [nginx image](https://hub.docker.com/_/nginx) from DockerHub, launches a pod on the Intel node, and mounts the shared ConfigMap as `/etc/nginx/nginx.conf`
2021
- **Service** (`nginx-intel-svc`) - Load balancer targeting pods with both `app: nginx-multiarch` and `arch: intel` labels
2122

2223

23-
The following commands download, create, and apply the namespace and Intel nginx deployment and service configuration:
24+
The following commands download, create, and apply the namespace, ConfigMap, and Intel nginx deployment and service configuration:
2425

2526
```bash
2627
curl -o namespace.yaml https://raw.githubusercontent.com/geremyCohen/nginxOnAKS/refs/heads/main/namespace.yaml
2728
kubectl apply -f namespace.yaml
2829

30+
curl -o nginx-configmap.yaml https://raw.githubusercontent.com/geremyCohen/nginxOnAKS/refs/heads/main/nginx-configmap.yaml
31+
kubectl apply -f nginx-configmap.yaml
32+
2933
curl -o intel_nginx.yaml https://raw.githubusercontent.com/geremyCohen/nginxOnAKS/refs/heads/main/intel_nginx.yaml
3034
kubectl apply -f intel_nginx.yaml
3135

@@ -35,7 +39,7 @@ You will see output similar to:
3539

3640
```output
3741
namespace/nginx created
38-
configmap/nginx-intel-config created
42+
configmap/nginx-config created
3943
deployment.apps/nginx-intel-deployment created
4044
service/nginx-intel-svc created
4145
```

0 commit comments

Comments
 (0)