Skip to content

Lab4 Updates #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added labs/lab0/media/2factorAuthentication.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/2factorConfirmation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/F5accountactivationemail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/F5signup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/almostthere.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/courselist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/domaincreds.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/domaincredsannotated.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/joinbutton.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/launchrdp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/megasuperimportantemail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/udfloginnonf5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/udfloginreset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/useruser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added labs/lab0/media/waitforboot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
87 changes: 87 additions & 0 deletions labs/lab0/prerequisites.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Preparing your Computer for the NGINX One Console Workshop

## Introduction

In order to complete the Lab exercises in this Workshop on your own computer and not use the F5 provided workshop environment, your computer should meet with the following license, hardware, software, and access requirements. If you are unable to meet these basic requirements, you will likely not be able to complete the Labs as written. It is highly recommended that you have the minimum requirements.

## Learning Objectives

By the end of this Prerequisite instructions, you will be ready to do the Workshop lab exercises in your own system.

## NGINX Plus License Requirements

1. You must have an NGINX Plus Commercial license/subscription for this Workshop.
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

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.

## Hardware Requirments

1. 8GB available RAM
2. 50GB available disk space
3. Recommended - second monitor

## Software Requirements

1. Git
1. Docker Engine
1. Docker Compose
1. Chrome or other modern browser
1. Visual Studio Code, or other test/code editor
1. Thunder Client VSCode extension or any other API platform that helps running API requests.

## Administrative Requirements

1. Network connection to the Internet
1. Admin access to install software, Copy and Edit local files
1. Admin access to control Network Firewalls and VPN settings
1. Admin access to configure local DNS hosts file

## Install Docker Engine

- [https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)

## Install Docker Compose

- [https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)

## Optional - Install Visual Studio Code

