diff --git a/README.adoc b/README.adoc index c21c607..0db32cc 100644 --- a/README.adoc +++ b/README.adoc @@ -1,103 +1,39 @@ -=== Getting Started +== Introduction -This template is designed to be used as a base for your showroom lab guides. +This repository hosts the lab guide for the OpenShift on OpenShift with Hosted Control Planes lab, which will be delivered by Red Hat Associates at the Red Hat One event in Spring 2025. -The content is built using Antora, a static site generator for creating documentation sites from AsciiDoc documents. +It is designed to work with the Showroom lab environment provided by the Red Hat Demo Platform (RHDP) team. -This git repo template was created to make it easy for you to start developing your lab instructions. +This lab is organized to allow you to have a hands-on experience with Red Hat OpenShift Virtualization. -Features: +OpenShift Virtualization enables you to bring virtual machines onto a modern, Kubernetes-based infrastructure. It enables the development and delivery of new applications as well as the modernization of existing ones and can create applications that consist of virtual machines, containers, and serverless functions - all managed together using Kubernetes-native tools and paradigms. -. 0% cruft -. Red Hat Demo Platform UI Bundle default -. Dev Mode extension that displays the asciidoc attributes you have to work with -. Content is generated using Antora, a static site generator for creating documentation sites from AsciiDoc documents. +In this event we will explore many common management activities that virtual administrators often encounter in their day to day workflows. -== Getting Started -=== Using Containers (Recommended) +== Lab Content -In order to test and develop on your local machine, you can use a specially built container with Podman or Docker as follows. +These are the four main sections that will be covered: -. Create a git repo from this template -.. Suggested naming: `showroom_` -. Clone your new repo and `cd` into it -. When you make changes to the content, all you need is to kill the container and run it again. -+ -[source,sh] ----- -podman run --rm --name antora -v $PWD:/antora -p 8080:8080 -i -t ghcr.io/juliaaano/antora-viewer ----- +*Deployment:* Using Red Hat Advanced Cluster Management for Kubernetes (RHACM) to deploy a virtual OpenShift on OpenShift cluster using Red Hat OpenShift Virtualization. This section also explores the environment once it's deployed. -Live-reload is not supported. +*Configuration:* Performing operations on the *hosting* cluster to enact configuration changes on the *hosted* cluster. -=== Using Local Files (Less Recommended) +*Scaling:* NodePools in a Hosted Control Planes environment can be configured to autoscale when resources are unavaialable to meet application requests. We will deploy an application and scale it up, requiring the cluster to scale up dynamically to meet application needs. -. Create a git repo from this template -. Clone the repo and `cd` into it -. Run ./utilities/lab-serve -. Open http://localhost:8080 in your browser -. Run ./utilities/lab-build to build your html +*Cluster Upgrades:* A demonstration of centralized fleet management by exploring cluster upgrade processes, and a walkthrough of the cluster upgrade process using Red Hat Advanced Cluster Management for Kubernetes. -To rebuild your html, run `./utilites/build`. -== Editing Files +== Version Information -Now you are ready to go! -You can start editing the files in the `content/modules/ROOT/pages/` directory. +This edition of the lab has been developed using the following software versions: -Many modern editors such as Visual Studio Code offer live Asciidoc Preview extensions. +Red Hat Advanced Cluster Management for Kubernetes 2.12 -=== Understanding the Basic Template Directory Structure +Red Hat OpenShift 4.17.4 -[source,sh] ----- -./content/modules/ROOT/ -├── assets -│ └── images # Images used in your content -│ └── example-image.png -├── examples # You can add downloadable assets here -│ └── example-bash-script.sh # e.g. an example bash script -├── nav.adoc # Navigation for your lab -├── pages # Your content goes here -│ ├── index.adoc # First page of your lab, e.g. overview etc -│ ├── module-01.adoc -│ └── module-02.adoc # Sample lab has 2 modules including index.adoc -└── partials # You can add partials here, reusable content inserted inline into your modules - └── example_partial.adoc ----- +Red Hat OpenShift Virtualization 4.17.1 -== Adding Additional Links +Red Hat OpenShift Data Foundation 4.16.3 -You can add links to external content in the convenient "Links" drop-down on the upper-right of the Showroom Summit 2024 UI. - -../content/antora.yml -[source,yaml] ----- -asciidoc: - attributes: - page-links: - - url: https://redhat.com - text: Red Hat ----- - -image::ui-links.png[] - -== Dev Mode - -As a convenience to developers, the Dev Mode Extention (disabled by default) displays the asciidoc attributes you have to work with while writing your lab instructions. - -. Disable/Enable Dev Mode by changing `enabled: true` or `enabled: false` -+ -.default-site.yml -[source,yaml] ----- -extensions: - - id: dev-mode - require: ./content/lib/dev-mode.js - enabled: false ----- - -. Produces -+ -image::dev-mode.png[] +Multicluster Engine for Kubernetes 2.7.1 diff --git a/content/modules/ROOT/assets/images/intro/acm_overview.png b/content/modules/ROOT/assets/images/intro/acm_overview.png index d7929da..d5223e0 100644 Binary files a/content/modules/ROOT/assets/images/intro/acm_overview.png and b/content/modules/ROOT/assets/images/intro/acm_overview.png differ diff --git a/content/modules/ROOT/assets/images/intro/hcp_v.png b/content/modules/ROOT/assets/images/intro/hcp_v.png index 06426db..1bf8654 100644 Binary files a/content/modules/ROOT/assets/images/intro/hcp_v.png and b/content/modules/ROOT/assets/images/intro/hcp_v.png differ diff --git a/content/modules/ROOT/assets/images/intro/hosted_control_planes.png b/content/modules/ROOT/assets/images/intro/hosted_control_planes.png index c3c31a8..2e394c9 100644 Binary files a/content/modules/ROOT/assets/images/intro/hosted_control_planes.png and b/content/modules/ROOT/assets/images/intro/hosted_control_planes.png differ diff --git a/content/modules/ROOT/nav.adoc b/content/modules/ROOT/nav.adoc index ad45e13..e4167e0 100644 --- a/content/modules/ROOT/nav.adoc +++ b/content/modules/ROOT/nav.adoc @@ -1,11 +1,12 @@ * xref:index.adoc[Introduction] ** xref:index.adoc#value-prop[Value Prop] ** xref:index.adoc#arc-con[Architectural Concepts] +** xref:index.adoc#lab-summary[Lab Summary] ** xref:index.adoc#lab-info[Lab Information] * xref:module-deploy.adoc[Deploy a Hosted Cluster] ** xref:module-deploy.adoc#deploy-prereqs[Prerequisites for Deployment] ** xref:module-deploy.adoc#deploy-cluster[Deploy Cluster] -** xref:module-deploy.adoc#explore-cluster[Explore NodePools] +** xref:module-deploy.adoc#explore-cluster[Explore Cluster] * xref:module-configure.adoc[Configure Hosted Cluster] ** xref:module-configure.adoc#local-auth[Configure Authenticaion] ** xref:module-configure.adoc#test-auth[Test Authentication] @@ -16,4 +17,4 @@ * xref:module-upgrade.adoc[Upgrade the Hosted Cluster] ** xref:module-upgrade.adoc#review-upgrade[Review the Upgrade Process] ** xref:module-upgrade.adoc#apply-upgrade[Apply the Cluster Upgrade] -* xref:module-summary.adoc[Lab Summary] +* xref:module-summary.adoc[Lab Wrap-up and Summary] diff --git a/content/modules/ROOT/pages/index.adoc b/content/modules/ROOT/pages/index.adoc index d77804a..23446b5 100644 --- a/content/modules/ROOT/pages/index.adoc +++ b/content/modules/ROOT/pages/index.adoc @@ -34,12 +34,25 @@ This is an example architecture showing a single hosting cluster, and multiple v image::intro/hcp_v[link=self, window=blank, width=100%] -Such fleet management is greatly eased by the deployment of https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.12/html/about/index[Red Hat Advanced Cluster Managment for Kubernetes (RHACM)^] as a part of the solution. +Such fleet management is greatly eased by the deployment of https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes/2.12/html/about/index[Red Hat Advanced Cluster Management for Kubernetes (RHACM)^] as a part of the solution. The following graphic shows how a managed cluster depends on the hub cluster for a number of advanced features: image::intro/acm_overview[link=self, window=blank, width=100%] +[[lab-summary]] +== Lab Summary + +These are the four main sections that will be covered in the lab: + +*Deployment:* Using Red Hat Advanced Cluster Management for Kubernetes (RHACM) to deploy a virtual OpenShift on OpenShift cluster using Red Hat OpenShift Virtualization. This section also explores the environment once it's deployed. + +*Configuration:* Performing operations on the *hosting* cluster to enact configuration changes on the *hosted* cluster. + +*Scaling:* NodePools in a Hosted Control Planes environment can be configured to autoscale when resources are unavaialable to meet application requests. We will deploy an application and scale it up, requiring the cluster to scale up dynamically to meet application needs. + +*Cluster Upgrades:* A demonstration of centralized fleet management by exploring cluster upgrade processes, and a walkthrough of the cluster upgrade process using Red Hat Advanced Cluster Management for Kubernetes. + [[lab-info]] == Requirements for the Lab Environment diff --git a/content/modules/ROOT/pages/module-configure.adoc b/content/modules/ROOT/pages/module-configure.adoc index 2e76f50..9cf0cda 100644 --- a/content/modules/ROOT/pages/module-configure.adoc +++ b/content/modules/ROOT/pages/module-configure.adoc @@ -30,7 +30,7 @@ hcp create kubeconfig --name my-hosted-cluster >> my-hosted-cluster.kube + image::configure/create_kubeconfig.png[link=self, window=blank, width=100%] -. Use the newly created kubeconfig to check the number of nodes in the hosted cluster nodepool to confirm it's working as expected. +. Use the newly created kubeconfig to check the number of nodes in the hosted cluster node pool to confirm it's working as expected. + [source,sh,role=execute,subs="attributes"] ---- diff --git a/content/modules/ROOT/pages/module-deploy.adoc b/content/modules/ROOT/pages/module-deploy.adoc index 9ccca28..7c4496c 100644 --- a/content/modules/ROOT/pages/module-deploy.adoc +++ b/content/modules/ROOT/pages/module-deploy.adoc @@ -217,7 +217,7 @@ image::deploy/hosted_cluster_applications.png[link=self, window=blank, width=100 + image::deploy/cluster_overview_nodes_tab.png[link=self, window=blank, width=100%] -. You will be taken to a page that shows the nodes in your nodepool, and some basic information about their resources. if you recall we configured two during the deployment. Click on the first cluster node to explore it further. +. You will be taken to a page that shows the nodes in your node pool, and some basic information about their resources. if you recall we configured two during the deployment. Click on the first cluster node to explore it further. + image::deploy/cluster_overview_nodes_tab.png[link=self, window=blank, width=100%] @@ -229,12 +229,12 @@ image::deploy/hosted_cluster_node_details.png[link=self, window=blank, width=100 + image::deploy/manage_cluster_nodepools.png[link=self, window=blank, width=100%] -. You will be prompted with a pop-up window to *Manage node pool* where you can manually scale the nodepool to more than 2 nodes. Close this window when you are done viewing it. +. You will be prompted with a pop-up window to *Manage node pool* where you can manually scale the node pool to more than 2 nodes. Close this window when you are done viewing it. + image::deploy/scale_up_nodepool.png[link=self, window=blank, width=100%] -IMPORTANT: Do not scale the cluster at this time! We will work with nodepools later in the lab. +IMPORTANT: Do not scale the cluster at this time! We will work with node pools later in the lab. == Summary -In this module of our lab we have deployed a hosted OpenShift cluster on OpenShift by using Hosted Control Planes. We explored the pods that make up the control plane, and the virtual machines that make up the worker nodepool. +In this module of our lab we have deployed a hosted OpenShift cluster on OpenShift by using Hosted Control Planes. We explored the pods that make up the control plane, and the virtual machines that make up the worker node pool. diff --git a/content/modules/ROOT/pages/module-scale.adoc b/content/modules/ROOT/pages/module-scale.adoc index f426d80..0097856 100644 --- a/content/modules/ROOT/pages/module-scale.adoc +++ b/content/modules/ROOT/pages/module-scale.adoc @@ -1,6 +1,6 @@ = Scaling the Cluster -One of the major benefits of OpenShift on OpenShift with Hosted Control Planes is how easy it is for the cluster nodepools to scale dynamically. As resources are consumed in the hosted cluster, the hosting cluster monitor's it's performance and will autoscale the cluster to meet the requested needs. In this section we will demonstrate this feature. +One of the major benefits of OpenShift on OpenShift with Hosted Control Planes is how easy it is for the cluster node pools to scale dynamically. As resources are consumed in the hosted cluster, the hosting cluster monitor's it's performance and will autoscale the cluster to meet the requested needs. In this section we will demonstrate this feature. . Goals * Deploy an application to the cluster. @@ -96,7 +96,7 @@ image::scale/scale_application.png[link=self, window=blank, width=100%] + image::scale/out_of_resources.png[link=self, window=blank, width=100%] -. Return to the tab that shows the information for the hosting cluster, and we should see the size of the nodepool dynamically update. +. Return to the tab that shows the information for the hosting cluster, and we should see the size of the node pool dynamically update. + image::scale/node_pool_update.png[link=self, window=blank, width=100%] @@ -108,7 +108,7 @@ image::scale/new_vm.png[link=self, window=blank, width=100%] + image::scale/nodepool_autoscale_ready.png[link=self, window=blank, width=100%] -. Click on the *Nodes* tab at the top to see the *Three* nodes that make up our nodepool now. +. Click on the *Nodes* tab at the top to see the *Three* nodes that make up our node pool now. + image::scale/nodes_menu.png[link=self, window=blank, width=100%] diff --git a/content/modules/ROOT/pages/module-summary.adoc b/content/modules/ROOT/pages/module-summary.adoc index 95e7a4a..ba40a75 100644 --- a/content/modules/ROOT/pages/module-summary.adoc +++ b/content/modules/ROOT/pages/module-summary.adoc @@ -1 +1,24 @@ -== Lab Summary +== Lab Wrap-up and Summary + +In completing this lab you will have performed the following tasks: + +.*Hosted Cluster Deployment:* +.. We reviewed the prerequisites required to deploy an OpenShift on OpenShift cluster with Hosted Control Planes. +.. We made use of Red Hat Advanced Cluster Management for Kubernetes to deploy our OpenShift on OpenShfit cluster. +.. We explored our deployed cluster, including the control plane pods and node pools that it is composed of. + +.*Configuration:* +.. We configured authentication for our cluster from the hosting cluster environment. +.. We tested our authentication method, and applied authorization configurations to our hosted cluster environment. + +. *Scaling:* +.. We deployed an application in our hosted cluster, demonstrating that processes are the same as any other OpenShift deployment. +.. We configured our node pools to autoscale when resources are unavaialable to meet application requests. +.. We scaled our application up to multiple replicas, triggering an autoscale event. +.. We deleted our deployment and observed the cluster autoscale back down once extra resources weren't required. + +. *Cluster Upgrades:* +.. We explored the different methods available to us to upgrade our hosted cluster, or our entire fleet of clusters. +.. We performed a cluster upgrade using Red Hat Advanced Cluster Management for Kubernetes. + + diff --git a/default-site.yml b/default-site.yml index aed2871..3be584e 100644 --- a/default-site.yml +++ b/default-site.yml @@ -26,7 +26,7 @@ runtime: antora: extensions: - require: ./content/lib/dev-mode.js - enabled: true + enabled: false output: dir: ./www