Skip to content

Commit

Permalink
Final Edits (#17)
Browse files Browse the repository at this point in the history
* labguide updates
* missing images and minor updates
* prerequisites update
* img update
  • Loading branch information
sdutta9 authored Jan 17, 2025
1 parent cf20b88 commit b5f7bae
Show file tree
Hide file tree
Showing 10 changed files with 68 additions and 72 deletions.
36 changes: 19 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
# NGINX ONE Console Workshop 102
![NGINX One](labs/media/nginx-one-workshop-banner.png)

<br/>

# NGINX One Console Workshop

![](labs/media/nginx-one-icon.png)

<br/>

This Repo is for learning the **`NGINX ONE Console`**, with Instructor Lead and Self-paced and Hands-on Lab Exercises and Lab Guides that will teach a student using real Nginx instances with NGINX ONE.
This Repo is for learning the **`NGINX One Console`**, with Instructor Lead and Self-paced and Hands-on Lab Exercises and Lab Guides that will teach a student using real NGINX instances with NGINX One Console.

<br>

## Audience

This Workshop is meant for Modern Application Developers, DevOps, Platform Ops, and SRE engineers working with NGINX, NGINX Plus, Docker - how they are managed, monitored, and configured using the ONE Console. Using various Nginx instances, you will connect them to NGINX ONE and explore the Console.
This Workshop is meant for Modern Application Developers, DevOps, Platform Ops, and SRE engineers working with NGINX, NGINX Plus, Docker - how they are managed, monitored, and configured using the One Console. Using various NGINX instances, you will connect them to NGINX One Console and explore them within the One Console.

`The Student taking this Workshop must have the basic skills and knowledge with the following:`

- Nginx Opensource or Plus
- Nginx configurations: files, directives, and variables
- NGINX Opensource or Plus
- NGINX configurations: files, directives, and variables
- Chrome Browser
- Linux OS / desktop skills
- Optional: Docker container concepts
Expand All @@ -24,7 +28,7 @@ This Workshop is meant for Modern Application Developers, DevOps, Platform Ops,

You should be proficient with the following technologies and concepts.

- Nginx Webserver and Reverse Proxy
- NGINX Webserver and Reverse Proxy
- HTTP 1.1 Protocol, TLS
- Various Desktop tools; Visual Studio, Linux, Terminal, Chrome

Expand All @@ -34,34 +38,33 @@ You should be proficient with the following technologies and concepts.

<br/>

NGINX ONE Console | Hands-On Labs
NGINX One Console | Hands-On Labs
:-------------------------:|:-------------------------:
![](labs/media/nginx-one-icon.png) | ![](labs/media/developer-seated.svg)
![](labs/media/nginx-one-icon.png) | ![](labs/media/developer-seated.png)

<br/>

To meet the Prerequisite skills requirement, there are other Workshops from Nginx to help you prepare. The student should have completed the Nginx Basics Workshop 101, prior to taking this workshop. (Or have equivalent knowledge).
To meet the Prerequisite skills requirement, there are other Workshops from NGINX to help you prepare. The student should have completed the NGINX Basics Workshop 101, prior to taking this workshop. (Or have equivalent knowledge).

- Nginx Basics Workshop - 101 (https://github.com/nginxinc/nginx-basics-workshops/tree/master/labs)
- NGINX Basics Workshop - 101 (https://github.com/nginxinc/nginx-basics-workshops)

See [Lab0 Readme](/labs/lab0/readme.md) for the Hardware/Software and Skills Prerequisites for taking this Workshop and completing the Lab Exercises.
See [Lab0 prerequisites](/labs/lab0/prerequisites.md) for the Hardware/Software and Skills Prerequisites for taking this Workshop and completing the Lab Exercises.

<br/>

## Getting Started

Review the Github Repo content for the Nginx Basics Workshop 101. If you have taken this Workshop, and understand the content, you can successfully complete the Lab exercises in this Nginx ONE Workshop. It is HIGHLY recommended that you complete the 101 Workshop prior.
Review the Github Repo content for the NGINX Basics Workshop 101. If you have taken this Workshop, and understand the content, you can successfully complete the Lab exercises in this NGINX One Console Workshop. It is HIGHLY recommended that you complete the 101 Workshop prior.

It will take approximately 1 hour to complete the Nginx ONE Workshop.
It will take approximately 1 hour to complete the NGINX One Console Workshop.

<br/>

## How to Use

The content and lab exercises are presented in a sequence as you build and add additional Nginx instances and functionality as you progress. It is essential that the Lab Exercises are completed in the order provided. This content provided is for example only, is not for production workloads. The user of this information assumes all risks.
The content and lab exercises are presented in a sequence as you build and add additional NGINX instances and functionality as you progress. It is essential that the Lab Exercises are completed in the order provided. This content provided is for example only, is not for production workloads. The user of this information assumes all risks.

- Click [LabGuide](labs/readme.md) to begin the Lab Exercises.
- Click [Lab0 Readme](labs/lab0/readme.md) to review the Lab0 Prerequisites - "Know before you Go".

<br/>

Expand All @@ -85,5 +88,4 @@ Please see the [contributing guide](https://github.com/nginxinc/nginx-one-worksh

[Apache License, Version 2.0](https://github.com/nginxinc/nginx-one-workshops/blob/main/LICENSE)


&copy; [F5, Inc.](https://www.f5.com/) 2024
&copy; [F5, Inc.](https://www.f5.com/) 2025
2 changes: 1 addition & 1 deletion labs/lab0/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ By the end of this Prerequisite instructions, you will be ready to do the Worksh
2. You must download the `nginx-repo.crt` and `nginx-repo.key` and `nginx-repo.jwt` files from your MyF5 account.
3. If you do not have a current license, you can request a 30-Day Trial License for free, here: https://www.f5.com/trials/nginx-one . It takes several minutes for the F5 Licensing system to send you an email, with a `one-time download link` to the License files. `Save the nginx-repo.* files to your local storage`, you will need them before you start the Workshop.

## F5 Distributed Cloud Account
## F5 Distributed Cloud Account Requirements

You will need an F5 Distributed Cloud account to complete the Nginx One Console lab exercises. If you do not have an Account, please contact your F5 Sales Representative for more information. Know more about F5 Distributed Cloud by navigating to the following link: https://www.f5.com/products/distributed-cloud-services/distributed-cloud-console.

Expand Down
6 changes: 6 additions & 0 deletions labs/lab0/readme.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Workshop pre-work

## F5 Distributed Cloud Account Requirements

You will need an F5 Distributed Cloud account to complete the Nginx One Console lab exercises. If you do not have an Account, please contact your F5 Sales Representative for more information. Know more about F5 Distributed Cloud by navigating to the following link: https://www.f5.com/products/distributed-cloud-services/distributed-cloud-console.

You must also have enabled NGINX One service within F5 Distributed Cloud(XC) for this workshop.

## Prep for your upcoming F5/NGINX Workshop

If you're here that probably means you are currently in, or registered for, an upcoming NGINXperts Workshop. By taking the time to run through this exercise you are helping us save time during the workshop and ensure that you meet the prerequisites to access the workshop. We appreciate you taking time to check your system and your access.
Expand Down
14 changes: 7 additions & 7 deletions labs/lab1/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, you will be logging into NGINX One Console and exploring various components within it. This lab requires that you have access to F5 Distributed Cloud to work with the One Console. As part of this lab, you will explore the NGINX One console product, as a quick Overview of what it is and how to access it.
In this lab, you will be logging into NGINX One Console and exploring various components within it. This lab requires that you have access to F5 Distributed Cloud to work with the One Console. As part of this lab, you will explore the NGINX One Console product, as a quick Overview of what it is and how to access it.

<br/>

Expand Down Expand Up @@ -44,23 +44,23 @@ NGINX One Console offers the following key benefits:

![NGINX Agent](media/nginx-agent-icon.png)

The NGINX One Console requires `NGINX Agent`, an open source software module written by NGINX that connects and communicates with NGINX One. This NGINX Agent must be installed and running on every NGINX instance that you wish to manage with NGINX One. You will use the publicly available NGINX with Agent images from Docker Hub for your NGINX OSS containers. In addition, as part of your Docker Compose file, your NGINX Plus containers already have the required `NGINX Agent` installed for you. NGINX Agent can also be installed using regular Linux package managers like `apt` and `yum`. Refer to the References Section for links to the NGINX Agent installation guides.
The NGINX One Console requires `NGINX Agent`, an open source software module written by NGINX that connects and communicates with NGINX One Console. This NGINX Agent must be installed and running on every NGINX instance that you wish to manage with NGINX One Console. You will use the publicly available NGINX with Agent images from Docker Hub for your NGINX OSS containers. In addition, as part of your Docker Compose file, your NGINX Plus containers already have the required `NGINX Agent` installed for you. NGINX Agent can also be installed using regular Linux package managers like `apt` and `yum`. Refer to the References Section for links to the NGINX Agent installation guides.

### Access and navigate NGINX One console
### Access and navigate NGINX One Console

1. Login into the F5 Distributed Cloud console using your account credentials. The login page can be found at: https://console.ves.volterra.io/login/start

![XC Login](media/lab1_xc-login.png)

1. Once logged in, the "home" screen shows you various tiles which represent F5 Distributed Cloud console features. In this lab, we'll focus on the `NGINX One` console tile as highlighted in the below screenshot.
1. Once logged in, the "home" screen shows you various tiles which represent F5 Distributed Cloud console features. In this lab, we'll focus on the `NGINX One` Console tile as highlighted in the below screenshot.

![XC HomeScreen](media/lab1_none-tile.png)

1. Click on the `NGINX One` tile from the home screen. The NGINX One "welcome" screen will appear. Make sure the NGINX One Console status shows `green - Enabled` as highlighted in below screenshot. Click on `Visit Service`. If it is not enabled, you must request access from your F5 Distributed Cloud admin.
1. Click on the `NGINX One` Console tile from the home screen. The NGINX One Console "welcome" screen will appear. Make sure the NGINX One Console status shows `green - Enabled` as highlighted in below screenshot. Click on `Visit Service`. If it is not enabled, you must request access from your F5 Distributed Cloud admin.

![N One Visit Service](media/lab1_none-service.png)

1. By default, this will bring you to the NGINX One Console `Overview Dashboard` page. As no NGINX Instances are being managed by NGINX One you are seeing the blank dashboard as shown in below screenshot.
1. By default, this will bring you to the NGINX One Console `Overview Dashboard` page. As no NGINX Instances are being managed by NGINX One Console you are seeing the blank dashboard as shown in below screenshot.

![Empty Dashboard](media/lab1_none-empty-overview-dashboard.png)

Expand All @@ -80,7 +80,7 @@ The NGINX One Console requires `NGINX Agent`, an open source software module wri

![New Dataplane key](media/lab1_none-dataplane-key-new.png)

Once the key is generated, copy the value of this key to the clipboard using the `Copy` icon on the right side. **NOTE:** This Dataplane Key is only shown here and NGINX One doesn't save this value. Save this value locally as you would be using it to register new NGINX Instances. You can Register as many NGINX Instances as you like with the same Dataplane Key. If you lose the value of the key then you need to generate a new one again.
Once the key is generated, copy the value of this key to the clipboard using the `Copy` icon on the right side. **NOTE:** This Dataplane Key is only shown here and NGINX One Console doesn't save this value. Save this value locally as you would be using it to register new NGINX Instances. You can Register as many NGINX Instances as you like with the same Dataplane Key. If you lose the value of the key then you need to generate a new one again.

![New Dataplane key save](media/lab1_none-dataplane-key-save.png)

Expand Down
8 changes: 4 additions & 4 deletions labs/lab2/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, you will be running the backend application and several NGINX OSS and Plus instances as Docker containers. All the NGINX containers would be attached to NGINX One console as part of this exercise.
In this lab, you will be running the backend application and several NGINX OSS and Plus instances as Docker containers. All the NGINX containers would be attached to NGINX One Console as part of this exercise.

<br/>

Expand Down Expand Up @@ -34,7 +34,7 @@ You will run some Docker containers to build out various workshop components, us

> Before you can pull and run these containers, you must set several Environment variables correctly, _before running docker compose_.
1. Using the Visual Studio Terminal, set the `TOKEN` environment variable with the Dataplane Key from the One Console, as follows:
1. Using the Visual Studio Terminal, set the `TOKEN` environment variable with the Dataplane Key from the NGINX One Console, as follows:

```bash
export TOKEN=paste-your-dataplane-key-from-clipboard-here
Expand Down Expand Up @@ -134,13 +134,13 @@ You will run some Docker containers to build out various workshop components, us
852667e29280 private-registry.nginx.com/nginx-plus/agent:nginx-plus-r31-alpine-3.19-20240522 "/usr/bin/supervisor…" 44 minutes ago Up 44 minutes 0.0.0.0:33382->80/tcp, :::33381->80/tcp, 0.0.0.0:33377->443/tcp, :::33376->443/tcp, 0.0.0.0:33374->9000/tcp, :::33373->9000/tcp, 0.0.0.0:33372->9113/tcp, :::33371->9113/tcp one-workshop-plus2
ffa65b04e03b private-registry.nginx.com/nginx-plus/agent:nginx-plus-r31-ubi-9-20240522 "/usr/bin/supervisor…" 44 minutes ago Up 44 minutes 0.0.0.0:33373->80/tcp, :::33372->80/tcp, 0.0.0.0:33371->443/tcp, :::33370->443/tcp, 0.0.0.0:33370->9000/tcp, :::33369->9000/tcp, 0.0.0.0:33369->9113/tcp, :::33368->9113/tcp one-workshop-plus3

# NGINX Ingress Demo containers (not Registered with One Console)
# NGINX Ingress Demo containers (not Registered with NGINX One Console)
37c2777c8598 nginxinc/ingress-demo "/docker-entrypoint.…" 44 minutes ago Up 44 minutes 0.0.0.0:33387->80/tcp, :::33386->80/tcp, 0.0.0.0:33379->443/tcp, :::33378->443/tcp web1
dba569e76e36 nginxinc/ingress-demo "/docker-entrypoint.…" 44 minutes ago Up 44 minutes 443/tcp, 0.0.0.0:33390->80/tcp, :::33389->80/tcp, 0.0.0.0:33384->433/tcp, :::33383->433/tcp web2
5cde3c462a27 nginxinc/ingress-demo "/docker-entrypoint.…" 44 minutes ago Up 44 minutes 0.0.0.0:33380->80/tcp, :::33379->80/tcp, 0.0.0.0:33376->443/tcp, :::33375->443/tcp web3
```

Go back to your One Console Instance page, and click `Refresh`. You should see all 6 of your `basics-` instances appear in the list, and the Online icon should be `green`. If they did not Register with the One Console, it is likely you have an issue with the $TOKEN used, create a new Dataplane Key and try again. It should look similar to this:
Go back to your NGINX One Console Instance page, and click `Refresh`. You should see all 6 of your `basics-` instances appear in the list, and the Online icon should be `green`. If they did not Register with the One Console, it is likely you have an issue with the $TOKEN used, create a new Dataplane Key and try again. It should look similar to this:

![NGINX Instances](media/lab2_none-instances.png)

Expand Down
8 changes: 4 additions & 4 deletions labs/lab3/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

In this lab, you will be log back into NGINX One Console and explore various features within NGINX One console. You will then dive deep into those features and understand their usage.
In this lab, you will be log back into NGINX One Console and explore various features within NGINX One Console. You will then dive deep into those features and understand their usage.

<br/>

Expand Down Expand Up @@ -95,13 +95,13 @@ CPU | RAM | Disk

### Unsuccessful Response Codes

The NGINX Agent scans the Access logs and summarizes the number of 4xx and 5xx HTTP Return codes found, and reports this information to the One Console. There is `Time Selector` and a `See All` button for this Panel as well.
The NGINX Agent scans the Access logs and summarizes the number of 4xx and 5xx HTTP Return codes found, and reports this information to the NGINX One Console. There is `Time Selector` and a `See All` button for this Panel as well.

![Response Codes](media/lab3_none-response-codes.png)

### Top Network Usage

This Panel shows basic Network level information from the Linux OS about the network traffic that the NGINX Agent reports to the One Console. There is a `Time Selector` to show these metrics over different periods of time, with a history graph plotted for you. Click the `See All` button for a columnar list, which you can Filter and Sort.
This Panel shows basic Network level information from the Linux OS about the network traffic that the NGINX Agent reports to the NGINX One Console. There is a `Time Selector` to show these metrics over different periods of time, with a history graph plotted for you. Click the `See All` button for a columnar list, which you can Filter and Sort.

![Top Network](media/lab3_none-network.png)

Expand Down Expand Up @@ -232,7 +232,7 @@ Ok, so now what?? You can fix all these. Just Click the `Edit Configuration` Pen
Add the `default_server` directive to Line4, so it reads `listen 80 default_server;`.
>And another Great Feature of the One Console, **NGINX Mice!!** If you `mouse-over` any of the `colored words` in your config, you will see a pop-up with details about the Directive, Variable, or Parameter. No more Googling to try and find details about NGINX configurations, it's at your finger/mouse tips!
>And another Great Feature of the NGINX One Console, **NGINX Mice!!** If you `mouse-over` any of the `colored words` in your config, you will see a pop-up with details about the Directive, Variable, or Parameter. No more Googling to try and find details about NGINX configurations, it's at your finger/mouse tips!

![Cafe Edit Line4](media/lab3_cafe-edit-line4.png)

Expand Down
Loading

0 comments on commit b5f7bae

Please sign in to comment.