diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index e9069c6a911c..2612e53dee90 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -166,8 +166,12 @@ Topics: File: installing-azure-stack-hub-account - Name: Manually creating IAM for Azure Stack Hub File: manually-creating-iam-azure-stack-hub + - Name: Installing a cluster quickly on Azure Stack Hub + File: installing-azure-stack-hub-default - Name: Installing a cluster on Azure Stack Hub using ARM templates File: installing-azure-stack-hub-user-infra + - Name: Installing a cluster on Azure Stack Hub with network customizations + File: installing-azure-stack-hub-network-customizations - Name: Installing on GCP Dir: installing_gcp Distros: openshift-origin,openshift-enterprise diff --git a/installing/installing-preparing.adoc b/installing/installing-preparing.adoc index 94ac0c6cbc4f..97d7ae98ddf2 100644 --- a/installing/installing-preparing.adoc +++ b/installing/installing-preparing.adoc @@ -46,7 +46,7 @@ Because you need to provision machines as part of the {product-title} cluster in Because the operating system is integral to {product-title}, it is easier to let the installation program for {product-title} stand up all of the infrastructure. These are called _installer provisioned infrastructure_ installations. In this type of installation, you can provide some existing infrastructure to the cluster, but the installation program deploys all of the machines that your cluster initially needs. -You can deploy an installer-provisioned infrastructure cluster without specifying any customizations to the cluster or its underlying machines to xref:../installing/installing_aws/installing-aws-default.adoc#installing-aws-default[AWS], xref:../installing/installing_azure/installing-azure-default.adoc#installing-azure-default[Azure], xref:../installing/installing_gcp/installing-gcp-default.adoc#installing-gcp-default[GCP], or xref:../installing/installing_vmc/installing-vmc.adoc#installing-vmc[VMC on AWS]. These installation methods are the fastest way to deploy a production-capable {product-title} cluster. +You can deploy an installer-provisioned infrastructure cluster without specifying any customizations to the cluster or its underlying machines to xref:../installing/installing_aws/installing-aws-default.adoc#installing-aws-default[AWS], xref:../installing/installing_azure/installing-azure-default.adoc#installing-azure-default[Azure], xref:../installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc#installing-azure-stack-hub-default[Azure Stack Hub], xref:../installing/installing_gcp/installing-gcp-default.adoc#installing-gcp-default[GCP], or xref:../installing/installing_vmc/installing-vmc.adoc#installing-vmc[VMC on AWS]. These installation methods are the fastest way to deploy a production-capable {product-title} cluster. If you need to perform basic configuration for your installer-provisioned infrastructure cluster, such as the instance type for the cluster machines, you can customize an installation for xref:../installing/installing_aws/installing-aws-customizations.adoc#installing-aws-customizations[AWS], xref:../installing/installing_azure/installing-azure-customizations.adoc#installing-azure-customizations[Azure], xref:../installing/installing_gcp/installing-gcp-customizations.adoc#installing-gcp-customizations[GCP], or xref:../installing/installing_vmc/installing-vmc-customizations.adoc#installing-vmc-customizations[VMC on AWS]. @@ -118,7 +118,7 @@ Not all installation options are supported for all platforms, as shown in the fo .Installer-provisioned infrastructure options |=== ifndef::openshift-origin[] -||AWS |Azure |GCP |{rh-openstack} |{rh-openstack} on SR-IOV |RHV |Bare metal |vSphere |VMC |IBM Z |IBM Power +||AWS |Azure |Azure Stack Hub |GCP |{rh-openstack} |{rh-openstack} on SR-IOV |RHV |Bare metal |vSphere |VMC |IBM Z |IBM Power endif::openshift-origin[] ifdef::openshift-origin[] ||AWS |Azure |GCP |{rh-openstack} |{rh-openstack} on SR-IOV |oVirt |Bare metal |vSphere |VMC |IBM Z |IBM Power @@ -127,6 +127,7 @@ endif::openshift-origin[] |Default |xref:../installing/installing_aws/installing-aws-default.adoc#installing-aws-default[X] |xref:../installing/installing_azure/installing-azure-default.adoc#installing-azure-default[X] +|xref:../installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc#installing-azure-stack-hub-default[X] |xref:../installing/installing_gcp/installing-gcp-default.adoc#installing-gcp-default[X] | | @@ -140,6 +141,7 @@ endif::openshift-origin[] |Custom |xref:../installing/installing_aws/installing-aws-customizations.adoc#installing-aws-customizations[X] |xref:../installing/installing_azure/installing-azure-customizations.adoc#installing-azure-customizations[X] +| |xref:../installing/installing_gcp/installing-gcp-customizations.adoc#installing-gcp-customizations[X] |xref:../installing/installing_openstack/installing-openstack-installer-custom.adoc#installing-openstack-installer-custom[X] |xref:../installing/installing_openstack/installing-openstack-installer-sr-iov.adoc#installing-openstack-installer-sr-iov[X] @@ -153,6 +155,7 @@ endif::openshift-origin[] |Network customization |xref:../installing/installing_aws/installing-aws-network-customizations.adoc#installing-aws-network-customizations[X] |xref:../installing/installing_azure/installing-azure-network-customizations.adoc#installing-azure-network-customizations[X] +| |xref:../installing/installing_gcp/installing-gcp-network-customizations.adoc#installing-gcp-network-customizations[X] |xref:../installing/installing_openstack/installing-openstack-installer-kuryr.adoc#installing-openstack-installer-kuryr[X] | @@ -166,6 +169,7 @@ endif::openshift-origin[] |Restricted network |xref:../installing/installing_aws/installing-restricted-networks-aws-installer-provisioned.adoc#installing-restricted-networks-aws-installer-provisioned[X] | +| |xref:../installing/installing_gcp/installing-restricted-networks-gcp-installer-provisioned.adoc#installing-restricted-networks-gcp-installer-provisioned[X] |xref:../installing/installing_openstack/installing-openstack-installer-restricted.adoc#installing-openstack-installer-restricted[X] | @@ -179,6 +183,7 @@ endif::openshift-origin[] |Private clusters |xref:../installing/installing_aws/installing-aws-private.adoc#installing-aws-private[X] |xref:../installing/installing_azure/installing-azure-private.adoc#installing-azure-private[X] +| |xref:../installing/installing_gcp/installing-gcp-private.adoc#installing-gcp-private[X] | | @@ -192,6 +197,7 @@ endif::openshift-origin[] |Existing virtual private networks |xref:../installing/installing_aws/installing-aws-vpc.adoc#installing-aws-vpc[X] |xref:../installing/installing_azure/installing-azure-vnet.adoc#installing-azure-vnet[X] +| |xref:../installing/installing_gcp/installing-gcp-vpc.adoc#installing-gcp-vpc[X] | | @@ -214,6 +220,7 @@ endif::openshift-origin[] | | | +| |China regions |xref:../installing/installing_aws/installing-aws-china.adoc#installing-aws-china-region[X] @@ -227,6 +234,7 @@ endif::openshift-origin[] | | | +| |=== diff --git a/installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc b/installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc new file mode 100644 index 000000000000..35d5e1ea8628 --- /dev/null +++ b/installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc @@ -0,0 +1,58 @@ +[id="installing-azure-stack-hub-default"] += Installing a cluster quickly on Azure Stack Hub +include::modules/common-attributes.adoc[] +:context: installing-azure-stack-hub-default + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +Microsoft Azure Stack Hub that uses the default configuration options. However, you must manually configure the `install-config.yaml` file to specify values that are specific to Azure Stack Hub. + +[NOTE] +==== +While you can select `azure` when using the installation program to deploy a cluster using installer-provisioned infrastructure, this option is only supported for the Azure Public Cloud. +==== + +== Prerequisites + +* You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. +* You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. +* You xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-account.adoc#installing-azure-stack-hub-account[configured an Azure Stack Hub account] to host the cluster. +* If you use a firewall, you xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configured it to allow the sites] that your cluster requires access to. +* You put the Cloud Credential Operator (COO) into xref:../../installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc#manually-creating-iam-azure-stack-hub[manual mode]. Manual mode is used in environments where the cloud IAM APIs are not reachable. + +include::modules/cluster-entitlements.adoc[leveloffset=+1] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +include::modules/installation-obtaining-installer.adoc[leveloffset=+1] + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] +include::modules/installation-configuration-parameters.adoc[leveloffset=+2] +include::modules/installation-azure-stack-hub-config-yaml.adoc[leveloffset=+2] + +//include::modules/installation-launching-installer.adoc[leveloffset=+1] +//Leaving this stubbed in case future might remove the requirement to manually configure the install configuration file. + +include::modules/cli-installing-cli.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/logging-in-by-using-the-web-console.adoc[leveloffset=+1] + +.Additional resources + +* See xref:../../web_console/web-console.adoc#web-console[Accessing the web console] for more details about accessing and understanding the {product-title} web console. + +include::modules/cluster-telemetry.adoc[leveloffset=+1] + +.Additional resources + +* See xref:../../support/remote_health_monitoring/about-remote-health-monitoring.adoc#about-remote-health-monitoring[About remote health monitoring] for more information about the Telemetry service + +== Next steps + +* xref:../../installing/validating-an-installation.adoc#validating-an-installation[Validating an installation]. +* xref:../../post_installation_configuration/cluster-tasks.adoc#available_cluster_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]. +* If necessary, you can xref:../../authentication/managing_cloud_provider_credentials/cco-mode-mint.adoc#manually-removing-cloud-creds_cco-mode-mint[remove cloud provider credentials]. diff --git a/installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc b/installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc new file mode 100644 index 000000000000..f568f4e370f0 --- /dev/null +++ b/installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc @@ -0,0 +1,69 @@ +[id="installing-azure-stack-hub-network-customizations"] += Installing a cluster on Azure Stack Hub with network customizations +include::modules/common-attributes.adoc[] +:context: installing-azure-stack-hub-network-customizations + +toc::[] + +In {product-title} version {product-version}, you can install a cluster on +Microsoft Azure Stack Hub that uses the default configuration options. However, you must manually configure the `install-config.yaml` file to specify values that are specific to Azure Stack Hub. + +[NOTE] +==== +While you can select `azure` when using the installation program to deploy a cluster using installer-provisioned infrastructure, this option is only supported for the Azure Public Cloud. +==== + +== Prerequisites + +* You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes. +* You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users]. +* You xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-account.adoc#installing-azure-stack-hub-account[configured an Azure Stack Hub account] to host the cluster. +* If you use a firewall, you xref:../../installing/install_config/configuring-firewall.adoc#configuring-firewall[configured it to allow the sites] that your cluster requires access to. +* You put the Cloud Credential Operator (COO) into xref:../../installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc#manually-creating-iam-azure-stack-hub[manual mode]. Manual mode is used in environments where the cloud IAM APIs are not reachable. + +include::modules/cluster-entitlements.adoc[leveloffset=+1] + +include::modules/ssh-agent-using.adoc[leveloffset=+1] + +include::modules/installation-obtaining-installer.adoc[leveloffset=+1] + +include::modules/installation-initializing-manual.adoc[leveloffset=+1] +include::modules/installation-configuration-parameters.adoc[leveloffset=+2] +include::modules/installation-azure-stack-hub-config-yaml.adoc[leveloffset=+2] + +//include::modules/installation-launching-installer.adoc[leveloffset=+1] +//Leaving this stubbed in case future might remove the requirement to manually configure the install configuration file. + +// Network Operator specific configuration +include::modules/nw-network-config.adoc[leveloffset=+1] +include::modules/nw-modifying-operator-install-config.adoc[leveloffset=+1] +include::modules/nw-operator-cr.adoc[leveloffset=+1] +include::modules/configuring-hybrid-ovnkubernetes.adoc[leveloffset=+1] + +[NOTE] +==== +For more information on using Linux and Windows nodes in the same cluster, see xref:../../windows_containers/understanding-windows-container-workloads.adoc#understanding-windows-container-workloads[Understanding Windows container workloads]. +==== + +include::modules/cli-installing-cli.adoc[leveloffset=+1] + +include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1] + +include::modules/logging-in-by-using-the-web-console.adoc[leveloffset=+1] + +.Additional resources + +* See xref:../../web_console/web-console.adoc#web-console[Accessing the web console] for more details about accessing and understanding the {product-title} web console. + +include::modules/cluster-telemetry.adoc[leveloffset=+1] + +.Additional resources + +* See xref:../../support/remote_health_monitoring/about-remote-health-monitoring.adoc#about-remote-health-monitoring[About remote health monitoring] for more information about the Telemetry service + +== Next steps + +* xref:../../installing/validating-an-installation.adoc#validating-an-installation[Validating an installation]. +* xref:../../post_installation_configuration/cluster-tasks.adoc#available_cluster_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]. +* If necessary, you can xref:../../authentication/managing_cloud_provider_credentials/cco-mode-mint.adoc#manually-removing-cloud-creds_cco-mode-mint[remove cloud provider credentials]. diff --git a/installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc b/installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc index 00ba801c4376..66919485929f 100644 --- a/installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc +++ b/installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc @@ -27,4 +27,6 @@ include::modules/manually-maintained-credentials-upgrade.adoc[leveloffset=+1] [id="next-steps_manually-creating-iam-azure-stack-hub"] == Next steps -* Install an {product-title} cluster on Azure Stack Hub with user-provisioned infrastructure by following xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc#installing-azure-stack-hub-user-infra[Installing a cluster on Azure Stack Hub using ARM templates]. +* Install an {product-title} cluster: +** xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc#installing-azure-stack-hub-default[Installing a cluster quickly on Azure Stack Hub]. +** xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc#installing-azure-stack-hub-user-infra[Installing a cluster on Azure Stack Hub using ARM templates]. diff --git a/installing/installing_azure_stack_hub/preparing-to-install-on-azure-stack-hub.adoc b/installing/installing_azure_stack_hub/preparing-to-install-on-azure-stack-hub.adoc index 2a31fc67b471..e9679f8e12c8 100644 --- a/installing/installing_azure_stack_hub/preparing-to-install-on-azure-stack-hub.adoc +++ b/installing/installing_azure_stack_hub/preparing-to-install-on-azure-stack-hub.adoc @@ -14,17 +14,25 @@ toc::[] [id="requirements-for-installing-ocp-on-ash"] == Requirements for installing {product-title} on Azure Stack Hub -Before installing {product-title} on Microsoft Azure Stack Hub, you must configure an Azure account. See xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-account.adoc#installing-azure-stack-hub-account[Configuring an Azure Stack Hub account] for details about account configuration, account limits, DNS zone configuration, required roles, and creating service principals. +Before installing {product-title} on Microsoft Azure Stack Hub, you must: -You must manually manage your cloud credentials when installing a cluster to Azure Stack Hub. Do this by configuring the Cloud Credential Operator (CCO) for manual mode before you install the cluster. For more information, see xref:../../installing/installing_azure/manually-creating-iam-azure.adoc#manually-creating-iam-azure[Manually creating IAM for Azure]. +* Configure an Azure account. See xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-account.adoc#installing-azure-stack-hub-account[Configuring an Azure Stack Hub account] for details about account configuration, account limits, DNS zone configuration, required roles, and creating service principals. +* Manually manage your cloud credentials when installing a cluster to Azure Stack Hub. Do this by configuring the Cloud Credential Operator (CCO) for manual mode before you install the cluster. For more information, see xref:../../installing/installing_azure_stack_hub/manually-creating-iam-azure-stack-hub.adoc#manually-creating-iam-azure-stack-hub[Manually creating IAM for Azure]. [id="choosing-a-method-to-install-ocp-on-ash"] == Choosing a method to install {product-title} on Azure Stack Hub -You can install {product-title} on Azure Stack Hub using user-provisioned infrastructure. This means you must manage and maintain the cluster resources yourself. Installing {product-title} on Azure Stack Hub using an installation program that automatically provisions the cluster infrastructure is not supported at this time. +You can install {product-title} on installer-provisioned or user-provisioned infrastructure. The default installation type uses installer-provisioned infrastructure, where the installation program provisions the underlying infrastructure for the cluster. You can also install {product-title} on infrastructure that you provision. If you do not use infrastructure that the installation program provisions, you must manage and maintain the cluster resources yourself. See xref:../../architecture/architecture-installation.adoc#installation-process_architecture-installation[Installation process] for more information about installer-provisioned and user-provisioned installation processes. +[id="choosing-a-method-to-install-ocp-on-ash-installer-provisioned"] +=== Installing a cluster on installer-provisioned infrastructure + +You can install a cluster on Azure Stack Hub infrastructure that is provisioned by the {product-title} installation program, by using one of the following methods: + +* **xref:../../installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc#installing-azure-stack-hub-default[Installing a cluster quickly on Azure Stack Hub]**: You can install {product-title} on Azure Stack Hub infrastructure that is provisioned by the {product-title} installation program. You can install a cluster quickly by using the default configuration options. + [id="choosing-a-method-to-install-ocp-on-ash-user-provisioned"] === Installing a cluster on user-provisioned infrastructure diff --git a/modules/cluster-entitlements.adoc b/modules/cluster-entitlements.adoc index facdcbbfb376..f22b8cd1e0dd 100644 --- a/modules/cluster-entitlements.adoc +++ b/modules/cluster-entitlements.adoc @@ -17,6 +17,7 @@ // * installing/installing_ibm_z/installing-ibm-z.adoc // * installing/installing_azure/installing-azure-vnet.adoc // * installing/installing_azure/installing-azure-user-infra.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc // * installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc // * installing/installing_azure/installing-azure-default.adoc // * installing/installing_azure/installing-azure-network-customizations.adoc diff --git a/modules/configuring-hybrid-ovnkubernetes.adoc b/modules/configuring-hybrid-ovnkubernetes.adoc index 1fc2eac5b15e..62b7fac08cd7 100644 --- a/modules/configuring-hybrid-ovnkubernetes.adoc +++ b/modules/configuring-hybrid-ovnkubernetes.adoc @@ -2,6 +2,7 @@ // // * installing/installing_aws/installing-aws-network-customizations.adoc // * installing/installing_azure/installing-azure-network-customizations.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc // * networking/ovn_kubernetes_network_provider/configuring-hybrid-networking.adoc [id="configuring-hybrid-ovnkubernetes_{context}"] diff --git a/modules/installation-azure-stack-hub-config-yaml.adoc b/modules/installation-azure-stack-hub-config-yaml.adoc index 9eb675f6baf7..6cc6539593e9 100644 --- a/modules/installation-azure-stack-hub-config-yaml.adoc +++ b/modules/installation-azure-stack-hub-config-yaml.adoc @@ -1,6 +1,14 @@ // Module included in the following assemblies: // // * installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc + +ifeval::["{context}" == "installing-azure-stack-hub-user-infra"] +:ash: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:ash-default: +endif::[] [id="installation-azure-stack-hub-config-yaml_{context}"] = Sample customized `install-config.yaml` file for Azure Stack Hub @@ -12,6 +20,7 @@ You can customize the `install-config.yaml` file to specify more details about y This sample YAML file is provided for reference only. Use it as a resource to enter parameter values into the installation configuration file that you created manually. ==== +ifdef::ash[] [source,yaml] ---- apiVersion: v1 @@ -81,3 +90,85 @@ endif::openshift-origin[] ==== For production {product-title} clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your `ssh-agent` process uses. ==== +endif::ash[] + +ifdef::ash-default[] +[source,yaml] +---- +apiVersion: v1 +baseDomain: example.com <1> +credentialsMode: Manual +controlPlane: + name: master + replicas: 3 +compute: +- name: worker + platform: {} + replicas: 3 +metadata: + name: test-cluster <1> <2> +networking: + clusterNetwork: + - cidr: 10.128.0.0/14 + hostPrefix: 23 + machineNetwork: + - cidr: 10.0.0.0/16 +ifndef::openshift-origin[] + networkType: OpenShiftSDN +endif::openshift-origin[] +ifdef::openshift-origin[] + networkType: OVNKubernetes +endif::openshift-origin[] + serviceNetwork: + - 172.30.0.0/16 +platform: + azure: + armEndpoint: azurestack_arm_endpoint <1> <3> + baseDomainResourceGroupName: resource_group <1> <4> + region: azure_stack_local_region <1> <5> + resourceGroupName: existing_resource_group <1> <6> + outboundType: Loadbalancer + cloudName: AzureStackCloud <1> + clusterOSimage: https://vhdsa.blob.example.example.com/vhd/rhcos-410.84.202112040202-0-azurestack.x86_64.vhd <1> <7> +pullSecret: '{"auths": ...}' <1> <8> +ifndef::openshift-origin[] +fips: false +sshKey: ssh-ed25519 AAAA... <9> +endif::openshift-origin[] +ifdef::openshift-origin[] +sshKey: ssh-ed25519 AAAA...<9> +endif::openshift-origin[] +additionalTrustBundle: | <10> + -----BEGIN CERTIFICATE----- + + -----END CERTIFICATE----- +---- +<1> Required. Unless specified, all other parameters values can remain unchanged to preserve the default configuration options. +<2> The name of the cluster. +<3> The Azure Resource Manager endpoint that your Azure Stack Hub operator provides. +<4> The name of the resource group that contains the DNS zone for your base domain. +<5> The name of your Azure Stack Hub local region. +<6> The name of an existing resource group to install your cluster to. If undefined, a new resource group is created for the cluster. +<7> The url of a storage blob in the Azure Stack environment that contains an RHCOS VHD. +<8> The pull secret required to authenticate your cluster. +ifndef::openshift-origin[] +<9> You can optionally provide the `sshKey` value that you use to access the machines in your cluster. +endif::openshift-origin[] +ifdef::openshift-origin[] +<9> You can optionally provide the `sshKey` value that you use to access the machines in your cluster. +endif::openshift-origin[] ++ +[NOTE] +==== +For production {product-title} clusters on which you want to perform installation debugging or disaster recovery, specify an SSH key that your `ssh-agent` process uses. +==== +<10> If the Azure Stack Hub environment is using an internal Certificate Authority (CA), adding the CA certificate is required. + +endif::ash-default[] + +ifeval::["{context}" == "installing-azure-stack-hub-user-infra"] +:!ash: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:!ash-default: +endif::[] diff --git a/modules/installation-configuration-parameters.adoc b/modules/installation-configuration-parameters.adoc index f06ad9c337f0..f52869432a99 100644 --- a/modules/installation-configuration-parameters.adoc +++ b/modules/installation-configuration-parameters.adoc @@ -41,6 +41,8 @@ // * installing/installing_vsphere/installing-restricted-networks-installer-provisioned-vsphere.adoc // * installing/installing_vsphere/installing-vsphere-installer-provisioned-customizations.adoc // * installing/installing_vsphere/installing-vsphere-installer-provisioned-network-customizations.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-customizations.adoc ifeval::["{context}" == "installing-aws-customizations"] :aws: @@ -178,18 +180,24 @@ endif::[] ifeval::["{context}" == "installing-restricted-networks-ibm-power"] :ibm-power: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:ash-default: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-customizations"] +:ash-custom: +endif::[] [id="installation-configuration-parameters_{context}"] = Installation configuration parameters // If install-config.yaml is generated by openshift-install -ifndef::bare,ibm-power,ibm-z[] +ifndef::bare,ibm-power,ibm-z,ash-default,ash-custom[] Before you deploy an {product-title} cluster, you provide parameter values to describe your account on the cloud platform that hosts your cluster and optionally customize your cluster's platform. When you create the `install-config.yaml` installation configuration file, you provide values for the required parameters through the command line. If you customize your cluster, you can modify the `install-config.yaml` file to provide more details about the platform. -endif::bare,ibm-power,ibm-z[] +endif::bare,ibm-power,ibm-z,ash-default,ash-custom[] // If the user manually creates install-config.yaml -ifdef::bare,ibm-power,ibm-z[] +ifdef::bare,ibm-power,ibm-z,ash-default,ash-custom[] Before you deploy an {product-title} cluster, you provide a customized `install-config.yaml` installation configuration file that describes the details for your environment. -endif::bare,ibm-power,ibm-z[] +endif::bare,ibm-power,ibm-z,ash-default,ash-custom[] [NOTE] ==== @@ -257,6 +265,7 @@ endif::[] |==== +ifndef::ash-default[] [id="installation-configuration-parameters-network_{context}"] == Network configuration parameters @@ -436,7 +445,9 @@ Set the `networking.machineNetwork` to match the CIDR that the preferred NIC res ==== |==== +endif::ash-default[] +ifndef::ash-default[] [id="installation-configuration-parameters-optional_{context}"] == Optional configuration parameters @@ -453,7 +464,7 @@ Optional installation configuration parameters are described in the following ta |`cgroupsV2` |Enables link:https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html[Linux control groups version 2] (cgroups v2) on specific nodes in your cluster. The {product-title} process for enabling cgroups v2 disables all cgroup version 1 controllers and hierarchies. The {product-title} cgroups version 2 feature is in Developer Preview and is not supported by Red Hat at this time. -|`true` +|`true` |`compute` |The configuration for the machines that comprise the compute nodes. @@ -606,6 +617,7 @@ For production {product-title} clusters on which you want to perform installatio a|For example, `sshKey: ssh-ed25519 AAAA..`. |==== +endif::ash-default[] ifdef::aws[] [id="installation-configuration-parameters-optional-aws_{context}"] @@ -1271,6 +1283,52 @@ Optional VMware vSphere machine pool configuration parameters are described in t endif::vsphere,vmc[] +ifdef::ash-default,ash-custom[] +[id="installation-configuration-parameters-additional-azure-stack-hub_{context}"] +== Additional Azure Stack Hub configuration parameters + +Additional Azure configuration parameters are described in the following table: + +.Additional Azure Stack Hub parameters +[cols=".^2,.^3a,.^3a",options="header"] +|==== +|Parameter|Description|Values + +|`platform.azure.armEndpoint` +|The name of the Azure Resource Manager endpoint that your Azure Stack Hub operator provides. +|String + +|`platform.azure.baseDomainResourceGroupName` +|The name of the resource group that contains the DNS zone for your base domain. +|String, for example `production_cluster`. + +|`platform.azure.region` +|The name of your Azure Stack Hub local region. +|String + +|`platform.azure.resourceGroupName` +| The name of an already existing resource group to install your cluster to. If undefined, a new resource group is created for the cluster. +|String, for example `existing_resource_group`. + +|`platform.azure.outboundType` +|The outbound routing strategy used to connect your cluster to the internet. If +you are using user-defined routing, you must have pre-existing networking +available where the outbound routing has already been configured prior to +installing a cluster. The installation program is not responsible for +configuring user-defined routing. +|`LoadBalancer` or `UserDefinedRouting`. The default is `LoadBalancer`. + +|`platform.azure.cloudName` +|The name of the Azure cloud environment that is used to configure the Azure SDK with the appropriate Azure API endpoints. +|`AzureStackCloud` + +|`clusterOSImage` +|The url of a storage blob in the Azure Stack environment that contains an RHCOS VHD. +|String, for example, https://vhdsa.blob.example.example.com/vhd/rhcos-410.84.202112040202-0-azurestack.x86_64.vhd + +|==== +endif::ash-default,ash-custom[] + ifdef::bare[] :!bare: endif::bare[] @@ -1392,4 +1450,9 @@ endif::[] ifeval::["{context}" == "installing-restricted-networks-ibm-power"] :!ibm-power: endif::[] - +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:!ash-default: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-customizations"] +:!ash-custom: +endif::[] diff --git a/modules/installation-initializing-manual.adoc b/modules/installation-initializing-manual.adoc index a433d3efd280..dda828c0012c 100644 --- a/modules/installation-initializing-manual.adoc +++ b/modules/installation-initializing-manual.adoc @@ -5,6 +5,7 @@ // * installing/installing_azure/installing-azure-government-region.adoc // * installing/installing_azure/installing-azure-private.adoc // * installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_gcp/installing-gcp-private.adoc // * installing/installing_bare_metal/installing-restricted-networks-bare-metal.adoc @@ -47,13 +48,19 @@ endif::[] ifeval::["{context}" == "installing-gcp-private"] :gcp-private: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:ash-default: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-customizations"] +:ash-custom: +endif::[] [id="installation-initializing-manual_{context}"] = Manually creating the installation configuration file -ifndef::aws-china,aws-gov,azure-gov,ash,aws-private,azure-private,gcp-private[] +ifndef::aws-china,aws-gov,azure-gov,ash,aws-private,azure-private,gcp-private,ash-default[] For user-provisioned installations of {product-title}, you manually generate your installation configuration file. -endif::aws-china,aws-gov,azure-gov,ash,aws-private,azure-private,gcp-private[] +endif::aws-china,aws-gov,azure-gov,ash,aws-private,azure-private,gcp-private,ash-default[] ifdef::aws-china,aws-gov[] When installing {product-title} on Amazon Web Services (AWS) into a region requiring a custom {op-system-first} AMI, you must manually generate your @@ -66,6 +73,9 @@ endif::azure-gov[] ifdef::aws-private,azure-private,gcp-private[] For installations of a private {product-title} cluster that are only accessible from an internal network and are not visible to the internet, you must manually generate your installation configuration file. endif::aws-private,azure-private,gcp-private[] +ifdef::ash-default,ash-custom[] +When installing {product-title} on Microsoft Azure Stack Hub, you must manually create your installation configuration file. +endif::ash-default,ash-custom[] .Prerequisites @@ -83,8 +93,7 @@ endif::restricted[] .Procedure -. Create an installation directory to store your required installation assets -in: +. Create an installation directory to store your required installation assets in: + [source,terminal] ---- @@ -118,12 +127,12 @@ mirror the repository. endif::restricted[] + -ifndef::aws-china,aws-gov,ash[] +ifndef::aws-china,aws-gov,ash,ash-default,ash-custom[] [NOTE] ==== For some platform types, you can alternatively run `./openshift-install create install-config --dir ` to generate an `install-config.yaml` file. You can provide details about your cluster configuration at the prompts. ==== -endif::aws-china,aws-gov,ash[] +endif::aws-china,aws-gov,ash,ash-default,ash-custom[] ifdef::ash[] + Make the following modifications for Azure Stack Hub: @@ -159,6 +168,19 @@ platform: <4> Specify the name of your Azure Stack Hub region. endif::ash[] +ifdef::ash-default,ash-custom[] ++ +Make the following modifications: + +.. Specify the required installation parameters. + +.. Update the `platform.azure` section to specify the parameters that are specific to Azure Stack Hub. + +ifdef::ash-custom[] +. Update the remainder of the `install-config.yaml` file to meet the needs of your organization. +endif::ash-custom[] +endif::ash-default,ash-custom[] + . Back up the `install-config.yaml` file so that you can use it to install multiple clusters. + @@ -198,3 +220,9 @@ endif::[] ifeval::["{context}" == "installing-gcp-private"] :!gcp-private: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:!ash-default: +endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-customizations"] +:!ash-custom: +endif::[] diff --git a/modules/installation-launching-installer.adoc b/modules/installation-launching-installer.adoc index 0d4a4123fb11..17847b99256a 100644 --- a/modules/installation-launching-installer.adoc +++ b/modules/installation-launching-installer.adoc @@ -12,6 +12,7 @@ // * installing/installing_azure/installing-azure-government-region.adoc // * installing/installing_azure/installing-azure-private.adoc // * installing/installing_azure/installing-azure-vnet.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc // * installing/installing_gcp/installing-gcp-customizations.adoc // * installing/installing_gcp/installing-gcp-private.adoc // * installing/installing_gcp/installing-gcp-default.adoc @@ -97,6 +98,10 @@ ifeval::["{context}" == "installing-azure-network-customizations"] :custom-config: :azure: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:no-config: +:ash: +endif::[] ifeval::["{context}" == "installing-openstack-installer-custom"] :osp: :custom-config: @@ -149,6 +154,7 @@ ifeval::["{context}" == "installing-restricted-networks-vmc"] :vmc: endif::[] + [id="installation-launching-installer_{context}"] = Deploying the cluster @@ -231,7 +237,7 @@ The AWS access key ID and secret access key are stored in `~/.aws/credentials` i .. Select the AWS region to deploy the cluster to. .. Select the base domain for the Route 53 service that you configured for your cluster. endif::aws[] -ifdef::azure[] +ifdef::azure,ash[] .. Select *azure* as the platform to target. .. If you do not have a Microsoft Azure profile stored on your computer, specify the following Azure parameter values for your subscription and service principal: @@ -246,7 +252,7 @@ parameter for the service principal. .. Select the region to deploy the cluster to. .. Select the base domain to deploy the cluster to. The base domain corresponds to the Azure DNS Zone that you created for your cluster. -endif::azure[] +endif::azure,ash[] ifdef::gcp[] .. Select *gcp* as the platform to target. .. If you have not configured the service account key for your GCP account on @@ -491,6 +497,10 @@ ifeval::["{context}" == "installing-azure-vnet"] :!custom-config: :!azure: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:!no-config: +:!ash: +endif::[] ifeval::["{context}" == "installing-openstack-installer-custom"] :!osp: :!custom-config: diff --git a/modules/installation-obtaining-installer.adoc b/modules/installation-obtaining-installer.adoc index 97fc5aaecbdf..0bf245b8c728 100644 --- a/modules/installation-obtaining-installer.adoc +++ b/modules/installation-obtaining-installer.adoc @@ -13,6 +13,7 @@ // * installing/installing_azure/installing-azure-private.adoc // * installing/installing_azure/installing-azure-vnet.adoc // * installing/installing_azure/installing-azure-user-infra.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc // * installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_gcp/installing-gcp-customizations.adoc @@ -46,6 +47,9 @@ endif::[] ifeval::["{context}" == "installing-ibm-z-kvm"] :ibm-z-kvm: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:ash: +endif::[] ifeval::["{context}" == "installing-azure-stack-hub-user-infra"] :ash: endif::[] @@ -70,12 +74,13 @@ ifndef::ibm-z,ibm-z-kvm[* You have a computer that runs Linux or macOS, with 500 .Procedure ifndef::openshift-origin[] -. Access the link:https://console.redhat.com/openshift/install[Infrastructure Provider] -page on the {console-redhat-com} site. If you have a Red Hat account, log in with your credentials. If you do not, create an account. +. Access the link:https://console.redhat.com/openshift/install[Infrastructure Provider] page on the {cloud-redhat-com} site. If you have a Red Hat account, log in with your credentials. If you do not, create an account. +ifndef::ash[] . Select your infrastructure provider. +endif::ash[] ifdef::ash[] -Select *Azure* as the cloud provider if you are installing your cluster on Azure Stack Hub. -endif::[] +. Select *Azure* as the cloud provider. +endif::ash[] . Navigate to the page for your installation type, download the installation program for your operating system, and place the file in the directory where you will store the installation configuration files. endif::[] ifdef::openshift-origin[] @@ -125,6 +130,9 @@ endif::[] ifeval::["{context}" == "installing-ibm-z-kvm"] :!ibm-z-kvm: endif::[] +ifeval::["{context}" == "installing-azure-stack-hub-default"] +:!ash: +endif::[] ifeval::["{context}" == "installing-azure-stack-hub-user-infra"] :!ash: endif::[] diff --git a/modules/nw-modifying-operator-install-config.adoc b/modules/nw-modifying-operator-install-config.adoc index b04aff40a988..e10cc564c285 100644 --- a/modules/nw-modifying-operator-install-config.adoc +++ b/modules/nw-modifying-operator-install-config.adoc @@ -8,6 +8,7 @@ // * installing/installing_gcp/installing-gcp-network-customizations.adoc // * installing/installing_vmc/installing-vmc-network-customizations.adoc // * installing/installing_vsphere/installing-vsphere-installer-provisioned-network-customizations.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc ifeval::["{context}" == "installing-bare-metal-network-customizations"] :ignition-config: diff --git a/modules/nw-network-config.adoc b/modules/nw-network-config.adoc index b4ea8fce7cc6..32fa557a9dea 100644 --- a/modules/nw-network-config.adoc +++ b/modules/nw-network-config.adoc @@ -10,6 +10,7 @@ // * installing/installing_vsphere/installing-vsphere-network-customizations.adoc // * installing/installing_vsphere/installing-vsphere-installer-provisioned-network-customizations.adoc // * installing/installing_gcp/installing-gcp-network-customizations.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc [id="nw-network-config_{context}"] = Network configuration phases diff --git a/modules/nw-operator-cr.adoc b/modules/nw-operator-cr.adoc index d9a75a56621a..73b51a0015eb 100644 --- a/modules/nw-operator-cr.adoc +++ b/modules/nw-operator-cr.adoc @@ -16,6 +16,7 @@ // * installing/installing_ibm_z/installing-restricted-networks-ibm-z-kvm.adoc // * installing/installing_ibm_power/installing-ibm-power.adoc // * installing/installing_ibm_power/installing-restricted-networks-ibm-power.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-network-customizations.adoc // Installation assemblies need different details than the CNO operator does ifeval::["{context}" == "cluster-network-operator"] diff --git a/modules/ssh-agent-using.adoc b/modules/ssh-agent-using.adoc index df86aac9bd0a..56fec6950db0 100644 --- a/modules/ssh-agent-using.adoc +++ b/modules/ssh-agent-using.adoc @@ -15,6 +15,7 @@ // * installing/installing_azure/installing-azure-private.adoc // * installing/installing_azure/installing-azure-vnet.adoc // * installing/installing_azure/installing-azure-user-infra.adoc +// * installing/installing_azure_stack_hub/installing-azure-stack-hub-default.adoc // * installing/installing_azure_stack_hub/installing-azure-stack-hub-user-infra.adoc // * installing/installing_bare_metal/installing-bare-metal.adoc // * installing/installing_gcp/installing-gcp-customizations.adoc diff --git a/modules/supported-platforms-for-openshift-clusters.adoc b/modules/supported-platforms-for-openshift-clusters.adoc index d0b24bb7573b..4505ace90853 100644 --- a/modules/supported-platforms-for-openshift-clusters.adoc +++ b/modules/supported-platforms-for-openshift-clusters.adoc @@ -11,6 +11,7 @@ In {product-title} {product-version}, you can install a cluster that uses instal * Amazon Web Services (AWS) * Google Cloud Platform (GCP) * Microsoft Azure +* Microsoft Azure Stack Hub * {rh-openstack-first} version 13 and 16 ** The latest {product-title} release supports both the latest {rh-openstack} long-life release and intermediate release. For complete {rh-openstack} release compatibility, see the link:https://access.redhat.com/articles/4679401[{product-title} on {rh-openstack} support matrix]. * {rh-virtualization-first}