Giter Site home page Giter Site logo

atsigr / ocp4-helpernode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from redhat-cop/ocp4-helpernode

0.0 0.0 0.0 12.48 MB

This playbook helps set up an "all-in-one" node, that has all the infrastructure/services in order to install OpenShift 4.

Shell 27.05% Jinja 72.95%

ocp4-helpernode's Introduction

OCP4 Helper Node

Red Hat support cannot assist with problems with this Repo. For issues please open a GitHub issue

This playbook helps set up an "all-in-one" node, that has all the infrastructure/services in order to install OpenShift 4. After you run the playbook, you'll be ready to begin the installation process.

A lot of OpenShift 4 specific jargon is used throughout this doc, so please visit the official documentation page to get familiar with OpenShift 4.

⚠️ This playbook originally was written with BareMetal UPI install in mind

This playbook assumes the following:

  1. You're on a Network that has access to the internet.
  2. The network you're on does NOT have DHCP (you can disable installing DHCP on the helper).
  3. The ocp4-helpernode will be your LB/DHCP/PXE/DNS and HTTP server.
  4. You still have to do the OpenShift Install steps by hand.
  5. I used CentOS 7/8, but RHEL 7/8 will work as well.
  6. You will be running the openshift-install command from the ocp4-helpernode.

Below is a highlevel diagram how the ocp4-helpernode fits into your network.

ocp4-helpernode

It's important to note that you can delegate DNS to this ocp4-helpernode if you don't want to use it as your main DNS server. You will have to delegate $CLUSTERID.$DOMAIN to this helper node.

For example; if you want a $CLUSTERID of ocp4, and you have a $DOMAIN of example.com. Then you will delegate ocp4.example.com to this ocp4-helpernode.

Using this playbook

The following are highlevel steps on how to use this playbook. There are more detailed instructions in the "quickstarts" section.

Prereqs

⚠️ NOTE If using RHEL 7, you will need to enable the rhel-7-server-rpms and the rhel-7-server-extras-rpms repos. If you're using RHEL 8, you will need to enable rhel-8-for-x86_64-baseos-rpms, rhel-8-for-x86_64-appstream-rpms, and ansible-2.9-for-rhel-8-x86_64-rpms.

Install a CentOS 7 or CentOS 8 server with this recommended setup:

  • 4 vCPUs
  • 4 GB of RAM
  • 30GB HD
  • Static IP

There is a sample kickstart file for EL 7 and EL 8 that is used during testing, if you'd like to automate the initial install of the OS.

Once the base OS is installed, install EPEL

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm

Next install ansible and git, then clone this repo.

yum -y install ansible git
git clone https://github.com/redhat-cop/ocp4-helpernode
cd ocp4-helpernode

Setup your Environment Vars

Inside that dir there is a vars.yaml file under docs/examples/var.yaml ... modify it to match your network and the environment. (the example one assumes a /24)

cp docs/examples/vars.yaml .

⚠️ NOTE, currently this playbook assumes/is limited to a /24 network

See the vars.yaml documentation page for more info about what you can define. There are different options, depending on what you're doing. For example, if you're doing a static ip install vs a dhcp install.

Run the playbook

Once you edited your vars.yaml file; run the playbook

ansible-playbook -e @vars.yaml tasks/main.yml

Helper Script

You can run this script and it's options to display helpful information about the install and other post-install goodies.

/usr/local/bin/helpernodecheck

Install OpenShift 4 UPI

Now you're ready to follow the OCP4 UPI install doc

Quickstarts

The following are quickstarts. These are written using libvirt, but are generic enough to be used in BareMetal or other Virtualized Environments.

Contributing

Please see the contributing doc for more details.

ocp4-helpernode's People

Contributors

christianh814 avatar schabrolles avatar prajyot-parab avatar canit00 avatar cs-zhang avatar bpradipt avatar sydefree avatar tosmi avatar tribalnightowl avatar therevoman avatar sajauddin avatar gauthiersiri avatar yussufsh avatar etoews avatar danielvaknin avatar salanisor avatar rcarrata avatar operst avatar lautou avatar jforce avatar arcprabh avatar zmc avatar ptux avatar walidshaari avatar samueltauil avatar rishikumarray avatar rarguello avatar miabbott avatar krishvoor avatar siliconjesus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.