OpenShift Installation: Difference between revisions
Line 89: | Line 89: | ||
--insecure-registry instructs Docker daemon to trust any Docker registry on 172.30.0.0/16 subnet without requiring a certificate. | --insecure-registry instructs Docker daemon to trust any Docker registry on 172.30.0.0/16 subnet without requiring a certificate. | ||
The [[Docker_Concepts#Loopback_Storage|default loopback storage]] is not appropriate for production, it should be replaced by a [[Linux_Logical_Volume_Management_Concepts#Thinly-Provisioned_Logical_Volumes_.28Thin_Volumes.29|thin-pool logical volume]]. Use: | The [[Docker_Concepts#Loopback_Storage|default loopback storage]] is not appropriate for production, it should be replaced by a [[Linux_Logical_Volume_Management_Concepts#Thinly-Provisioned_Logical_Volumes_.28Thin_Volumes.29|thin-pool logical volume]]. Use the <tt>docker-storage-setup</tt> script: | ||
* The script reads configuration options from <tt>/etc/sysconfig/docker-storage-setup</tt>. | |||
* Reinitialized Docker before starting <tt>docker-storage-setup</tt>: | |||
<pre> | <pre> | ||
docker-storage-setup | systemctl stop docker | ||
rm -rf /var/lib/docker/* | |||
</pre> | |||
* Execute <tt>docker-storage-setup</tt> 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: | |||
<pre> | |||
# cat /etc/sysconfig/docker-storage-setup | |||
DEVS=/dev/vdb | |||
VG=docker-vg | |||
# docker-storage-setup | |||
</pre> | </pre> | ||
Generic installation instructions: | Generic installation instructions: |
Revision as of 01:58, 5 May 2017
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
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.