Single Node OpenShift is a great way to get started with containerization and Kubernetes, and it's surprisingly easy to set up.
You can run a single Node OpenShift cluster on a single machine, which makes it perfect for development and testing environments.
First, you'll need to install the OpenShift CLI, which will allow you to interact with your cluster.
You can download the CLI from the official OpenShift website and follow the installation instructions.
To start a Single Node OpenShift cluster, you'll use the oc cluster up command.
OpenShift Overview
OpenShift is a container application platform that allows developers to build, deploy, and manage applications in a cloud-native environment. It's designed to simplify the process of creating and managing applications, making it a popular choice for developers and organizations.
OpenShift is built on top of Kubernetes, a container orchestration system that automates the deployment, scaling, and management of containers. This allows developers to focus on writing code rather than managing infrastructure.
OpenShift provides a scalable and secure environment for applications, with features like resource quotas, network policies, and role-based access control. This ensures that applications are always running smoothly and securely, without the need for manual intervention.
OpenShift
OpenShift is a powerful platform for containerized applications. You can create a single-node cluster with standard installation methods.
A single-node cluster is a specialized installation that requires a special ignition configuration ISO. This setup is ideal for edge computing workloads, such as intermittent connectivity and 5G radio access networks.
The primary tradeoff with a single-node installation is the lack of high availability. This means that if one component fails, the entire system is affected.
OVN-Kubernetes is the default networking solution for single-node OpenShift deployments.
Deployment Overview
OpenShift is a powerful platform that can be deployed in various environments, including AWS, Azure, and Google Cloud Platform (GCP).
In AWS, you can deploy OpenShift in an IPI (Infrastructure as a Product) cluster, which runs Advanced Cluster Management and Security features. Additionally, you can deploy ROSA (Red Hat OpenShift Service on AWS), OSD (OpenShift Data Foundation), and ARO (Azure Red Hat OpenShift).
In GCP, you can deploy OpenShift in a GKE (Google Kubernetes Engine) cluster, as well as an OSD cluster.
Here's a summary of the different OpenShift deployments:
Each of these deployments has its own unique characteristics, such as different DNS zones, networks, and infrastructure. This can make it challenging to introduce an edge single-node OpenShift deployment, but with the right tools and configuration, it's definitely possible.
Installation Methods
You can deploy Single Node OpenShift via the Assisted Installer once Public and Private DNS Zones are resolving queries properly and firewall ports are open.
The Assisted Installer is a viable option for deployment.
A Single Node OpenShift instance can be deployed on a VM running on ESXi, with networking in place to make it happen.
In the author's experience, deploying on a VM can be beneficial, especially in a lab setting.
The author's "edge" deployment, a VM on ESXi, has been repurposed to run Nutanix's AHV, showcasing flexibility in deployment options.
Single Node OpenShift can be deployed using various methods, each with its own set of requirements.
The Assisted Installer is one such method, which can be used once the necessary prerequisites are met.
Cloud Deployment
To deploy a single node OpenShift cluster in the cloud, you'll need to log in and select the "Create Cluster" button. This will take you through the cloud deployment steps.
First, you'll need to select "Datacenter" and then "Create cluster" again underneath "Assisted Installer - Technology Preview". Next, enter a cluster name and add in the base domain. You can then select "Install single node OpenShift (SNO)" as the default is to deploy a multi-node cluster.
You'll need to read and accept the warnings about single node OpenShift availability, scalability, and life cycle management limitations at present given it is a technology preview. After that, select "Generate Discovery ISO" and add your public SSH key to download the ISO. Attach this discovery ISO to the host you wish to install, set the host to automatically boot from CDROM, and power the system up.
The installation will take around 50 minutes to complete, depending on your internet connection speed. Once the installation is complete, you can create a Physical Volume Claim (PVC) using the following command to create an empty claim:
Cloud Provider Requirements
When deploying OKD on a cloud provider, you'll need to meet some specific requirements. For a single-node OKD cluster, you'll only need a temporary bootstrap machine and one cloud instance for the control plane node.
To ensure a smooth installation, you'll need a cloud instance with at least 8 vCPU cores and 120GB of storage. This is a significant requirement compared to a high availability cluster, which only needs 4 vCPUs and 100GB of storage.
You'll also need to configure your install-config.yaml file accordingly. Set the controlPlane.replicas setting to 1, and the compute.replicas setting to 0. This will make the control plane node schedulable.
Here's a quick summary of the cloud provider requirements for a single-node OKD cluster:
Cloud Providers
Cloud providers play a crucial role in cloud deployment. You can deploy OKD on several cloud providers, including Amazon Web Service (AWS), Microsoft Azure, and Google Cloud Platform (GCP).
Each cloud provider has its own set of supported CPU architectures. For instance, AWS supports both x86_64 and AArch64, while Microsoft Azure only supports x86_64.
You can install a single-node OKD cluster on these cloud providers using the respective procedures. For example, installing a cluster on AWS requires a specific procedure, and installing a single node cluster on Azure requires installer-provisioned installation.
Here's a table summarizing the supported cloud providers and their CPU architectures:
To install a single-node OKD cluster on Azure, you'll need to follow the "Installing a cluster on Azure with customizations" procedure.
GCP
If you're looking to deploy a cluster on Google Cloud Platform, you'll want to consider installing a single-node OKD cluster. Installing a single node cluster on GCP requires installer-provisioned installation using the "Installing a cluster on GCP with customizations" procedure.
To get started, you'll need to follow the custom installation process, which involves using the installer-provisioned installation method. This method allows for more flexibility and control over the deployment process.
On GCP, you can't simply spin up a cluster without some planning and configuration. You'll need to create a custom installation using the installer-provisioned method to ensure a smooth deployment.
Cloud Deployment Steps
To create a cluster in the cloud, start by logging in and selecting the "Create Cluster" button. This is the first step in the process.
Next, you'll need to select the "Datacenter" and then click "Create cluster" again underneath "Assisted Installer - Technology Preview". This is where things can get a bit technical, but don't worry, we'll walk through it together.
Enter a cluster name and add in the base domain. This will help you identify your cluster and ensure it's properly configured.
By default, OpenShift will deploy a multi-node cluster, but you can opt for a single node cluster by selecting "Install single node OpenShift (SNO)". Be aware that single node OpenShift is a technology preview and comes with some limitations.
You'll need to read and accept the warnings about single node OpenShift availability, scalability, and life cycle management limitations. This is an important step to ensure you understand the implications of your choice.
To proceed, select "Generate Discovery ISO" and add your public SSH key. This will allow you to download the ISO and start the installation process.
Once you have the ISO, attach it to the host you wish to install and set it to automatically boot from CDROM. Powering the system up will initiate the installation process.
The installation will take around 50 minutes to complete, depending on your internet connection speed. You can track the progress in the assisted installer UI.
Here are the steps to create a cluster in the cloud:
- Login and select the “Create Cluster” button.
- Select “Datacenter” and then select “Create cluster” again underneath “Assisted Installer - Technology Preview”
- Enter a cluster name and add in the base domain.
- Select “Install single node OpenShift (SNO)”
- Read and accept the warnings about single node OpenShift availability, scalability and life cycle management limitations
- Generate Discovery ISO and add your public SSH key
- Attach the ISO to the host and set it to boot from CDROM
- Power up the system and track the installation progress
- Click next, review the settings and select “Install cluster”
After completing these steps, you'll be ready to create a PVC (Physical Volume Claim) using the command to create an empty claim.
Deploying SNO
Deploying SNO is a straightforward process that can be completed using the Assisted Installer. You'll need to create a new cluster in the Assisted Installer service, giving it a name and base domain.
To deploy SNO, you'll need to select OpenShift 4.9 as the Cluster Version and check the box next to Install Single Node OpenShift (SNO). This will present you with the Host Discovery screen.
Make sure to get the Cluster UUID from the Assisted Installer Service, it's part of the URL in the Address Bar of your browser. This will be used to identify your cluster.
The deployment process involves several steps, including selecting the "Install single node OpenShift (SNO)" option and reading and accepting the warnings about single node OpenShift availability, scalability, and life cycle management limitations.
Here's a summary of the deployment steps:
Once the installation is complete, you'll need to create a Physical Volume Claim (PVC) using the following command:
Sources
- https://docs.redhat.com/en/documentation/openshift_container_platform/4.10/html/installing/installing-on-a-single-node
- https://docs.okd.io/latest/installing/installing_sno/install-sno-installing-sno.html
- https://stackoverflow.com/questions/65854465/okd-4-5-single-node-installation
- https://kenmoini.com/post/2021/11/sno-at-the-edge/
- http://lewisdenny.io/single_node_openshift_deployment_guide/
Featured Images: pexels.com