OpenShift Installation
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.:
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
TODO B3cEwd.
Generic installation instructions:
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.