From 85200e45b2d07c47fe8b7ec3344469e4a6b402a0 Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 11:29:20 -0600 Subject: [PATCH 1/6] labguide updates --- README.md | 6 ++++- labs/lab0/prerequisites.md | 2 +- labs/lab0/readme.md | 6 +++++ labs/media/nginx-one-workshop-banner.png | Bin 0 -> 59413 bytes labs/readme.md | 28 +++++++---------------- 5 files changed, 20 insertions(+), 22 deletions(-) create mode 100644 labs/media/nginx-one-workshop-banner.png diff --git a/README.md b/README.md index fcbdcb6..f521c08 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ -# NGINX ONE Console Workshop 102 +![NGINX ONE](labs/media/nginx-one-workshop-banner.png) + +
+ +# NGINX ONE Console Workshop ![](labs/media/nginx-one-icon.png) diff --git a/labs/lab0/prerequisites.md b/labs/lab0/prerequisites.md index 6673c52..32d8375 100644 --- a/labs/lab0/prerequisites.md +++ b/labs/lab0/prerequisites.md @@ -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. diff --git a/labs/lab0/readme.md b/labs/lab0/readme.md index d99c5d6..d2bb37a 100644 --- a/labs/lab0/readme.md +++ b/labs/lab0/readme.md @@ -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. diff --git a/labs/media/nginx-one-workshop-banner.png b/labs/media/nginx-one-workshop-banner.png new file mode 100644 index 0000000000000000000000000000000000000000..309d954989284b3199b7e66e694c42341ff860ce GIT binary patch literal 59413 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

