Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/loganmc10/openshift-edge-installer
https://github.com/loganmc10/openshift-edge-installer
ansible kubernetes openshift
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/loganmc10/openshift-edge-installer
- Owner: loganmc10
- License: apache-2.0
- Created: 2022-10-12T16:39:10.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-16T19:32:43.000Z (9 months ago)
- Last Synced: 2024-05-01T23:43:33.869Z (8 months ago)
- Topics: ansible, kubernetes, openshift
- Language: Dockerfile
- Homepage:
- Size: 342 KB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Overview
The purpose of this project is to ease the setup of a provisioning cluster, as well as ease the process of installing an edge cluster.After the installation of an edge cluster is complete, the edge cluster does not depend on the provisioning cluster for anything. The provisioning cluster is simply an installer.
## Prerequisites
* Provisioning Cluster:
* Pre-existing OpenShift cluster (SNO, compact, or standard).
* If there is not an existing default StorageClass, ODF will be installed. ODF requires each node to have 2 disks (one for the OS, and one for ODF).
* Edge Cluster:
* OpenShift 4.12+
* Provisioning cluster needs to be configured first.
* Target must be a bare metal cluster (SNO, compact, or standard).
* If ODF is being installed, each node needs to have 2 disks (one for the OS, and one for ODF).
* Local machine:
* Install the following on your machine:
* Ansible
* Ansible collections: ```ansible-galaxy collection install kubernetes.core community.general ansible.utils```
* [oc binary](https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz)
* Alternatively, use the provided container. Usage instructions are included in the README for each playbook.
* Mirror:
* Both the provisioning cluster and the edge cluster should be configured to use the same registry. If they are different (for instance, if the provisioning cluster is connected and the edge cluster is going to be disconnected) the edge cluster may not be able to pull the images required by the installer agent.## Provisioning Cluster
The Ansible playbook does not handle installing the provisioning cluster itself, there are already many options for this ([IPI](https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal_ipi/ipi-install-overview.html), [UPI](https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal/installing-bare-metal.html), [Assisted Installer](https://docs.openshift.com/container-platform/latest/installing/installing_on_prem_assisted/installing-on-prem-assisted.html), [Agent-based installer](https://docs.openshift.com/container-platform/latest/installing/installing_with_agent_based_installer/preparing-to-install-with-agent-based-installer.html)). On the provisioning cluster, the playbook installs the [Multicluster Engine Operator](https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html-single/multicluster_engine/index) and [configures it](https://github.com/openshift/assisted-service/tree/master/docs/hive-integration) to handle agent-based installs.## Edge Cluster
The edge cluster is installed by creating a slightly modified [install-config.yaml](https://docs.openshift.com/container-platform/latest/installing/installing_bare_metal_ipi/ipi-install-installation-workflow.html#additional-resources_config) file (similar to an IPI install) and passing it to the Ansible playbook. The playbook uses the values from install-config.yaml to create the necessary CRs which will allow the Multicluster Engine on the provisioning cluster to perform the installation.## Notes
* Connected and disconnected/mirrored installations are both supported.
* If you are using a mirror registry, it should be populated using the [oc mirror](https://docs.openshift.com/container-platform/latest/disconnected/mirroring/about-installing-oc-mirror-v2.html) plugin.
* Only bare metal installations are supported for the edge cluster. The provisioning cluster can be any platform.