OpenShift Installation

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

There are two installation methods: quick install, which uses a CLI tool available in the "atomic-openshift-utils" package, which, in turn, uses Ansible in the background, and advanced install. The advanced install assumes familiarity with Ansible.

Prerequisites

System Requirements

Relevance OpenShift 3.3.

Master

  • Physical or virtual system.
  • RHEL 7.1 installed with the "minimal" installation option.
  • 2 CPUs
  • 8 GB RAM
  • 30 GB storage space.

Node

  • Physical or virtual system.
  • RHEL 7.1 installed with the "minimal" installation option.
  • 1 CPU
  • 8 GB RAM
  • 15 GB storage space.
  • Docker 1.9.1 or later
  • 15 GB to allocated to Docker storage.

External DNS Setup

An external DNS server is required.

After setup, the DNS server needs to be configured to resolve a public wildcard DNS entry to the public IP address of the node that executes the default router, by adding an A record, with a low TTL. If the environment has multiple routers, an external load balancer is required.

*.myapp.example.com. 300 IN  A 1.2.3.4

O/S Installation

Execute a minimal installation on one host, and perform the following steps. Then the same image can be used for as a base for the other nodes.

Register all hosts with Red Hat Subscription Manager to RHEL 7.x and OpenShift 3 repositories.

Extra packages required:

yum install wget git net-tools bind-utils iptables-services bridge-utils bash-completion
yum update -y

Turn off firewalld and configure the iptables service

  • Make sure master can issue remote commands on the nodes without requiring password. Ansible, who runs the installation process, requires a user that has password-less access to all hosts.

From the master, as root:

# ssh-keygen
# ssh-copy-id root@node1.example.com
  • Configure iptables. iptables must be running and the following ports must be open. Most of the ports will be configured by the installer, automatically - verify that.:
OpenShift Ports

Install Docker

A Docker that works with OpenShift must be installed from rhel-7-server-ose-3.2-rpms and have it running on master and all nodes before installing OpenShift. Version requirements are specified in Prerequisites.

yum install docker

Edit /etc/sysconfig/docker and add:

OPTIONS=--selinux-enabled --insecure-registry 172.30.0.0/16

--insecure-registry instructs Docker daemon to trust any Docker registry on 172.30.0.0/16 subnet without requiring a certificate.

The default loopback storage is not appropriate for production, it should be replaced by a thin-pool logical volume. Use the docker-storage-setup script:

  • The script reads configuration options from /etc/sysconfig/docker-storage-setup.
  • Reinitialized Docker before starting docker-storage-setup:
systemctl stop docker
rm -rf /var/lib/docker/*
  • Execute docker-storage-setup to create thin-pool volume free space in the volume group where the root filesystem resides.
  • Use the existing volume group to create thin-pool:
# cat /etc/sysconfig/docker-storage-setup
DEVS=/dev/vdb
VG=docker-vg
# docker-storage-setup

Generic installation instructions:

Docker Installation

Run CLI to Install

Post-Install

Deploy the Integrated Docker Registry

Deploy the HAProxy Router

Load Image Streams

Load Templates

Set up NFS

The NFS server is required for persistent volumes.