1{9>V^smMdAS3bnIU(l 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 -## NGINX ONE Console Workshop 102 +## NGINX ONE Console Workshop
@@ -42,7 +42,7 @@ See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites fo
- NGINX Plus | NGINX One Console | NGINX OSS + NGINX Plus | NGINX One Console | NGINX OSS :-------------------------:|:-------------------------:|:-------------------------: ![](media/nginx-plus-icon.png) | ![](media/nginx-one-icon.png) | ![](media/nginx-icon.png) @@ -50,8 +50,9 @@ See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites fo ## Lab Outline -### Lab 0: Prerequisites - Student Skills / Resources -- [Lab 0: Prerequisites - Student Skills / Resources](lab0/readme.md) +### Lab 0: Workshop pre-work (Choose any one) +- [Lab 0: Workshop pre-work using F5 provided UDF environment](lab0/readme.md) +- [Lab 0: Workshop pre-work using your own system](lab0/prerequisites.md) ### Lab 1: NGINX One Console Introduction & Access - [Lab 1: NGINX One Console Introduction & Access](lab1/readme.md) @@ -65,18 +66,6 @@ See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites fo ### Lab 4: Managing your NGINX fleet - [Lab 4: Managing your NGINX fleet](lab4/readme.md) -### Lab 5: Placeholder -- [Lab 5: Placeholder](lab8/readme.md) - -### Lab 6: Placeholder -- [Lab6: Placeholder](lab9/readme.md) - -### Lab 7: Placeholder -- [Lab7: Placeholder](lab10/readme.md) - -#### Labs Optional: Optional Exercises -- [Labs Optional: Optional Exercises](labs-optional/readme.md) -
### Authors @@ -87,7 +76,6 @@ See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites fo
-Click [Lab0: Student Prerequisites](lab0/readme.md) for details on Student Prerequisite Requirements for this Workshop. - -Click [Lab1: NGINX One Console Access & Overview](lab1/readme.md) to get started! +Choose one of the [Lab 0: Workshop pre-work](#lab-0-workshop-pre-work-choose-any-one) to get all set to work through the workshop content. +Click [Lab1: NGINX One Console Access & Overview](lab1/readme.md) to get started! From ceaa9a33835a163ea51892a2a67247af34e0d842 Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 11:50:31 -0600 Subject: [PATCH 2/6] missing images and minor updates --- README.md | 32 ++-- labs/media/developer-seated.svg | 266 ++++++++++++++++++++++++++++++++ labs/readme.md | 14 +- 3 files changed, 288 insertions(+), 24 deletions(-) create mode 100644 labs/media/developer-seated.svg diff --git a/README.md b/README.md index f521c08..428390b 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,25 @@ -![NGINX ONE](labs/media/nginx-one-workshop-banner.png) +![NGINX One](labs/media/nginx-one-workshop-banner.png)
-# NGINX ONE Console Workshop +# NGINX One Console Workshop ![](labs/media/nginx-one-icon.png)
-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.
## 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 @@ -28,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 @@ -38,34 +38,33 @@ You should be proficient with the following technologies and concepts.
-NGINX ONE Console | Hands-On Labs +NGINX One Console | Hands-On Labs :-------------------------:|:-------------------------: ![](labs/media/nginx-one-icon.png) | ![](labs/media/developer-seated.svg)
-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.
## 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.
## 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".
@@ -89,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) - -© [F5, Inc.](https://www.f5.com/) 2024 +© [F5, Inc.](https://www.f5.com/) 2025 diff --git a/labs/media/developer-seated.svg b/labs/media/developer-seated.svg new file mode 100644 index 0000000..2e58577 --- /dev/null +++ b/labs/media/developer-seated.svg @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/labs/readme.md b/labs/readme.md index 8c874f2..d8a05f7 100644 --- a/labs/readme.md +++ b/labs/readme.md @@ -2,7 +2,7 @@
-## NGINX ONE Console Workshop +## NGINX One Console Workshop
@@ -10,13 +10,13 @@
-> >Welcome to the NGINX ONE Console Workshop! +> >Welcome to the NGINX One Console Workshop!
-This **NGINXperts Workshop** will introduce the **`NGINX ONE Console`** with hands-on practice through lab exercises. +This **NGINXperts Workshop** will introduce the **`NGINX One Console`** with hands-on practice through lab exercises. -You will learn and explore NGINX ONE Console, part of the F5 Distributed Cloud. You will connect various NGINX instances to the Console and manage them. You will explore how the Console is used to manage and monitor your fleet of Nginx servers. You will see how the built-in ONE Console tools can provide important and helpful information about your instances, so you can take appropriate corrective actions as needed. +You will learn and explore NGINX One Console, part of the F5 Distributed Cloud. You will connect various NGINX instances to the Console and manage them. You will explore how the Console is used to manage and monitor your fleet of Nginx servers. You will see how the built-in ONE Console tools can provide important and helpful information about your instances, so you can take appropriate corrective actions as needed. The Hands-on Lab Exercises are designed to build upon each other, adding additional services and features as you progress through them, completing the labs in sequential order is required. You can follow along as an instructor guides you through these exercises, or you can do the exercises at your pace on your own time. @@ -24,7 +24,7 @@ This is the second Workshop in the `NGINXperts Series` from the Nginx Communitie
-NGINX ONE Console | +NGINX One Console | :-------------------------:| ![](media/nginx-one-icon.png) | @@ -32,7 +32,7 @@ NGINX ONE Console | The Hands-On Lab Exercises are designed to build upon each other, adding additional services and features as you progress through them. `It is important to complete the lab exercises in sequential order.` -By the end of this Workshop, you will have a working, operational NGINX ONE Console, with multiple Nginx instances connected and managed. +By the end of this Workshop, you will have a working, operational NGINX One Console, with multiple Nginx instances connected and managed.
@@ -78,4 +78,4 @@ See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites fo Choose one of the [Lab 0: Workshop pre-work](#lab-0-workshop-pre-work-choose-any-one) to get all set to work through the workshop content. -Click [Lab1: NGINX One Console Access & Overview](lab1/readme.md) to get started! +Click [Lab1: NGINX One Console Introduction & Access](lab1/readme.md) to get started! From 159c72f4d1c224c08161af135ba0a4c24de1b371 Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 11:54:29 -0600 Subject: [PATCH 3/6] prerequisites update --- labs/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/labs/readme.md b/labs/readme.md index d8a05f7..ea1e9fb 100644 --- a/labs/readme.md +++ b/labs/readme.md @@ -38,7 +38,7 @@ By the end of this Workshop, you will have a working, operational NGINX One Cons ### Prerequisites -See the [Lab0 Readme.md](lab0/readme.md) for details on Student Prerequisites for this Workshop. +Choose one of the [Lab 0: Workshop pre-work](#lab-0-workshop-pre-work-choose-any-one) for details on Student Prerequisites for this Workshop.
From 6d637b857879a6bc72685273040544b58f0d678f Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 12:09:09 -0600 Subject: [PATCH 4/6] refactory --- labs/lab4/readme.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/labs/lab4/readme.md b/labs/lab4/readme.md index 3366ce1..28a9fc4 100644 --- a/labs/lab4/readme.md +++ b/labs/lab4/readme.md @@ -1,8 +1,8 @@ -# Nginx One Config Sync Groups +# NGINX One Console Config Sync Groups ## Introduction -In this lab, we will show how to create and manage `Config Sync Groups` in the NGINX One Console. Config sync groups synchronize NGINX configurations across multiple NGINX instances, ensuring consistency and ease of management. If you’ve used instance groups in NGINX Instance Manager, you’ll find config sync groups in NGINX One similar. Let's go ahead and create one then add some instances to it. +In this lab, we will show how to create and manage `Config Sync Groups` in the NGINX One Console. Config sync groups synchronize NGINX configurations across multiple NGINX instances, ensuring consistency and ease of management. If you’ve used instance groups in NGINX Instance Manager, you’ll find config sync groups in NGINX One Console similar. Let's go ahead and create one then add some instances to it.
@@ -11,7 +11,7 @@ In this lab, we will show how to create and manage `Config Sync Groups` in the N By the end of the lab you will be able to: - Create a Config Sync Group -- Add instances to the group (OSS + NGinx Plus) +- Add instances to the group (OSS + NGINX Plus) - Make changes and apply a default config - Troubleshoot CSG issues @@ -22,7 +22,7 @@ By the end of the lab you will be able to: - See `Lab0` for instructions on setting up your system for this Workshop - You must have a dataplane key - you can use the one created from the earlier labs - Familiarity with basic Linux concepts and commands -- Familiarity with basic Nginx concepts and commands +- Familiarity with basic NGINX concepts and commands ### Create a Config Sync Group @@ -64,7 +64,7 @@ On this page is a button that says `Add Instance to Config Sync Group`. Click on
-This will pop up another modal window on the right. We will choose the second option that says: `Register a new instance with NGINX One and then add it to the config sync group`. Then proceed to click on the `Next` button. +This will pop up another modal window on the right. We will choose the second option that says: `Register a new instance with NGINX One Console and then add it to the config sync group`. Then proceed to click on the `Next` button.
@@ -148,7 +148,7 @@ Now open up the _**docker-compose.yml**_ file. You can uncomment the lines numbe NGINX_AGENT_INSTANCE_GROUP: one-workshop-plus ``` -Let's launch the containers again and then watch the Nginx One console to see the instances added to the Config Sync Group. +Let's launch the containers again and then watch the NGINX One Console to see the instances added to the Config Sync Group. ```bash docker compose up --force-recreate -d @@ -162,7 +162,7 @@ Use the refresh button and you should see the three new instances added to our c
-Upon being added to the Config Instance group, NGINX One will attempt to apply the configuration of the group to the instances in it. Here you can see the config was immediately applied to **one-plus-2** and **one-plus-3**. **one-plus-1** is the synch still in progress instance here. This shows it takes a moment as the Config Sync Group applies the configuration to each new instance. You will need to refresh the UI to make sure the configs all get applied, but give it a minute. +Upon being added to the Config Instance group, NGINX One Console will attempt to apply the configuration of the group to the instances in it. Here you can see the config was immediately applied to **one-plus-2** and **one-plus-3**. **one-plus-1** is the synch still in progress instance here. This shows it takes a moment as the Config Sync Group applies the configuration to each new instance. You will need to refresh the UI to make sure the configs all get applied, but give it a minute.
@@ -186,7 +186,7 @@ You are going to add to the contents (which were pulled from the first added ins ```nginx location /test_header { add_header X-Test-App true; - return 200 'HTTP/1.1 200 OK\nContent-Type: text/html\n\nWelcome to Lab 4 of the NGINX One Workshop!'; + return 200 'HTTP/1.1 200 OK\nContent-Type: text/html\n\nWelcome to Lab 4 of the NGINX One Console Workshop!'; } ``` @@ -199,7 +199,7 @@ You will notice it now says (modified) in braces next to the file we changed. At
-What would it look like if there was a problem when ONE Console checked the config? Something like this: +What would it look like if there was a problem when NGINX One Console checked the config? Something like this: ![Error Config Change](media/lab4_csg_config_error.png) @@ -213,7 +213,7 @@ Ok, you don't have any errors, so click on the green **Next** button. The follow
-NGINX One will indicate the change was a success and push it to all of our instances. Click on the `Details` button of the group to see the status of the instances. +NGINX One Console will indicate the change was a success and push it to all of our instances. Click on the `Details` button of the group to see the status of the instances.
@@ -284,7 +284,7 @@ docker rm f8a f8a ``` -Don't forget to stop all of the Nginx containers if you are finished with them, and **Delete them from the Nginx One Instance inventory**. +Don't forget to stop all of the NGINX containers if you are finished with them, and **Delete them from the NGINX One Console Instance inventory**.
@@ -296,8 +296,8 @@ This ends lab4. ## References -- [Nginx One Console](https://docs.nginx.com/nginx-one/) -- [Nginx One Console - Manage Config Sync Groups](https://docs.nginx.com/nginx-one/how-to/config-sync-groups/manage-config-sync-groups/) +- [NGINX One Console](https://docs.nginx.com/nginx-one/) +- [NGINX One Console - Manage Config Sync Groups](https://docs.nginx.com/nginx-one/how-to/config-sync-groups/manage-config-sync-groups/)
From d8717236575237c16a8aebae6931e8e965e00a44 Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 12:19:22 -0600 Subject: [PATCH 5/6] refactory --- labs/lab1/readme.md | 14 +++++++------- labs/lab2/readme.md | 8 ++++---- labs/lab3/readme.md | 8 ++++---- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/labs/lab1/readme.md b/labs/lab1/readme.md index f3da673..ba36be2 100644 --- a/labs/lab1/readme.md +++ b/labs/lab1/readme.md @@ -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.
@@ -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) @@ -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) diff --git a/labs/lab2/readme.md b/labs/lab2/readme.md index e47d11d..9e5433d 100644 --- a/labs/lab2/readme.md +++ b/labs/lab2/readme.md @@ -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.
@@ -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 @@ -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) diff --git a/labs/lab3/readme.md b/labs/lab3/readme.md index 4f44891..2dc5c31 100644 --- a/labs/lab3/readme.md +++ b/labs/lab3/readme.md @@ -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.
@@ -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) @@ -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) From 050ea9ffafc30ce2d6373b1bf39eb83b8381ecc0 Mon Sep 17 00:00:00 2001 From: Shouvik Date: Fri, 17 Jan 2025 12:53:31 -0600 Subject: [PATCH 6/6] img update --- README.md | 2 +- labs/media/developer-seated.png | Bin 0 -> 37210 bytes labs/media/developer-seated.svg | 266 -------------------------------- 3 files changed, 1 insertion(+), 267 deletions(-) create mode 100644 labs/media/developer-seated.png delete mode 100644 labs/media/developer-seated.svg diff --git a/README.md b/README.md index 428390b..758c2d1 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ You should be proficient with the following technologies and concepts. 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)
diff --git a/labs/media/developer-seated.png b/labs/media/developer-seated.png new file mode 100644 index 0000000000000000000000000000000000000000..239e436b2c75413e4470959a6e6b2306950cbde0 GIT binary patch literal 37210 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 Q1#x1xc{p68YpR9y?G$5^E4y{3W?)e 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 literal 0 HcmV?d00001 diff --git a/labs/media/developer-seated.svg b/labs/media/developer-seated.svg deleted file mode 100644 index 2e58577..0000000 --- a/labs/media/developer-seated.svg +++ /dev/null @@ -1,266 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -