Skip to content
This repository was archived by the owner on Mar 23, 2020. It is now read-only.

Commit a6f3f05

Browse files
authored
Merge pull request #23 from markmc/plan
README: document what scripts will be included here
2 parents 5300adc + d15de1a commit a6f3f05

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

README.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,99 @@
11
# install-scripts
22
Installation scripts for OpenShift KNI clusters
33

4+
## What's going on here?
5+
6+
KNI clusters consist of:
7+
8+
* OpenShift deployed on physical hardware using OpenShift's [bare
9+
metal
10+
IPI](https://github.com/openshift/installer/blob/master/docs/user/metal/install_ipi.md)
11+
platform based on [Metal³](http://metal3.io/).
12+
* OpenShift Container Storage (OCS) based on [Ceph
13+
Rook](https://rook.io/) and using the [OCS
14+
Operator](https://github.com/openshift/ocs-operator).
15+
* Container Native Virtualization (CNV) based on
16+
[KubeVirt](https://kubevirt.io/) and using the [Hyperconverged
17+
Cluster Operator
18+
(HCO)](https://github.com/kubevirt/hyperconverged-cluster-operator).
19+
* 4x Dell PowerEdge R640 nodes, each with 2x Mellanox NICs, and 2x
20+
Mellanox ethernet switches, all in a 12U rack. 1 node is used as a
21+
"provisioning host", while the other 3 nodes are OpenShift control
22+
plane machines.
23+
24+
The goal of this repository is to provide scripts and tooling to ease
25+
the initial installation and validation of one of these clusters.
26+
27+
The current target is OpenShift 4.2, OCS 4.2, and CNV 2.1. The scripts
28+
will need to support both published releases and [pre-release versions
29+
(#12)](https://github.com/openshift-kni/install-scripts/issues/12) of
30+
each of these.
31+
32+
The scripts will:
33+
34+
1. [Creates an admin user
35+
(#21)](https://github.com/openshift-kni/install-scripts/issues/21)
36+
with passwordless sudo on the provisioning host.
37+
1. Ensure the provisioning host has all [required software
38+
installed](https://github.com/openshift-kni/install-scripts/blob/master/01_install_requirements.sh). This
39+
script will also be used to [prepare an ISO image
40+
(#20)](https://github.com/openshift-kni/install-scripts/issues/20)
41+
to speed up this part of the installation process.
42+
1. [Validate any environment requirements
43+
(#22)](https://github.com/openshift-kni/install-scripts/issues/22) -
44+
the [bare metal IPI network
45+
requirements](https://github.com/openshift/installer/blob/master/docs/user/metal/install_ipi.md#network-requirements)
46+
are a good example of environment requirements.
47+
1. Apply any [configuration changes to the provisioning
48+
host](https://github.com/openshift-kni/install-scripts/blob/master/02_configure_host.sh)
49+
that are required for the OpenShift installer - for example,
50+
creating the `default` libvirt storage pool and the `baremetal` and
51+
`provisioning` bridges.
52+
1. [Prepare the node information
53+
(#19)](https://github.com/openshift-kni/install-scripts/issues/19)
54+
required for the [bare metal IPI
55+
install-config](https://github.com/openshift/installer/blob/master/docs/user/metal/install_ipi.md#install-config).
56+
1. Launch the OpenShift installer and wait for the cluster
57+
installation to complete.
58+
1. Complete some post-install configuration - including [machine/node
59+
linkage
60+
(#14)](https://github.com/openshift-kni/install-scripts/issues/14),
61+
and [configuring a storage VLAN on the `provisioning` interface on
62+
the OpenShift nodes
63+
(#4)](https://github.com/openshift-kni/install-scripts/issues/4).
64+
1. [Deploy OCS
65+
(#7)](https://github.com/openshift-kni/install-scripts/issues/7)
66+
and [configure a Ceph cluster and
67+
StorageClass](https://github.com/openshift-kni/install-scripts/blob/master/OCS/customize-ocs.sh). [Configure
68+
the image registry to use an OCS PVC
69+
(#5)](https://github.com/openshift-kni/install-scripts/issues/5)
70+
for image storage.
71+
1. [Deploy
72+
CNV](https://github.com/openshift-kni/install-scripts/blob/master/CNV/deploy-cnv.sh). [Configure
73+
a bridge on the `baremetal` interface on OpenShift nodes
74+
(#18)](https://github.com/openshift-kni/install-scripts/issues/18)
75+
to allow VMs access this network.
76+
1. Temporarily install Ripsaw, carry out some performance tests, and
77+
capture the results.
78+
79+
The following environment-specific information will be required for
80+
each installation:
81+
82+
1. A pull secret - used to access OpenShift content - and an SSH key
83+
that will be used to authenticate SSH access to the control plane
84+
machines.
85+
1. The cluster name and the domain name under which it will be
86+
available.
87+
1. The network CIDR in which the machines will be allocated IPs on the
88+
`baremetal` network interface.
89+
1. The [3 IP addresses
90+
reserved](https://github.com/openshift/installer/blob/master/docs/user/metal/install_ipi.md#network-requirements)
91+
for API, Ingress, and DNS access.
92+
1. The BMC IPMI addresses and credentials for the 3 control plane
93+
machines.
94+
1. Optionally, a Network Time Protocol (NTP) server where the default
95+
public server is not accessible
96+
497
## Provisioning Host Setup
598

699
The provisioning host must be a RHEL-8 machine.

0 commit comments

Comments
 (0)