1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/installation-byo-system-requirements.adoc
Kathryn Alexander 1d4906ce3d no to 'need to'
2019-04-16 09:14:21 -04:00

163 lines
7.3 KiB
Plaintext

// Module included in the following assemblies:
//
// * installing-byoh/installing-existing-hosts.adoc
[id="installation-byo-system-requirements-{context}"]
= System requirements for installing on BYO
The hosts in your {product-title} environment must meet the following hardware
specifications and system-level requirements.
[id="hardware-{context}"]
== Minimum hardware requirements
The system requirements vary per host type:
[cols="1,7"]
|===
|Masters
a|- Physical or virtual system or an instance running on a public or private IaaS.
ifdef::openshift-origin[]
- Base OS: Fedora 21, CentOS 7.5 or
link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/installation_guide/index[Red Hat Enterprise Linux (RHEL) 7.5 or 7.6]
with the "Minimal" installation option and the latest packages from the Extras
channel.
endif::[]
ifdef::openshift-enterprise[]
- Base OS:
link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/installation_guide/index[Red Hat Enterprise Linux (RHEL) 7.5 or 7.6]
with the "Minimal" installation option and the latest packages from the Extras
channel.
endif::[]
- Minimum 4 vCPU (additional are strongly recommended).
- Minimum 16 GB RAM (additional memory is strongly recommended, especially if etcd is co-located on masters).
- Minimum 40 GB hard disk space for the file system containing *_/var/_*.
- Minimum 1 GB hard disk space for the file system containing *_/usr/local/bin/_*.
- Minimum 1 GB hard disk space for the file system containing the system's
temporary directory. image:redcircle-1.png[]
- Masters with a co-located etcd require a minimum of 4 cores. Two-core systems do not work.
|Nodes
a| * Physical or virtual system, or an instance running on a public or private IaaS.
ifdef::openshift-origin[]
* Base OS: Fedora 21, CentOS 7.5 or
link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/installation_guide/index[RHEL 7.5 or 7.6]
with "Minimal" installation option.
endif::[]
ifdef::openshift-enterprise[]
* Base OS:
link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/installation_guide/index[RHEL 7.4 or 7.5]
with "Minimal" installation option.
endif::[]
* NetworkManager 1.0 or later.
* 1 vCPU.
* Minimum 8 GB RAM.
* Minimum 15 GB hard disk space for the file system containing *_/var/_*. image:redcircle-1.png[]
* Minimum 1 GB hard disk space for the file system containing *_/usr/local/bin/_*.
* Minimum 1 GB hard disk space for the file system containing the system's temporary directory. image:redcircle-2.png[]
* An additional minimum 15 GB unallocated space per system running containers for Docker's storage
back end. Additional space might be required, depending on the size and number of containers that run on the node.
|External etcd Nodes
a|* Minimum 20 GB hard disk space for etcd data.
* See link:https://github.com/coreos/etcd/blob/master/Documentation/op-guide/hardware.md#hardware-recommendations[the Hardware Recommendations section of the CoreOS etcd documentation] for information how to properly size your etcd nodes.
* Currently, {product-title} stores image, build, and deployment metadata in
etcd. You must periodically prune old resources.
If you are planning to leverage a large number of these resources, place etcd on
machines with large amounts of memory and fast SSD drives.
|Ansible controller
|The host that you run the Ansible playbook on must have at least 75MiB of free
memory per host in the inventory.
|===
image:redcircle-1.png[] The system's temporary directory is determined according
to the rules defined in the
https://docs.python.org/2/library/tempfile.html#tempfile.tempdir[`tempfile`]
module in Python's standard library.
[IMPORTANT]
====
{product-title} only supports servers with x86_64 architecture.
====
You must configure storage for each system that runs a container daemon. For
containerized installations, you need storage on masters. Also, by default, the
web console runs in containers on masters, and masters need storage to
run the web console. Containers run on nodes, so nodes always require storage.
The size of storage depends on workload, the number of containers, the
size of the running containers, and the containers' storage requirements.
You must also configure storage to run containerized etcd.
=== Production level hardware requirements
Test or sample environments function with the minimum requirements. For
production environments, the following recommendations apply:
Master hosts::
In a highly available {product-title} cluster with external etcd, a master host
needs to meet the minimum requirements and have 1 CPU
core and 1.5 GB of memory for each 1000 pods. Therefore, the recommended size of
a master host in an {product-title} cluster of 2000 pods is the minimum
requirements of 2 CPU cores and 16 GB of RAM, plus 2 CPU cores and 3 GB of RAM,
totaling 4 CPU cores and 19 GB of RAM.
Node hosts::
The size of a node host depends on the expected size of its workload. As an
{product-title} cluster administrator, you must calculate the expected
workload and add about 10 percent for overhead. For production environments,
allocate enough resources so that a node host failure does not affect your
maximum capacity.
[IMPORTANT]
====
Oversubscribing the physical resources on a node affects resource guarantees the
Kubernetes scheduler makes during pod placement.
====
[id="prerequisites-storage-management-{context}"]
== Detailed cluster storage requirements
You must provide sufficient disk space for the following directories.
[cols="h,3*",options="header"]
|===
|Directory|Notes|Sizing|Expected Growth
|*_/var/lib/openshift_*
|Used for etcd storage only when in single master mode and etcd is embedded in the `atomic-openshift-master` process.
|Less than 10GB.
|Will grow slowly with the environment. Only storing metadata.
|*_/var/lib/etcd_*
|Used for etcd storage when in Multi-Master mode or when etcd is made standalone by an administrator.
|Less than 20 GB.
|Will grow slowly with the environment. Only storing metadata.
|*_/var/lib/docker_*
|When the run time is docker, this is the mount point. Storage used for active container runtimes (including pods) and storage of local images (not used for registry storage). Mount point should be managed by docker-storage rather than manually.
|50 GB for a Node with 16 GB memory.
Additional 20-25 GB for every additional 8 GB of memory.
|Growth is limited by the capacity for running containers.
|*_/var/lib/containers_*
|When the run time is CRI-O, this is the mount point. Storage used for active container runtimes (including pods) and storage of local images (not used for registry storage).
|50 GB for a Node with 16 GB memory.
Additional 20-25 GB for every additional 8 GB of memory.
|Growth limited by capacity for running containers
|*_/var/lib/origin/openshift.local.volumes_*
|Ephemeral volume storage for pods. This includes anything external that is mounted into a container at runtime. Includes environment variables, kube secrets, and data volumes not backed by persistent storage PVs.
|Varies
|Minimal if pods requiring storage are using persistent volumes. If using ephemeral storage, this can grow quickly.
|*_/var/log_*
|Log files for all components.
|10 to 30 GB.
|Log files can grow quickly; size can be managed by growing disks or managed using log rotate.
|===