diff --git a/_topic_map.yml b/_topic_map.yml index b8ee4033f9..5345330ad9 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -131,6 +131,11 @@ Topics: File: installing-bare-metal - Name: Installing a cluster on bare metal with network customizations File: installing-bare-metal-network-customizations +- Name: Installing on IBM Z + Dir: installing_ibm_z + Topics: + - Name: Installing a cluster on IBM Z + File: installing-ibm-z - Name: Installing on OpenStack Dir: installing_openstack Topics: diff --git a/installing/installing_ibm_z/images b/installing/installing_ibm_z/images new file mode 120000 index 0000000000..847b03ed05 --- /dev/null +++ b/installing/installing_ibm_z/images @@ -0,0 +1 @@ +../../images/ \ No newline at end of file diff --git a/installing/installing_ibm_z/installing-ibm-z.adoc b/installing/installing_ibm_z/installing-ibm-z.adoc new file mode 100644 index 0000000000..463554826b --- /dev/null +++ b/installing/installing_ibm_z/installing-ibm-z.adoc @@ -0,0 +1,78 @@ +[id="installing-ibm-z"] += Installing a cluster on IBM Z +include::modules/common-attributes.adoc[] +:context: installing-ibm-z + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +IBM Z infrastructure that you provision. + +[IMPORTANT] +==== +Additional considerations exist for non-bare metal platforms. Review the information in the +link:https://access.redhat.com/articles/4207611[guidelines for deploying {product-title} on non-tested platforms] before you install an {product-title} cluster. +==== + +.Prerequisites + +* Provision +xref:../../storage/persistent-storage/persistent-storage-nfs.adoc#persistent-storage-nfs[persistent storage using NFS] +for your cluster. To deploy a private image registry, your storage must provide +ReadWriteMany access modes. +* Review details about the +xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] +processes. +* If you use a firewall, you must +xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configure it to allow the sites] that your cluster requires access to. ++ +[NOTE] +==== +Be sure to also review this site list if you are configuring a proxy. +==== + +include::modules/cluster-entitlements.adoc[leveloffset=+1] + +include::modules/installation-requirements-user-infra.adoc[leveloffset=+1] + +include::modules/installation-infrastructure-user-infra.adoc[leveloffset=+1] + +include::modules/installation-network-user-infra.adoc[leveloffset=+2] + +include::modules/installation-dns-user-infra.adoc[leveloffset=+2] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +include::modules/installation-obtaining-installer.adoc[leveloffset=+1] + +include::modules/cli-installing-cli.adoc[leveloffset=+1] + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] + +include::modules/installation-bare-metal-config-yaml.adoc[leveloffset=+2] + +include::modules/installation-user-infra-generate-k8s-manifest-ignition.adoc[leveloffset=+1] + +include::modules/installation-user-infra-machines-iso.adoc[leveloffset=+1] + +include::modules/installation-installing-bare-metal.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/installation-approve-csrs.adoc[leveloffset=+1] + +include::modules/installation-operators-config.adoc[leveloffset=+1] + +include::modules/installation-registry-storage-config.adoc[leveloffset=+2] + +include::modules/registry-configuring-storage-baremetal.adoc[leveloffset=+3] + +include::modules/installation-registry-storage-non-production.adoc[leveloffset=+3] + +include::modules/installation-complete-user-infra.adoc[leveloffset=+1] + +.Next steps + +* xref:../../installing/install_config/customizations.adoc#customizations[Customize your cluster]. +* If necessary, you can +xref:../../support/remote_health_monitoring/opting-out-of-remote-health-reporting.adoc#opting-out-remote-health-reporting_opting-out-remote-health-reporting[opt out of remote health reporting]. diff --git a/installing/installing_ibm_z/modules b/installing/installing_ibm_z/modules new file mode 120000 index 0000000000..36719b9de7 --- /dev/null +++ b/installing/installing_ibm_z/modules @@ -0,0 +1 @@ +../../modules/ \ No newline at end of file diff --git a/modules/cli-installing-cli.adoc b/modules/cli-installing-cli.adoc index f387b3716d..0fd4f99e77 100644 --- a/modules/cli-installing-cli.adoc +++ b/modules/cli-installing-cli.adoc @@ -13,6 +13,7 @@ // * installing/installing_gcp_user_infra/installing-gcp-user-infra.adoc // * installing/installing_restricted_networks/installing-restricted-networks-preparations.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc // // AMQ docs link to this; do not change anchor diff --git a/modules/cli-logging-in-kubeadmin.adoc b/modules/cli-logging-in-kubeadmin.adoc index 9fa308e6d3..a0ceae46d1 100644 --- a/modules/cli-logging-in-kubeadmin.adoc +++ b/modules/cli-logging-in-kubeadmin.adoc @@ -17,6 +17,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="cli-logging-in-kubeadmin_{context}"] = Logging in to the cluster diff --git a/modules/cluster-entitlements.adoc b/modules/cluster-entitlements.adoc index d7936ef7e1..6c483bef00 100644 --- a/modules/cluster-entitlements.adoc +++ b/modules/cluster-entitlements.adoc @@ -17,6 +17,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="cluster-entitlements_{context}"] = Internet and Telemetry access for {product-title} diff --git a/modules/installation-approve-csrs.adoc b/modules/installation-approve-csrs.adoc index d5c80390d0..61bcd5d53d 100644 --- a/modules/installation-approve-csrs.adoc +++ b/modules/installation-approve-csrs.adoc @@ -7,6 +7,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc // * machine_management/adding-rhel-compute.adoc // * machine_management/more-rhel-compute.adoc diff --git a/modules/installation-bare-metal-config-yaml.adoc b/modules/installation-bare-metal-config-yaml.adoc index 6a30faa79d..ce72fa58dc 100644 --- a/modules/installation-bare-metal-config-yaml.adoc +++ b/modules/installation-bare-metal-config-yaml.adoc @@ -2,6 +2,7 @@ // // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc ifeval::["{context}" == "installing-restricted-networks-bare-metal"] :restricted: diff --git a/modules/installation-complete-user-infra.adoc b/modules/installation-complete-user-infra.adoc index 74cd5962b2..48b4e4d38d 100644 --- a/modules/installation-complete-user-infra.adoc +++ b/modules/installation-complete-user-infra.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc ifeval::["{context}" == "installing-restricted-networks-vsphere"] :restricted: diff --git a/modules/installation-configure-proxy.adoc b/modules/installation-configure-proxy.adoc index 4eb0d8fedc..21811a5690 100644 --- a/modules/installation-configure-proxy.adoc +++ b/modules/installation-configure-proxy.adoc @@ -7,6 +7,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc // * networking/configuring-a-custom-pki.adoc ifeval::["{context}" == "installing-bare-metal"] diff --git a/modules/installation-dns-user-infra.adoc b/modules/installation-dns-user-infra.adoc index dc9947d8d2..4a81f8d888 100644 --- a/modules/installation-dns-user-infra.adoc +++ b/modules/installation-dns-user-infra.adoc @@ -4,6 +4,8 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc + :prewrap!: diff --git a/modules/installation-infrastructure-user-infra.adoc b/modules/installation-infrastructure-user-infra.adoc index a2b78629a6..711e379fa5 100644 --- a/modules/installation-infrastructure-user-infra.adoc +++ b/modules/installation-infrastructure-user-infra.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-infrastructure-user-infra_{context}"] = Creating the user-provisioned infrastructure @@ -18,7 +19,14 @@ page before you create the supporting infrastructure for your cluster. .Procedure +ifeval::["{context}" == "installing-ibm-z"] +. Set up static IP addresses. + +. Set up an FTP server. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] . Configure DHCP. +endif::[] . Provision the required load balancers. diff --git a/modules/installation-initializing-manual.adoc b/modules/installation-initializing-manual.adoc index 8aebec67b1..ee2ba6a90b 100644 --- a/modules/installation-initializing-manual.adoc +++ b/modules/installation-initializing-manual.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc ifeval::["{context}" == "installing-restricted-networks-vsphere"] :restricted: diff --git a/modules/installation-installing-bare-metal.adoc b/modules/installation-installing-bare-metal.adoc index 2e3802b1a6..39a13b58b5 100644 --- a/modules/installation-installing-bare-metal.adoc +++ b/modules/installation-installing-bare-metal.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-installing-bare-metal_{context}"] = Creating the cluster diff --git a/modules/installation-network-user-infra.adoc b/modules/installation-network-user-infra.adoc index a74ab5d750..36774f2437 100644 --- a/modules/installation-network-user-infra.adoc +++ b/modules/installation-network-user-infra.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-network-user-infra_{context}"] = Networking requirements for user-provisioned infrastructure @@ -11,12 +12,21 @@ All the {op-system-first} machines require network in `initramfs` during boot to fetch Ignition config from the Machine Config Server. +ifeval::["{context}" == "installing-ibm-z"] +During the initial boot, the machines require an FTP server in order to +establish a network connection, which allows them to download their Ignition config files. + +Ensure that the machines have persistent IP +addresses and host names. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] During the initial boot, the machines require a DHCP server in order to -establish a network connection to download their Ignition config files. +establish a network connection, which allows them to download their Ignition config files. It is recommended to use the DHCP server to manage the machines for the cluster long-term. Ensure that the DHCP server is configured to provide persistent IP addresses and host names to the cluster machines. +endif::[] The Kubernetes API server must be able to resolve the node names of the cluster machines. If the API servers and worker nodes are in different zones, you can diff --git a/modules/installation-obtaining-installer.adoc b/modules/installation-obtaining-installer.adoc index 8f8f953baa..9c4d9cb579 100644 --- a/modules/installation-obtaining-installer.adoc +++ b/modules/installation-obtaining-installer.adoc @@ -13,6 +13,7 @@ // * installing/installing_openstack/installing-openstack-installer-kuryr.adoc // * installing/installing_openstack/installing-openstack-installer.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-obtaining-installer_{context}"] = Obtaining the installation program @@ -22,12 +23,22 @@ ifdef::restricted[] the bastion host. endif::restricted[] ifndef::restricted[] +ifeval::["{context}" == "installing-ibm-z"] +your provisioning machine. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] a local computer. +endif::[] endif::restricted[] .Prerequisites +ifeval::["{context}" == "installing-ibm-z"] +* You must install the cluster from a machine that runs Linux, for example Red Hat Enterprise Linux 8. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] * You must install the cluster from a computer that uses Linux or macOS. +endif::[] * You need 500 MB of local disk space to download the installation program. .Procedure diff --git a/modules/installation-operators-config.adoc b/modules/installation-operators-config.adoc index c9e932230c..a1ece9bd5a 100644 --- a/modules/installation-operators-config.adoc +++ b/modules/installation-operators-config.adoc @@ -6,6 +6,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-operators-config_{context}"] = Initial Operator configuration diff --git a/modules/installation-registry-storage-config.adoc b/modules/installation-registry-storage-config.adoc index 9def3d67cc..0690d6d668 100644 --- a/modules/installation-registry-storage-config.adoc +++ b/modules/installation-registry-storage-config.adoc @@ -6,6 +6,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-registry-storage-config_{context}"] = Image registry storage configuration diff --git a/modules/installation-registry-storage-non-production.adoc b/modules/installation-registry-storage-non-production.adoc index b637e61647..eecca3ab1c 100644 --- a/modules/installation-registry-storage-non-production.adoc +++ b/modules/installation-registry-storage-non-production.adoc @@ -6,6 +6,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-registry-storage-non-production_{context}"] = Configuring storage for the image registry in non-production clusters diff --git a/modules/installation-requirements-user-infra.adoc b/modules/installation-requirements-user-infra.adoc index d255e4e18e..1b3cb9dbe4 100644 --- a/modules/installation-requirements-user-infra.adoc +++ b/modules/installation-requirements-user-infra.adoc @@ -4,6 +4,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-requirements-user-infra_{context}"] = Machine requirements for a cluster with user-provisioned infrastructure @@ -16,7 +17,7 @@ of the required machines. The smallest {product-title} clusters require the following hosts: -* One bootstrap machine +* One temporary bootstrap machine * Three control plane, or master, machines @@ -31,20 +32,39 @@ you install the cluster. [IMPORTANT] ==== +ifeval::["{context}" == "installing-ibm-z"] +To improve high availability of your cluster, distribute the control plane machines over different z/VM instances. These can, but need not, run on the same Z or LinuxONE hardware. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] To maintain high availability of your cluster, use separate physical hosts for these cluster machines. +endif::[] ==== -The bootstrap and control plane machines must use {op-system-first} as the +The bootstrap, control plane and compute machines must use the {op-system-first} as the operating system. [id="network-connectivity_{context}"] == Network connectivity requirements -All the {op-system-first} machines require network in `initramfs` during boot -to fetch Ignition config files from the Machine Config Server. During the initial -boot, the machines require a DHCP server in order to establish a network +All the {op-system-first} machines require network in `initramfs` during boot to fetch Ignition config files from the Machine Config Server. +ifeval::["{context}" == "installing-ibm-z"] +The machines are configured with static IP addresses. No DHCP server is required. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] +During the initial boot, the machines require a DHCP server in order to establish a network connection to download their Ignition config files. +endif::[] + +ifeval::["{context}" == "installing-ibm-z"] +[id="ibm-z-network-connectivity_{context}"] +== IBM Z network connectivity requirements + +To install on IBM Z under z/VM, you require a single z/VM virtual NIC in layer 2 mode. You also need: + +* A direct-attached OSA or RoCE network adapter +* A z/VM VSwitch set up. For a preferred setup, use OSA link aggregation. +endif::[] [id="minimum-resource-requirements_{context}"] == Minimum resource requirements @@ -73,13 +93,81 @@ Each cluster machine must meet the following minimum requirements: |120 GB |Compute -|{op-system} or RHEL 7.6 +|{op-system} |2 |8 GB |120 GB |=== +ifeval::["{context}" == "installing-ibm-z"] +[id="minimum-ibm-z-system-requirements_{context}"] +== Minimum IBM Z system requirements + +[discrete] +=== Hardware requirements + +* 1 LPAR with 3 IFLs that supports SMT2 +* 1 OSA or RoCE network adapter, or both + +[discrete] +=== Operating system requirements + +* One instance of z/VM 7.1 + +On your z/VM instance, set up: + +* 3 guest virtual machines for {product-title} control plane machines +* 2 guest virtual machines for {product-title} compute machines +* 1 guest virtual machine for the temporary {product-title} bootstrap machine + +[discrete] +=== Disk storage for the z/VM guest virtual machines + +* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. If available, use HyperPAV to ensure optimal performance. +* FCP attached disk storage + +[discrete] +=== Storage / Main Memory + +* 16 GB for {product-title} control plane machines +* 8 GB for {product-title} compute machines +* 16 GB for the temporary {product-title} bootstrap machine + +[id="preferred-ibm-z-system-requirements_{context}"] +== Preferred IBM Z system requirements + +[discrete] +=== Hardware requirements + +* 3 LPARs with 6 IFLs that support SMT2 +* 1 or 2 OSA or RoCE network adapters, or both + +[discrete] +=== Operating system requirements + +* 2 or 3 instances of z/VM 7.1 for high availability + +On your z/VM instances, set up: + +* 3 guest virtual machines for {product-title} control plane machines, one per z/VM instance +* At least 6 guest virtual machines for {product-title} compute machines, distributed across the z/VM instances +* 1 guest virtual machine for the temporary {product-title} bootstrap machine + +[discrete] +=== Disk storage for the z/VM guest virtual machines + +* FICON attached disk storage (DASDs). These can be z/VM minidisks, fullpack minidisks, or dedicated DASDs. If available, use HyperPAV to ensure optimal performance. +* FCP attached disk storage + +[discrete] +=== Storage / Main Memory + +* 16 GB for {product-title} control plane machines +* 8 GB for {product-title} compute machines +* 16 GB for the temporary {product-title} bootstrap machine +endif::[] + [id="csr_management_{context}"] == Certificate signing requests management diff --git a/modules/installation-user-infra-generate-k8s-manifest-ignition.adoc b/modules/installation-user-infra-generate-k8s-manifest-ignition.adoc index 256aa7f178..8e3a77ae26 100644 --- a/modules/installation-user-infra-generate-k8s-manifest-ignition.adoc +++ b/modules/installation-user-infra-generate-k8s-manifest-ignition.adoc @@ -7,6 +7,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc ifeval::["{context}" == "installing-aws-user-infra"] diff --git a/modules/installation-user-infra-machines-iso.adoc b/modules/installation-user-infra-machines-iso.adoc index bd41bf741a..eaa1185f36 100644 --- a/modules/installation-user-infra-machines-iso.adoc +++ b/modules/installation-user-infra-machines-iso.adoc @@ -2,22 +2,45 @@ // // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="installation-user-infra-machines-iso_{context}"] -= Creating {op-system-first} machines using an ISO image +ifeval::["{context}" == "installing-ibm-z"] += Creating {op-system-first} machines +endif::[] +ifeval::["{context}" != "installing-ibm-z"] += Creating {op-system-first} machines using an ISO image +endif::[] + +ifeval::["{context}" == "installing-ibm-z"] +Before you install a cluster on IBM Z infrastructure that you provision, you must install {op-system} on z/VM guest virtual machines for the cluster to use. Complete the following steps to create the machines. +endif::[] + +ifeval::["{context}" != "installing-ibm-z"] Before you install a cluster on bare metal infrastructure that you provision, you must create {op-system} machines for it to use. You can use an ISO image to create the machines. +endif::[] .Prerequisites +ifeval::["{context}" == "installing-ibm-z"] +* An FTP server running on your provisioning machine that is accessible to the machines you create. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] * Obtain the Ignition config files for your cluster. * Have access to an HTTP server that you can access from your computer and that the machines that you create can access. +endif::[] .Procedure +ifeval::["{context}" == "installing-ibm-z"] +. Log in to Linux on your provisioning machine. +. Download the Red Hat Enterprise Linux CoreOS installation files from the link:https://mirror.openshift.com/pub/openshift-v4/s390x/dependencies/rhcos/4.2/latest/[{op-system} image mirror]. +endif::[] +ifeval::["{context}" != "installing-ibm-z"] . Upload the control plane, compute, and bootstrap Ignition config files that the installation program created to your HTTP server. Note the URLs of these files. @@ -27,6 +50,7 @@ link:https://access.redhat.com/downloads/content/290[Product Downloads] page on Hat customer portal or the link:https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.2/[{op-system} image mirror] page. +endif::[] + [IMPORTANT] ==== @@ -36,6 +60,65 @@ to the {product-title} version that you install. Use the image versions that match your {product-title} version if they are available. ==== + +ifeval::["{context}" == "installing-ibm-z"] +Download the following files: + +* The initramfs: `rhcos--installer-initramfs.img` +* The kernel: `rhcos--installer-kernel` +* The operating system image for the disk on which you want to install {op-system}. This type can differ by virtual machine: ++ +`rhcos--dasd.raw.gz` for DASD ++ +`rhcos--metal-bios.raw.gz` for FCP + +. Create parameter files. The following parameters are specific for a particular virtual machine: +** For `coreos.inst.install_dev=`, specify `dasda` for a DASD installation, or `sda` for FCP. Note that FCP requires `zfcp.allow_lun_scan=0`. +** For `rd.dasd=`, specifys the DASD where {op-system} is to be installed. +** `rd.zfcp=,,` specifies the FCP disk to install {op-system} on. +** For `ip=`, specify the following seven entries: +... The IP address for the machine. +... An empty string. +... The gateway. +... The netmask. +... The machine host and domain name in the form `hostname.domainname`. Omit this value to let {op-system} decide set it. +... The network interface name. Omit this value to let {op-system} decide set it. +... If you use static IP addresses, an empty string. +** For `coreos.inst.ignition_url=`, specify the Ignition file for the machine role. The bootstrap machine ignition file is called `bootstrap-0`, the master ignition files are numbered 0 through 2, the worker ignition files from 0 upwards. All other parameters can stay as they are. ++ +Example parameter file, `bootstrap-0.parm`, for the bootstrap machine: ++ +---- +rd.neednet=1 coreos.inst=yes coreos.inst.install_dev=dasda coreos.inst.image_url=ftp:// +cl1.provide.example.com:8080/assets/rhcos-42.80.20191105.0-metal-dasd.raw.gz +coreos.inst.ignition_url=ftp://cl1.provide.example.com:8080/ignition-bootstrap-0 +ip=172.18.78.2::172.18.78.1:255.255.255.0:::none nameserver=172.18.78.1 +rd.znet=qeth,0.0.bdf0,0.0.bdf1,0.0.bdf2,layer2=1,portno=0 zfcp.allow_lun_scan=0 cio_ignore=all, +!condev rd.dasd=0.0.3490 +---- + +. Transfer the initramfs, kernel, parameter files, and {op-system} images to z/VM, for example with FTP. For details about how to transfer the files with FTP and boot from the virtual reader, see link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/sect-installing-zvm-s390[Installing under Z/VM]. +. Punch the files to the virtual reader of the z/VM guest virtual machine that is to become your bootstrap node. ++ +For details about the PUNCH command, see https://www.ibm.com/support/knowledgecenter/en/SSB27U_7.1.0/com.ibm.zvm.v710.dmsb4/pun.htm ++ +[TIP] +==== +You can use the CP PUNCH command or, if you use Linux, the **vmur** command to transfer files between two z/VM guest virtual machines. +==== ++ +. Log in to CMS on the bootstrap machine. +. IPL the bootstrap machine from the reader: ++ +---- +$ ipl c +---- ++ +See link:https://www.ibm.com/support/knowledgecenter/en/SSB27U_7.1.0/com.ibm.zvm.v710.hcpb7/iplcommd.htm[IPL] in the IBM Knowledge Center. ++ +. Repeat this procedure for the other machines in the cluster. +endif::[] + +ifeval::["{context}" != "installing-ibm-z"] You must download the ISO file and the RAW disk file. Those file names resemble the following examples: @@ -75,3 +158,4 @@ You must create the bootstrap and control plane machines at this time. Because some pods are deployed on compute machines by default, also create at least two compute machines before you install the cluster. ==== +endif::[] diff --git a/modules/registry-configuring-storage-baremetal.adoc b/modules/registry-configuring-storage-baremetal.adoc index f0d6c239f7..31702598a0 100644 --- a/modules/registry-configuring-storage-baremetal.adoc +++ b/modules/registry-configuring-storage-baremetal.adoc @@ -3,6 +3,7 @@ // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * registry/configuring-registry-storage-baremetal +// * installing/installing_ibm_z/installing-ibm-z.adoc [id="registry-configuring-storage-baremetal_{context}"] = Configuring registry storage for bare metal diff --git a/modules/ssh-agent-using.adoc b/modules/ssh-agent-using.adoc index dc276af2cf..81898ee1b7 100644 --- a/modules/ssh-agent-using.adoc +++ b/modules/ssh-agent-using.adoc @@ -16,6 +16,7 @@ // * installing/installing_restricted_networks/installing-restricted-networks-bare-metal.adoc // * installing/installing_restricted_networks/installing-restricted-networks-vsphere.adoc // * installing/installing_vsphere/installing-vsphere.adoc +// * installing/installing_ibm_z/installing-ibm-z.adoc ifeval::["{context}" == "installing-restricted-networks-vsphere"] :user-infra: @@ -44,24 +45,34 @@ endif::[] ifeval::["{context}" == "installing-openstack-installer"] :osp: endif::[] +ifeval::["{context}" == "installing-ibm-z"] +:ibm-z: +endif::[] [id="ssh-agent-using_{context}"] = Generating an SSH private key and adding it to the agent If you want to perform installation debugging or disaster recovery on your cluster, you must provide an SSH key to both your `ssh-agent` and to the installation program. +ifdef::ibm-z[] +[IMPORTANT] +==== +Do not skip this procedure in production environments where disaster recovery and debugging is required. +==== +endif::[] + You can use this key to SSH into the master nodes as the user `core`. When you deploy the cluster, the key is added to the `core` user's `~/.ssh/authorized_keys` list. -ifndef::osp[] +ifndef::osp,ibm-z[] [NOTE] ==== You must use a local key, not one that you configured with platform-specific approaches such as link:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html[AWS key pairs]. ==== -endif::osp[] +endif::[] .Procedure @@ -131,3 +142,6 @@ endif::[] ifeval::["{context}" == "installing-openstack-installer"] :!osp: endif::[] +ifeval::["{context}" == "installing-ibm-z"] +:!ibm-z: +endif::[]