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: labs/lab1/readme.md
+59-57Lines changed: 59 additions & 57 deletions
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ In this lab, you will be adding and configuring the Azure components needed for
8
8
9
9
NGINX aaS for Azure |
10
10
:-------------------------:|
11
-

11
+
|
12
12
13
13
<br/>
14
14
@@ -36,7 +36,6 @@ By the end of the lab you will be able to:
36
36
<br/>
37
37
38
38

39
-
Lab1 Diagram
40
39
41
40
<br/>
42
41
@@ -65,7 +64,7 @@ Lab1 Diagram
65
64
az group create --name s.dutta-workshop --location centralus
66
65
```
67
66
68
-
2. Make sure the new Azure Resource Group has been created by running below command.
67
+
1. Make sure the new Azure Resource Group has been created by running below command.
69
68
70
69
```bash
71
70
az group list -o table | grep workshop
@@ -76,7 +75,6 @@ Lab1 Diagram
76
75
### Setup your Azure Virtual Network, Subnets and Network Security Group
77
76
78
77

79
-
Lab1 Vnet/Subnets
80
78
81
79
You will create an Azure Vnet for this Workshop. Inside of this Vnet are 4 different subnets, representing various backend networks for Azure resources like Nginx for Azure, VMs, and Kubernetes clusters.
> **NOTE:** Within the output json you should have a `"provisioningState": "Succeeded"` field which validates the command successfully provisioned the resource.
228
+
229
229
4. Create a subnet that you will use with NGINX for Azure resource. You will also attach the NSG that you just created to this subnet.
> **NOTE:** Within the output json you should have a `"provisioningState": "Succeeded"` field which validates the command successfully provisioned the resource.
275
+
274
276
5. In similar fashion create three more subnets that would be used with docker virtual machines and AKS clusters in later labs.
> **NOTE:** Within the output json you should have a `"provisioningState": "Succeeded"` field which validates the command successfully provisioned the resource.
352
+
350
353
1. Create a user assigned managed identity that would be tied to the NGINX for Azure resource. This managed identity would be used to read certificates and keys from Azure key vault in later labs.
NGINX as a Service for Azure is a service offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. NGINXaaS for Azure is available in the Azure Marketplace.
464
-
465
-
NGINXaaS for Azure is powered by NGINX Plus, which extends NGINX Open Source with advanced functionality and provides customers with a complete application delivery solution. Initial use cases covered by NGINXaaS include L4 TCP and L7 HTTP load balancing and reverse proxy which can be managed through various Azure management tools. NGINXaaS allows you to provision distinct deployments as per your business or technical requirements.
466
-
467
-
In this section you will be looking at NGINX for Azure resource that you created within Azure portal.
468
-
469
-
1. Open Azure portal within your browser and then open your resource group.
2. Click on your NGINX for Azure resource (nginx4a) which should open the Overview section of your resource. You can see useful information like Status, NGINX for Azure resource's public IP, which Nginx version is running, which vnet/subnet it is using, etc.
473
-

474
-
475
-
3. From the left pane click on `NGINX Configuration`. As you are opening this resource for first time and you do not have any configuration present, Azure will prompt you to "Get started with a Configuration example". Click on `Populate now` button to start with a sample configuration example.
4. Once you click on the `Populate now` button you will see the configuration editor section has been populated with `nginx.conf` and an `index.html` page. Click on the `Submit` button to deploy this sample config files to the NGINX for Azure resource.
479
-

480
-
481
-
5. Once you have submitted the configuration, you can watch its progress in the notification tab present in right top corner. Intially status would be "Updating NGINX configuration" which would change to "Updated NGINX configuration successfully".
6. Navigate back to Overview section and copy the public IP address of NGINX for Azure resource.
485
-
486
-
7. In a new browser window, paste the public IP into the address bar. You will notice the sample index page gets rendered into your browser.
487
-

488
-
489
-
8. This completes the validation of all the resources that you created using Azure CLI. In the upcoming labs you would be modifying the configuration files and exploring various features of NGINX for Azure resources.
490
-
491
-
<br/>
492
-
493
464
### Create Log Analytics workspace to collect NGINX error and Access logs from NGINX for azure
494
465
495
466
In this section you will create a Log Analytics resource that would collect Nginx logs from your Nginx for Azure resource. As this resource takes time to get provisioned and attached to NGINX for Azure resource, you are building it up here.
496
467
497
-
1. Within the NGINX for Azure resource (nginx4a), navigate to managed identity section by clicking on `Identity` from the left menu. Within this section, inside the `System assigned` tab, enable system managed identity by changing the status to `on`. Click on `Save` to save your changes. Press `Yes` within the "Enable system assigned managed identity" prompt.
498
-

499
-
500
-
2. If you open up the Notifications pane, you should see a success status as shown below.
501
-