- [https://code.visualstudio.com/download](https://code.visualstudio.com/download)

## Cloning the Workshop Repository locally

Once you have setup your system make sure to clone this repository locally in your system.

```bash
git clone https://github.com/nginxinc/nginx-one-workshops.git

```

<br/>
You are now prepared to start with the workshop labs.
<br/>

## References:

- [NGINX Plus](https://docs.nginx.com/nginx/)
- [NGINX Free 30-Day Trial](https://www.f5.com/trials/nginx-one)
- [NGINX Admin Guide](https://docs.nginx.com/nginx/admin-guide/)
- [NGINX Technical Specs](https://docs.nginx.com/nginx/technical-specs/)

<br/>

### Authors

- Chris Akker - Solutions Architect - Community and Alliances @ F5, Inc.
- Shouvik Dutta - Solutions Architect - Community and Alliances @ F5, Inc.
- Adam Currier - Solutions Architect - Community and Alliances @ F5, Inc.

-------------

Navigate to ([Lab1](../lab1/readme.md) | [Main Menu](../readme.md))
117 changes: 60 additions & 57 deletions labs/lab0/readme.md
Original file line number Diff line number Diff line change
@@ -1,91 +1,94 @@
# Setup your Computer for NGINX Workshops
# Workshop pre-work

## `under construction`
## Prep for your upcoming F5/NGINX Workshop

## Introduction
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.

In this Workshop, you will build a working Lab environment in Azure, and use Nginx for Azure to control traffic to these Azure Resources. The architecture you will build will look like this diagram:
<br/>

![N4A Workshop](media/n4a-workshop-diagram-r7.png)

In order to build this environment, your computer hardware, software, and applications must be properly installed and functional. This is the list of Prerequisite needed to successfully complete this Workshop as a Student.
## Step 0: If this is your first time in an F5 Hosted Workshop

>It is `highly recommended` for Students attending this Workshop to be proficient with NGINX and Azure and have some experience with Kubernetes and Docker administration, networking tools, and Load Balancing concepts. An `Azure Subscription` and Admin level access to Azure Portal is required. Previous experience with Visual Studio Code and Redis Tools is also recommended.
Look for an email from **`[email protected]`**. This will have instructions on how you can login into UDF (F5 workshop environment).

<br/>
![Ultra Super Important Invite email](media/megasuperimportantemail.png)

## Prerequisites
### If you cannot find your invite email ("UDF Course Registration:NGINXperts Lab ...") STOP

In this Lab0, the requirements for both the Student and the Azure environment will be described.
- These commonly get caught by spam/junk filters. *Make sure to check your spam folder **and** your system's email Quarantine.*

> **IMPORTANT!** It is imperative that you have the appropriate computer, tools, and Azure Subscription privileges to successfully complete the Workshop.
- If you still cannot find your invite email, you either have not been invited to a workshop or we have an incorrect email. Please get help from whoever sent you to this page.

</br>
## Step 1: Get yourself to UDF

NGINXaaS for Azure | NGINX Plus | Kubernetes | Docker | Redis
:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:
![](media/nginx-azure-icon.png) | ![](media/nginx-plus-icon.png) | ![](media/kubernetes-icon.png) | ![](media/docker-icon.png) | ![](media/redis-icon.png)
- Navigate to [https://udf.f5.com/](https://udf.f5.com/) and select `Invited Users`
![Non F5](media/udfloginnonf5.png)

<br/>
- If this is your first time using UDF, use the `Sign Up` link which would take your to F5 registration page.

**NOTE:** this will *not be the password to the Ubuntu Desktop or other VMs in the class!*
![Sign up](media/F5signup.png)

## Student Azure Subscription Requirements
- Once you have filled in your registration details, you should be receiving an `Account Activation` email as shown below
![Account Activation Email](media/F5accountactivationemail.png)

**IMPORTANT:** Students taking this Workshop will require `Owner` level privileges to complete the Lab Exercises. In addition, Students will also require the following Subscription privileges. Consult with your IT Cloud Team to ensure you have the necessary privileges for the following items, *prior* to attempting the Workshop Exercises:
- When you click on the `Activate Account` button within the activation email, you would be redirected to setup 2 factor authentication as shown below. Select your preferred authentication method.
![2factor Authentication prompt](media/2factorAuthentication.png)

1. Multiple `Public Ip Addresses` used in this lab.
- Once you have set up 2 factor authentication successfully, you will see a `green` checkmark on your preferred method. Click on `Finish`.
![2factor Confirmation](media/2factorConfirmation.png)

- Public IP Address for the Nginx for Azure instance
- Public IP Address for the UbuntuVM
- Public IP Address for the Kubernetes Cluster API Server for the AKS instance(s)
- If you already have an account but you can't remember your password, simply reset your password by clicking on `Forgot Password?` link.
![Non F5](media/udfloginreset.png "happens to the best of us")

2. `Azure Key Vault` used in this lab, to create TLS certificates and keys.
## Step 2: Start the course

3. `Entra ID` used in this lab, to create Applications and Settings for the OIDC/JWT integration with Nginx.
- Once logged into UDF, click `Launch` (This will open a new tab.)
![Non F5](media/courselist.png "click launch")

<br/>
- And then click on `Join`
![Non F5](media/joinbutton.png "'Yes I'm sure'")

### Student Hardware/Software/Azure Requirements
- Click the `DEPLOYMENT` tab at the top
![Non F5](media/almostthere.png "I'm up here")

Verify you have the proper computer requirements - hardware and software.
- Hardware: Laptop, Admin rights, Internet connection
- Software: Visual Studio, Terminal, Chrome, Docker, AKS and Azure CLI.
- You will need the Azure Command Line Interface tool (version 2.61.0 or higher) installed on your client machine to manage your Azure services. See [Azure CLI Installation](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) for instructions.
- You will also need the Azure CLI `NGINX` extension added. See [Azure CLI Extensions](https://learn.microsoft.com/en-us/cli/azure/azure-cli-extensions-overview) for instructions.
- Verify you have proper computer skills: Linux CLI, files, SSH/Terminal, Docker/Compose, Azure Portal, Load Balancing concepts, Linux tools, Azure CLI
- Verify you have the proper access to Azure resources: Azure Subscription with Admin/Owner level access
## Step 3: RDP to the Ubuntu Jumpbox

<br/>
- username: `ubuntu`
- password: `Nginx123`

### Required Skills
THIS REQUIRES AN RDP CLIENT! If you have a Mac *and* haven't downloaded an RDP client before, here is the first-party version:

- Nginx for Azure NGINXperts Workshop has minimum REQUIRED Nginx Skills: Students must be familiar with Nginx operation, configurations, and concepts for HTTP traffic.
- The NGINXperts Basics Workshop is HIGHLY recommended, students should have taken this workshop prior.
- The NGINXperts Plus Ingress Controller workshop is also HIGHLY recommended, students should have taken this workshop prior.
- Azure admin skills, previous training from Microsoft Learn is HIGHLY recommended.
- Recommended: TLS, DNS, HTTP caching, Grafana, Redis
[Microsoft's RDP client on the Apple Apps Store](https://apps.apple.com/us/app/microsoft-remote-desktop/id1295203466?mt=12)

<br/>
- Now you just have to wait for the Ubuntu Desktop to finish booting. . .

[NGINXperts Basics Workshop](https://github.com/nginxinc/nginx-basics-workshops)
![Non F5](media/waitforboot.png "loading. . .")

<br/>
- Make sure to select a small enough resolution to see the whole screen.

**This completes Lab0.**
![Non F5](media/launchrdp.png "almost there")

<br/>
- Once you select the resolution, your browser will download an rdp file. Open this file to connect to Ubuntu Desktop.

## References:
- Accept the self-signed cert, the Ubuntu Desktop username and password will be `ubuntu` and `Nginx123`.

(**NOTE:** This is *not* your UDF login username & password.)

- [NGINX As A Service for Azure](https://docs.nginx.com/nginxaas/azure/)
- [NGINX Plus Product Page](https://docs.nginx.com/nginx/)
- [NGINX Ingress Controller](https://docs.nginx.com//nginx-ingress-controller/)
- [NGINX on Docker](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/)
- [NGINX Directives Index](https://nginx.org/en/docs/dirindex.html)
- [NGINX Variables Index](https://nginx.org/en/docs/varindex.html)
- [NGINX Technical Specs](https://docs.nginx.com/nginx/technical-specs/)
- [NGINX - Join Community Slack](https://community.nginx.org/joinslack)
![Non F5](media/useruser.png)

<br/>
-------------
> **If you can't connect to the Ubuntu Desktop, *remember to shut off your VPN*, or join a non-proxied network (sometimes a guest network in the office will work)**
-------------

**For machines running Windows and attached to a domain, Windows will helpfully attempt to use your domain creds to log in, and you'll see:**

![Non F5](media/domaincreds.png "everyone has credentials.com email accounts right?")

### Click "More choices" to enter both a username and a password

![Non F5](media/domaincredsannotated.png "green arrows")

That wraps the pre-requisites.

### Authors

Expand All @@ -95,4 +98,4 @@ Verify you have the proper computer requirements - hardware and software.

-------------

Navigate to ([Lab1](../lab1/readme.md) | [LabGuide](../readme.md))
Navigate to ([Lab1](../lab1/readme.md) | [Main Menu](../readme.md))
Loading
Loading