GitHunt
RA

raballew/okd-the-hard-way

Bootstrap an OKD cluster the hard way on user-provisioned infrastructure in a disconnected environment. No scripts.

OKD The Hard Way

This tutorial is an homage to Kelsey Hightowers approach of setting up
Kubernetes.

OKD The Hard Way also tries to take the very long way to ensure you understand
each task required to bootstrap an OKD cluster. For this purpose this tutorial
is not going to use a cloud provider to kick the tires on OKD. Therefore
Installer Provisioned Infrastructure (IPI) is not suitable for the purpose of
this workshop, so that the installation will be performed on User Provisioned
Infrastructure (UPI). In the end you should be able to explain why things were
setup the way they are and troubleshoot more advanced issues.

Cluster Details

OKD The Hard Way guides you trough bootstrapping a highly available OKD cluster
on UPI in a disconnected environment following practices and settings used in
real world scenarios.

Nodes

# OS RAM CPU Disk Usage
1 Fedora 8 GB 2 256 GB services
1 Fedora Core OS 16 GB 4 128 GB bootstrap
3 Fedora Core OS 16 GB 4 128 GB master
3 Fedora Core OS 16 GB 4 128 GB compute
3 Fedora Core OS 16 GB 4 128 GB infra
3 Fedora Core OS 32 GB 8 128 GB + 256 GB storage

Components

Labs

This lab can be split into three parts. The first part will guide you through
all steps required to setup a new cluster.

Part two will then prepare the cluster for multi-tenant production workloads and
operations.

Everything mentioned in parts one and two is explained in detail but the
drawback is that all the steps need to be performed manually. In the event of a
disaster it will take quite some time to recover from the outage. Therefore it
is recommended to build a fully automated process to spin up and maintain your
cluster, but as this lab is designed with a no-scripts mindset, that is
something you need to figure on your own. The following sections contains a
bunch of helpful comments on various topics such as cluster operations or useful
code snippets.

Whenever things break or an unexpected issue occurs, please refer to the
troubleshooting section. You can also create a new
issue if you
have the feeling that something is wrong or could be done better.

Contributing

We encourage contributions back to the upstream project and are happy to accept
pull requests for anything from small documentation fixes to whole new
environments. Also check out our contributing guide.
To get started, please do not hesitate to submit a PR. We will happily guide you
through any needed changes.

Code of Conduct

The Rust code of conduct is adhered by
the OKD The Hard Way project.

All contributors, community members, and visitors are expected to familiarize
themselves with the code of conduct and to follow these standards in all OKD The
Hard Way-affiliated environments, which includes but is not limited to
repositories, chats, and meetup events.

License

Licensed under MIT license (LICENSE.md).

Contributors

MIT License
Created September 2, 2020
Updated February 27, 2026