502
-
503
-
3. Now go back to your terminal and create a Log Analytics workspace resource that you will attach to NGINX for Azure using Azure CLI. This resource would be used to capture and store NGINX error and access logs. Use below command to create this resource.
504
-
505
-
```bash
506
-
## Set environment variables
507
-
export MY_RESOURCEGROUP=s.dutta-workshop
508
-
```
468
+
1. Create a Log Analytics workspace resource that you will attach to NGINX for Azure using Azure CLI. This resource would be used to capture and store NGINX error and access logs. Use below command to create this resource.
509
469
510
470
```bash
511
471
az monitor log-analytics workspace create \
@@ -545,7 +505,7 @@ In this section you will create a Log Analytics resource that would collect Ngin
545
505
546
506
> **NOTE:** Within the output json you should have a `"provisioningState": "Succeeded"` field which validates the command successfully provisioned the resource.
547
507
548
-
4. Next you will update your NGINX for Azure resource to enable sending metrics to Azure monitor by setting the `--enable-diagnostics` flag to `true` using below command.
508
+
2. Next you will update your NGINX for Azure resource to enable sending metrics to Azure monitor by setting the `--enable-diagnostics` flag to `true` using below command.
549
509
550
510
```bash
551
511
az nginx deployment update \
@@ -584,7 +544,7 @@ In this section you will create a Log Analytics resource that would collect Ngin
584
544
}
585
545
```
586
546
587
-
5. The last step that you need to perform to start collecting NGINX logs is to create an Azure diagnostic settings resource that will stream the NGINX logs to the log-analytics workspace that you created in previous step. Run below commands to create this resource.
547
+
3. The last step that you need to perform to start collecting NGINX logs is to create an Azure diagnostic settings resource that will stream the NGINX logs to the log-analytics workspace that you created in previous step. Run below commands to create this resource.
588
548
589
549
```bash
590
550
## Set environment variables
@@ -632,7 +592,49 @@ In this section you will create a Log Analytics resource that would collect Ngin
632
592
}
633
593
```
634
594
635
-
6. In upcoming labs, you will explore and learn more about NGINX logs and make use of these resources that you built in this section.
595
+
4. In upcoming labs, you will explore and learn more about NGINX logs and make use of these resources that you built in this section.
596
+
597
+
<br/>
598
+
599
+
### Explore Nginx for Azure
600
+
601
+
<br/>
602
+
603
+
NGINX as a Service for Azure is a service offering that is tightly integrated into Microsoft Azure public cloud and its ecosystem, making applications fast, efficient, and reliable with full lifecycle management of advanced NGINX traffic services. NGINXaaS for Azure is available in the Azure Marketplace.
604
+
605
+
NGINXaaS for Azure is powered by NGINX Plus, which extends NGINX Open Source with advanced functionality and provides customers with a complete application delivery solution. Initial use cases covered by NGINXaaS include L4 TCP and L7 HTTP load balancing and reverse proxy which can be managed through various Azure management tools. NGINXaaS allows you to provision distinct deployments as per your business or technical requirements.
606
+
607
+
In this section you will be looking at NGINX for Azure resource that you created within Azure portal.
608
+
609
+
1. Open Azure portal within your browser and then open your resource group.
2. Click on your NGINX for Azure resource (nginx4a) which should open the Overview section of your resource. You can see useful information like Status, NGINX for Azure resource's public IP, which Nginx version is running, which vnet/subnet it is using, etc.
3. From the left pane click on `Settings > NGINX Configuration`. As you are opening this resource for first time and you do not have any configuration present, Azure will prompt you to "Get started with a Configuration example". Click on `Populate now` button to start with a sample configuration example.
4. Once you click on the `Populate now` button you will see the configuration editor section has been populated with `nginx.conf` and an `index.html` page. Click on the `Submit` button to deploy this sample config files to the NGINX for Azure resource.
5. Once you have submitted the configuration, you can watch its progress in the notification tab present in right top corner. Intially status would be "Updating NGINX configuration" which would change to "Updated NGINX configuration successfully".
6. Navigate back to Overview section and copy the public IP address of NGINX for Azure resource.
630
+
631
+

632
+
633
+
7. In a new browser window, paste the public IP into the address bar. You will notice the sample index page gets rendered into your browser.
634
+
635
+

636
+
637
+
8. This completes the validation of all the resources that you created using Azure CLI. In the upcoming labs you would be modifying the configuration files and exploring various features of NGINX for Azure resources.
Copy file name to clipboardExpand all lines: labs/lab5/readme.md
+8-5Lines changed: 8 additions & 5 deletions
Original file line number
Diff line number
Diff line change
@@ -139,7 +139,7 @@ Submit your Nginx Configuration. If you have the Server name:port correct, Nginx
139
139
140
140
In order for Nginx 4 Azure and Nginx Ingress to work correctly, the HTTP Host Headers, and perhaps other headers, will need to be passed. This is done by changing the HTTP Version to 1.1, so that the Host Header can be included.
141
141
142
-
1. Inspect the `lab5/includes/keepalive.conf`. This is where the HTTP Protocol and Headers are set for proxied traffic. This is a common requirement so it is shared among all the different Nginx configurations.
142
+
1. Inspect the `lab5/keepalive.conf`. This is where the HTTP Protocol and Headers are set for proxied traffic. This is a common requirement so it is shared among all the different Nginx configurations.
143
143
144
144
Using the Nginx for Azure console, create a new file, `/etc/nginx/includes/keepalive.conf`. Use the example provided, just copy/paste.
145
145
@@ -309,7 +309,7 @@ Now that you have these new Nginx Upstream blocks created, you can test them.
309
309
310
310
You can also see this list, using the Nginx Plus Dashboard for the Ingress Controller, check the HTTP Upstreams Tab as before, you should see the Pod IPs for both the coffee-svc and tea-svc.
311
311
312
-

312
+

313
313
314
314
1. **Loadtest Time!** While you are in the Nginx Ingress Dashboard watching the coffee upstreams, throw some load at them using WRK HTTP Load tool.
315
315
@@ -444,14 +444,17 @@ You built and used different CNIs and subnets so that you can see the difference
You can also see this list, using the Nginx Plus Dashboard for the Ingress Controller in AKS2 - check the HTTP Upstreams, you should see the Pod IPs for both the coffee-svc and tea-svc.
0 commit comments