Here, we will collect all the info around the ZTP flow, which are the preferred scenarios, the steps to follow and much more. Let's get started from the beginning with some context and theory.
ZTP stands for Zero Touch Provisioning, a project to deploy and deliver OpenShift 4 in a HUB-SPOKE architecture (in a relation of 1-N), where the HUB will manage many Spokes. The Hub and the Spokes will be based on OpenShift 4 but with the difference that the HUB cluster will manage and deploy the spokes using RHACM (Red Hat Advanced Cluster Management).
Why Zero Touch Provisioning If I need to deploy some things by hand?, well this is a fair question, we need to have a consistent base for the hub to perform the Spoke deployments and for that we need to deploy OpenShift Container Platform 4 (On an IPI way) if not we will have the egg-chicken issue.
Why is this related with Single Node OpenShift (SNO) and Remote Worker Node (RWN)?, in the 5G world exists some areas called RAN (Radio Access Network) here we have some scenarios but the important points here is, SNO will be mostly on the D-RAN places and eventually on C-RAN ones, this happens in the same way with RWN.
On a high level view, we have two scenarios, the connected world and the disconnected world which means, that your OpenShift nodes can access directly to the Internet or not. From here we need to separate them in two ways to follow. the disconnected one will need to fill some pre-requisites before the action starts, let's take a look to some diagrams:
These are the steps 1-by-1 that we need to follow in order to deploy every element of ZTP, including the Hub and the Spoke cluster. As you see, there are some differences between those but mostly on the pre-requisites side.
Here we will need some basic components, the OpenShift Hub cluster will need at least:
- OpenShift Container Platform version 4 in a IPI deployment way (which includes Metal³ pods)
- Storage to work with (3 PVs at least to deploy ACM)
- ACM Software available (v2.3.0)
- Hive
- Assisted Installer
- The manifests to create the Spoke clusters
- The BareMetal nodes to deploy OpenShift on top of them
Well, we can discover how to deal with ZTP following these steps:
- Pre-Requirements Phase (Optional just for Disconnected cases)
- Disconnected ZTP Flow Hub deployment
- Connected ZTP Flow Hub deployment
NOTE: A series of demonstration videos showing the entire process for disconnected environments is available here
From here we can experiment a bit more with the massive Deployments and Policies with ACM, for that we will create a new section