/openshift4-disconnected

Tools for disconnected installs of OCP 4

Primary LanguageJinja

OpenShift 4 Disconnected

Table of Contents

Purpose

This repository contains scripts, ansible roles, and other toosl for deploying an OpenShift 4 cluster in an air-gapped environment.

The repository has been tested to work for installs of OpenShift 4.3, 4.4, and 4.5.

The helper node in the internet connected environment, as well as the helper node in the air-gap environment have been tested on RHEL 8. Most things will still work on RHEL 7 but not all.

These tools can also be used in semi-disconnected environments which can be reached through a proxy host from the public internet.

Requirements

Dependencies

Internet Connected Side

This section covers getting started on the internet connected helper node. This is where all tools and images will be downloaded to

configure_repos.yaml filetranspiler.yaml govc.yaml helm_server.yaml icsp.yaml install_ansible_roles.yaml

install_helm.yaml

install_openvswitch.yaml install_operatorhub.yaml install_pip.yaml install_roles.yaml install_tools.yaml

mirror_helm.yaml mirror_ocp_images.yaml mirror_operatorhub.yaml mirror_rhcos.yaml mirror_rpms.yaml pull_additional_images.yaml pull_ansible_roles.yaml pull_pip.yaml pull_roles.yaml pull_tools.yaml push_additional_images.yaml

Air Gap Side Infrastructure Prep/Setup

This section covers setting up the infrastructure in the air gap environment and install the OpenShift 4 cluster

Note that not all of these roles may be required for your air-gapped environment.

baremetal_provisioner.yaml

AWS Specific Instructions

VMWare Specific Instructions

  • powerdown_esxi.yaml
  • poweron_esxi.yaml
  • install_esxi.yaml

Bare Metal Specific Instructions

Storage Documentation

Check Playbooks

  • check_dns.yaml
  • check_loadbalancer.yaml

Miscellaneous

When installing in an emulator you may require an SSH tunnel to reach the web console. The DNS names need to be configured because the cluster's pages will redirect so using IPs directly won't work.

ssh -L 127.0.0.2:8443:<IP Address of the https load balancer>:443 -L 127.0.0.2:8080:<IP Address of the https load balancer>:80 ec2-user@proxyhost

Inside your local /etc/hosts:

127.0.0.2 console-openshift-console.apps.<ocp_cluster_name>.<ocp_base_domain> oauth-openshift.apps.<ocp_cluster_name>.<ocp_base_domain>

Now browse to https://console-openshift-console.apps.<ocp_cluster_name>.<ocp_base_domain>

License

Contributors