Begin writing exercise 1.

This commit is contained in:
2023-12-18 21:43:16 +13:00
parent 372524a6de
commit e0765a831f
2 changed files with 107 additions and 11 deletions

View File

@ -1,31 +1,54 @@
--- ---
title: Understanding the lab environment title: Understanding our lab environment
exercise: 1 exercise: 1
date: '2023-12-18' date: '2023-12-18'
tags: ['openshift','containers','kubernetes'] tags: ['openshift','containers','kubernetes','disconnected']
draft: false draft: false
authors: ['default'] authors: ['default']
summary: "Let's get familiar with the lab setup." summary: "Let's get familiar with our lab setup."
--- ---
Red Hat [OpenShift](https://www.redhat.com/en/technologies/cloud-computing/openshift) is a unified platform to build, modernize, and deploy applications at scale. In this first excercise we'll get logged into our cluster and familarise ourselves with the OpenShift web console and web terminal. Welcome to the OpenShift 4 Disconnected Workshop! Here you'll learn about operating an OpenShift 4 cluster in a disconnected network, for our purposes today that will be a network without access to the internet (even through a proxy or firewall).
The OpenShift Container Platform web console is a feature-rich user interface with both an **Administrator** perspective and a **Developer** perspective accessible through any modern web browser. You can use the web console to visualize, browse, and manage your OpenShift cluster and the applications running on it. To level set, Red Hat [OpenShift](https://www.redhat.com/en/technologies/cloud-computing/openshift) is a unified platform to build, modernize, and deploy applications at scale. OpenShift supports running in disconnected networks, though this does change the way the cluster operates because key ingredients like container images, operator bundles, and helm charts must be brought into the environment from the outside world via mirroring.
In addition to the web console, OpenShift includes command line tools to provide users with a nice interface to work with applications deployed to the platform. The `oc` command line tool is available for Linux, macOS or Windows. There are of course many different options for installing OpenShift in a restricted network; this workshop will primarily cover one opinionated approach. We'll do our best to point out where there's the potential for variability along the way.
**Let's get started!** **Let's get started!**
## 1.1 - Login to lab environment
An OpenShift `4.14` cluster has already been provisioned for you to complete these excercises. Open your web browser and navigate to the workshop login page https://demo.redhat.com/workshop/enwmgc. ## 1.1 - Creating an air gap
Once the page loads you can login with the details provided by your workshop facilitator. According to the [Internet Security Glossary](https://www.rfc-editor.org/rfc/rfc4949), an Air Gap is an interface between two systems at which (a) they are not connected physically and (b) any logical connection is not automated (i.e., data is transferred through the interface only manually, under human control).
In disconnected OpenShift installations, the air gap exists between the **Low Side** and the **High Side**, so it is between these systems where a manual data transfer, or **sneakernet** is required.
For the purposes of this workshop we will be operating within Amazon Web Services. You will be allocated an environment that already has AWS credentials configured and has some basic preparation completed. This will be a single VPC with 3 public subnets, which will serve as our **Low Side**, and 3 private subnets, which will serve as our **High Side**.
The diagram below shows a simplified overview of the networking topology:
<Zoom> <Zoom>
|![workshop](/workshops/static/images/workshop.png) | |![workshop](/workshops/static/images/disconnected/vpc-setup.svg) |
|:-----------------------------------------------------------------------------:| |:-----------------------------------------------------------------------------:|
| *Workshop login page* | | *Workshop network topology* |
</Zoom> </Zoom>
Let's review this setup by running the command below:
```bash
aws ec2 describe-subnets | jq '[.Subnets[].Tags[] | select(.Key=="Name").Value] | sort'
```
We should see output matching this example:
```bash
[
"Private Subnet - disco",
"Private Subnet 2 - disco",
"Private Subnet 3 - disco",
"Public Subnet - disco",
"Public Subnet 2 - disco",
"Public Subnet 3 - disco"
]
```

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><!-- Generated by graphviz version 2.40.1 (20161225.0304)
--><!-- Title: %0 Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="565pt" height="592pt" viewBox="0.00 0.00 564.91 592.00">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 588)">
<title>%0</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-588 560.9146,-588 560.9146,4 -4,4"/>
<g id="clust1" class="cluster">
<title>cluster_vpc</title>
<polygon fill="none" stroke="#000000" points="109.1276,-8 109.1276,-576 548.9146,-576 548.9146,-8 109.1276,-8"/>
<text text-anchor="middle" x="329.0211" y="-559.4" font-family="Times,serif" font-size="14.00" fill="#000000">Amazon VPC</text>
</g>
<g id="clust2" class="cluster">
<title>cluster_public</title>
<polygon fill="none" stroke="#0000ff" stroke-dasharray="5,2" points="117.1276,-25 117.1276,-534 277.5213,-534 277.5213,-25 117.1276,-25"/>
<text text-anchor="middle" x="197.3245" y="-517.4" font-family="Times,serif" font-size="14.00" fill="#000000">Low Side</text>
</g>
<g id="clust3" class="cluster">
<title>cluster_private</title>
<polygon fill="none" stroke="#ff0000" stroke-dasharray="5,2" points="375.1749,-16 375.1749,-543 540.9146,-543 540.9146,-16 375.1749,-16"/>
<text text-anchor="middle" x="458.0448" y="-526.4" font-family="Times,serif" font-size="14.00" fill="#000000">High Side</text>
</g>
<!-- pub_subnet1 -->
<g id="node1" class="node">
<title>pub_subnet1</title>
<ellipse fill="none" stroke="#000000" cx="197.3245" cy="-105" rx="72.3942" ry="72.3942"/>
<text text-anchor="middle" x="197.3245" y="-100.8" font-family="Times,serif" font-size="14.00" fill="#000000">Public Subnet 1</text>
</g>
<!-- priv_subnet1 -->
<g id="node4" class="node">
<title>priv_subnet1</title>
<ellipse fill="none" stroke="#000000" cx="458.0448" cy="-99" rx="74.74" ry="74.74"/>
<text text-anchor="middle" x="458.0448" y="-94.8" font-family="Times,serif" font-size="14.00" fill="#000000">Private Subnet 1</text>
</g>
<!-- pub_subnet1&#45;&gt;priv_subnet1 -->
<!-- pub_subnet2 -->
<g id="node2" class="node">
<title>pub_subnet2</title>
<ellipse fill="none" stroke="#000000" cx="197.3245" cy="-267" rx="72.3942" ry="72.3942"/>
<text text-anchor="middle" x="197.3245" y="-262.8" font-family="Times,serif" font-size="14.00" fill="#000000">Public Subnet 2</text>
</g>
<!-- priv_subnet2 -->
<g id="node5" class="node">
<title>priv_subnet2</title>
<ellipse fill="none" stroke="#000000" cx="458.0448" cy="-267" rx="74.74" ry="74.74"/>
<text text-anchor="middle" x="458.0448" y="-262.8" font-family="Times,serif" font-size="14.00" fill="#000000">Private Subnet 2</text>
</g>
<!-- pub_subnet2&#45;&gt;priv_subnet2 -->
<!-- pub_subnet3 -->
<g id="node3" class="node">
<title>pub_subnet3</title>
<ellipse fill="none" stroke="#000000" cx="197.3245" cy="-429" rx="72.3942" ry="72.3942"/>
<text text-anchor="middle" x="197.3245" y="-424.8" font-family="Times,serif" font-size="14.00" fill="#000000">Public Subnet 3</text>
</g>
<!-- priv_subnet3 -->
<g id="node6" class="node">
<title>priv_subnet3</title>
<ellipse fill="none" stroke="#000000" cx="458.0448" cy="-435" rx="74.74" ry="74.74"/>
<text text-anchor="middle" x="458.0448" y="-430.8" font-family="Times,serif" font-size="14.00" fill="#000000">Private Subnet 3</text>
</g>
<!-- pub_subnet3&#45;&gt;priv_subnet3 -->
<!-- Internet -->
<g id="node7" class="node">
<title>Internet</title>
<ellipse fill="none" stroke="#000000" cx="41.0638" cy="-267" rx="41.1277" ry="41.1277"/>
<text text-anchor="middle" x="41.0638" y="-262.8" font-family="Times,serif" font-size="14.00" fill="#000000">Internet</text>
</g>
<!-- Internet&#45;&gt;pub_subnet2 -->
<g id="edge4" class="edge">
<title>Internet-&gt;pub_subnet2</title>
<path fill="none" stroke="#000000" d="M82.5285,-267C92.4969,-267 103.4951,-267 114.6174,-267"/>
<polygon fill="#000000" stroke="#000000" points="107.1278,-270.5004 117.1276,-267 107.1275,-263.5004 107.1278,-270.5004"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB