Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions _attributes/common-attributes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,13 @@ endif::[]
:sts-first: Security Token Service (STS)
:sts-full: Security Token Service
:sts-short: STS
//AWS ZONES
:aws-zone-local-full: AWS Local Zones
:aws-zone-local-single: Local Zone
:aws-zone-type-local: local-zone
:aws-zone-wavelength-full: AWS Wavelength Zones
:aws-zone-wavelength-single: Wavelength Zone
:aws-zone-type-wavelength: wavelength-zone
//Cloud provider names
//AWS
:aws-first: Amazon Web Services (AWS)
Expand Down
8 changes: 5 additions & 3 deletions _topic_maps/_topic_map.yml
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,12 @@ Topics:
File: installing-aws-china
- Name: Installing a cluster on AWS using CloudFormation templates
File: installing-aws-user-infra
- Name: Installing a cluster on AWS with worker nodes on AWS Local Zones
File: installing-aws-localzone
- Name: Installing a cluster on AWS in a restricted network with user-provisioned infrastructure
File: installing-restricted-networks-aws
- Name: Installing a cluster on AWS with worker nodes on AWS Local Zones
File: installing-aws-localzone
- Name: Installing a cluster on AWS with worker nodes on AWS Wavelength
File: installing-aws-wavelength
- Name: Installing a cluster on AWS with remote workers on AWS Outposts
File: installing-aws-outposts-remote-workers
- Name: Installing a three-node cluster on AWS
Expand Down Expand Up @@ -585,7 +587,7 @@ Topics:
- Name: Fedora CoreOS (FCOS) image layering
File: coreos-layering
Distros: openshift-origin
- Name: AWS Local Zone tasks
- Name: AWS Local and Wavelength Zone tasks
File: aws-compute-edge-tasks
Distros: openshift-enterprise
---
Expand Down
309 changes: 156 additions & 153 deletions installing/installing_aws/installing-aws-localzone.adoc

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions installing/installing_aws/installing-aws-wavelength.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,280 @@
:_mod-docs-content-type: ASSEMBLY
include::_attributes/common-attributes.adoc[]

:context: installing-aws-wavelength

// Context Variables for edge zones
:aws-service-name-full: AWS Wavelength
:aws-service-name-short: Wavelength Zones
:aws-service-name-single: Wavelength Zone
:zone-type: wavelength-zone

[id="installing-aws-wavelength"]
= Installing a cluster on AWS with worker nodes on {aws-service-name-full}

// ATTENTION: All the content from here is shared between the pages:
// installing-aws-local-zones
// installing-aws-wavelength

ifeval::["{zone-type}" == "{aws-zone-type-local}"]
:aws-localzones:
:aws-doc-zone: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-local-zones
endif::[]
ifeval::["{zone-type}" == "{aws-zone-type-wavelength}"]
:aws-wavelength:
:aws-doc-zone: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-wavelength-zones
endif::[]

toc::[]

// Intro Installing in AWS Edge zones ({aws-service-name-full})
include::modules/aws-edge-zones-installing-intro.adoc[leveloffset=+0]

// Additional Permissions for {aws-service-name-full}
include::modules/aws-edge-zones-permissions.adoc[leveloffset=+0]

== About {aws-service-name-full} and edge compute pool

// Cluster limitations in {aws-service-name-full}
include::modules/aws-edge-zones-cluster-limitations.adoc[leveloffset=+2]

// Edge compute pools and AWS {aws-service-name-full}
include::modules/edge-machine-pools-aws-local-zones.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../networking/changing-cluster-network-mtu.adoc#mtu-value-selection_changing-cluster-network-mtu[Changing the MTU for the cluster network]
* xref:../../networking/changing-cluster-network-mtu.adoc#nw-ovn-ipsec-enable_configuring-ipsec-ovn[Enabling IPsec encryption]
* xref:../../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations-about_nodes-scheduler-taints-tolerations[Understanding taints and tolerations]


[role="_additional-resources"]
.Additional resources

* xref:../../storage/understanding-persistent-storage.adoc#pvc-storage-class_understanding-persistent-storage[Storage classes]

* xref:../../networking/ingress-sharding.html#nw-ingress-sharding_ingress-sharding[Ingress Controller sharding]

== Prerequisites for the installation

// Opting in to the {aws-service-name-short} Group
include::modules/installation-aws-add-local-zone-locations.adoc[leveloffset=+2]

// Internet access for OpenShift Container Platform
include::modules/cluster-entitlements.adoc[leveloffset=+2]

// Obtaining an AWS Marketplace image
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In your preview for WZ, only one step is available. The same module steps for LZ should apply to WZ docs for this module?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In your preview for WZ, only one step is available.

could you please elaborate that part?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NP. Your PR's preview for the Obtaining an AWS Marketing Image for WZ only has one step, while the LZ doc has more steps. Should the section in oth docs be identical?

Screenshot from 2023-12-22 11-23-09

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably it was removed by mistake, the intention wasn't touch/remove that part.

include::modules/installation-aws-marketplace-subscribe.adoc[leveloffset=+2]

//Installing the OpenShift CLI by downloading the binary: Moved up to precede `ccoctl` steps, which require the use of `oc`
include::modules/cli-installing-cli.adoc[leveloffset=+2]

// Obtaining the installation program
include::modules/installation-obtaining-installer.adoc[leveloffset=+2]

// Generating a key pair for cluster node SSH access
include::modules/ssh-agent-using.adoc[leveloffset=+2]

== Preparing for the installation

Before you extend nodes to {aws-service-name-full}, you must prepare certain resources for the cluster installation environment.

// Minimum resource requirements for cluster installation
include::modules/installation-minimum-resource-requirements.adoc[leveloffset=+2]

// Tested instance types for AWS
include::modules/installation-aws-tested-machine-types.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

ifdef::aws-localzones[]
* See link:https://aws.amazon.com/about-aws/global-infrastructure/localzones/features/[AWS Local Zones features]
in the AWS documentation for more information about {aws-service-name-full} and the supported instances types and services.
endif::aws-localzones[]
ifdef::aws-wavelength[]
* See link:https://aws.amazon.com/wavelength/features[Features][{aws-service-name-full}]
in the AWS documentation for more information about {aws-service-name-full} features.
endif::aws-wavelength[]

// Creating the installation files for AWS
//include::modules/installation-user-infra-generate.adoc[leveloffset=+2]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is commented out, so it is no longer required?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you check the rendered page, it seems to be duplicated

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I cannot see the duplication. Am I missing something?


// Creating the installation configuration file
include::modules/installation-generate-aws-user-infra-install-config.adoc[leveloffset=+2]

// Examples of the installation configuration file with edge compute pools
include::modules/installation-aws-edge-compute-pools-examples.adoc[leveloffset=+2]

// Customizing Cluster Network MTU
include::modules/installation-aws-cluster-network-mtu.adoc[leveloffset=+2]

// Cluster installation options for an {aws-service-name-full} environment
include::modules/aws-cluster-installation-options-aws-lzs.adoc[leveloffset=+1]

.Next steps

Choose one of the following options to install an {product-title} cluster in an {aws-service-name-short} environment:

ifdef::aws-localzones[]
* xref:../../installing/installing_aws/installing-aws-localzone.adoc#installation-cluster-quickly-extend-workers_installing-aws-localzone[Installing a cluster quickly in AWS {aws-service-name-full}]
* xref:../../installing/installing_aws/installing-aws-localzone.adoc#creating-aws-local-zone-environment-existing_installing-aws-localzone[Installing a cluster in an existing VPC with defined Local Zone subnets]
endif::aws-localzones[]
ifdef::aws-wavelength[]
* xref:../../installing/installing_aws/installing-aws-wavelength.adoc#installation-cluster-quickly-extend-workers_installing-aws-wavelength[Install a cluster quickly in AWS Wavelength]
* xref:../../installing/installing_aws/installing-aws-wavelength.adoc#creating-aws-local-zone-environment-existing_installing-aws-wavelength[Installing a cluster in an existing VPC that has Wavelength Zones subnets]
endif::aws-wavelength[]

// Installing a cluster quickly in {aws-service-name-full}
include::modules/installation-cluster-quickly-extend-workers.adoc[leveloffset=+1]

// Modifying an installation configuration to use {aws-service-name-full}
include::modules/install-creating-install-config-aws-local-zones.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* xref:../../installing/installing_aws/installing-aws-localzone.adoc#cluster-limitations-local-zone_installing-aws-localzone[Creating the installation configuration file]

* xref:../../installing/installing_aws/installing-aws-localzone.adoc#cluster-limitations-local-zone_installing-aws-localzone[Cluster limitations in AWS {aws-service-name-full}]

.Next steps
* xref:../../installing/installing_aws/installing-aws-localzone.adoc#installation-launching-installer_installing-aws-localzone[Deploying the cluster]

[id="creating-aws-local-zone-environment-existing_{context}"]
== Installing a cluster in an existing VPC that has {aws-service-name-short} subnets

You can install a cluster into an existing Amazon Virtual Private Cloud (VPC) on Amazon Web Services (AWS).
The installation program provisions the rest of the required infrastructure, which you can further customize.
To customize the installation, modify parameters in the `install-config.yaml` file before you install the cluster.

Installing a cluster on AWS into an existing VPC requires the creation of subnets on {aws-service-name-full}
before deploying workers to the edge of the cloud infrastructure.

You can use a provided CloudFormation template to create the required network component (VPC, gateways, and subnets).
Additionally, you can modify a template to customize your infrastructure or use the information that they contain to
create AWS objects according to your company's policies.

ifdef::aws-localzones[]
[NOTE]
====
If you want to create private subnets, you must either modify the provided CloudFormation template
or create your own template.
====
endif::aws-localzones[]

[IMPORTANT]
====
The steps for performing an installer-provisioned infrastructure installation are provided for example purposes only.
Installing a cluster in an existing VPC requires that you have knowledge of the cloud provider and the
installation process of {product-title}. You can use a CloudFormation template to assist you with completing
these steps or to help model your own cluster installation. Instead of using the CloudFormation template to create
resources, you can decide to use other methods for generating these resources.
====

// Creating a VPC in AWS
include::modules/installation-creating-aws-vpc-localzone.adoc[leveloffset=+2]

// CloudFormation template for the VPC
include::modules/installation-cloudformation-vpc-localzone.adoc[leveloffset=+2]

ifdef::aws-localzones[]
// AWS security groups
// Do we need this for LZ as the example is already provided in the section "Edge compute pools and AWS Local Zones"?
include::modules/installation-aws-security-groups.adoc[leveloffset=+2]

// CloududFormation template for the subnet for {aws-service-name-full}
include::modules/installation-cloudformation-subnet-localzone.adoc[leveloffset=+2]

endif::aws-localzones[]
ifdef::aws-wavelength[]

// Creating a Carrier Gateway in AWS VPC Carrier Gateway
include::modules/installation-creating-aws-vpc-carrier-gw.adoc[leveloffset=+2]

// CloudFormation template for the VPC Carrier Gateway
include::modules/installation-cloudformation-vpc-carrier-gw.adoc[leveloffset=+2]

// Creating the subnets in AWS {aws-service-name-full}
include::modules/installation-creating-aws-vpc-subnets.adoc[leveloffset=+2]

// CloudFormation template for the VPC Subnets
include::modules/installation-cloudformation-vpc-subnets.adoc[leveloffset=+2]

endif::aws-wavelength[]

[role="_additional-resources"]
.Additional resources

* You can view details about the CloudFormation stacks that you create by navigating to the
link:https://console.aws.amazon.com/cloudformation/[AWS CloudFormation console].

// Modifying an installation configuration file to use AWS {aws-service-name-full} subnets
include::modules/installing-aws-edge-zones-custom-vpc-config.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources

* See link:https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html[Configuration and credential file settings]
in the AWS documentation for more information about AWS profile and credential configuration.

.Next steps
* xref:../../installing/installing_aws/installing-aws-localzone.adoc#installation-launching-installer_installing-aws-localzone[Deploying the cluster]

// Creating edge worker nodes in public subnets (optional)
include::modules/machineset-aws-edge-zone-public.adoc[leveloffset=+1]

//TODO: Put this back if QE validates it:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I remove these entries from PR or should I include them as commented out entries for the purpose of history tracking?

//include::modules/installation-configure-proxy.adoc[leveloffset=+2]

//TODO: Verify removal due to automation.
// include::modules/installation-localzone-generate-k8s-manifest.adoc[leveloffset=+2]

// Deploying the cluster
include::modules/installation-launching-installer.adoc[leveloffset=+1]

.Next steps
* xref:../../post_installation_configuration/cluster-tasks.adoc#installation-extend-edge-nodes-aws-local-zones_post-install-cluster-tasks[Creating user workloads in AWS {aws-service-name-full}]

[id="reviewing-installation_{context}"]
== Reviewing the Installation

// Logging in to the cluster by using the CLI
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+2]

// Logging in to the cluster by using the web console
include::modules/logging-in-by-using-the-web-console.adoc[leveloffset=+2]

[role="_additional-resources"]
.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.

// Verifying nodes that were created with edge compute pool
include::modules/machine-edge-pool-review-nodes.adoc[leveloffset=+2]

// Telemetry access for OpenShift Container Platform
include::modules/cluster-telemetry.adoc[leveloffset=+1]

[role="_additional-resources"]
.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.

[id="installing-aws-edge-next-steps_{context}"]
== Next steps

* xref:../../post_installation_configuration/cluster-tasks.adoc#installation-extend-edge-nodes-aws-local-zones_post-install-cluster-tasks[Creating user workloads in AWS {aws-service-name-full}].
* 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].

ifeval::["{zone-type}" == "{aws-zone-type-local}"]
:!aws-localzones:
endif::[]
ifeval::["{zone-type}" == "{aws-zone-type-wavelength}"]
:!aws-wavelength:
endif::[]
11 changes: 7 additions & 4 deletions modules/aws-cluster-installation-options-aws-lzs.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,13 @@

:_mod-docs-content-type: CONCEPT
[id="aws-cluster-installation-options-aws-lzs_{context}"]
= Cluster installation options for an AWS Local Zones environment
= Cluster installation options for an {aws-service-name-full} environment

To install an {product-title} cluster in an AWS Local Zones environment on AWS infrastructure, choose one of the following installation options:
Choose one of the following installations options to install an {product-title} cluster in on AWS with
edge worker nodes in {aws-service-name-full} infrastructure:

* Installing a cluster to quickly extend workers to edge compute pools, where the installation program automatically creates resources for the {product-title} cluster.
* Full automated option: Installing a cluster to quickly extend workers to edge compute pools, where the installation program
automatically creates infrastructure resources for the {product-title} cluster.

* Installing a cluster on AWS into an existing VPC, where you must add Local Zone subnets to the `install-config.yaml` file.
* Existing VPC option: Installing a cluster on AWS into an existing VPC, where you supply {aws-service-name-single} subnets
to the `install-config.yaml` file.
40 changes: 40 additions & 0 deletions modules/aws-edge-zones-cluster-limitations.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Module included in the following assemblies:
//
// * installing/installing-aws-localzone.adoc
// * installing/installing_aws/installing-aws-wavelength.adoc

:_mod-docs-content-type: CONCEPT

[id="cluster-limitations-local-zone_{context}"]
= Cluster limitations in {aws-service-name-full}

Some limitations exist when you attempt to deploy a cluster with a default installation configuration in Amazon Web
Services (AWS) {aws-service-name-short}.

[IMPORTANT]
====
The following list details limitations when deploying a cluster in {aws-service-name-full}:

- The Maximum Transmission Unit (MTU) between an Amazon EC2 instance in a {aws-service-name-single} and an Amazon EC2 instance in the Region
is `1300`. This causes the cluster-wide network MTU to change according to the network plugin that is used on the deployment.
- Network resources such as Network Load Balancer (NLB), Classic Load Balancer, and Network Address Translation (NAT)
Gateways are not globally supported in {aws-service-name-full}.
- For an {product-title} cluster on AWS, the AWS Elastic Block Storage (EBS) `gp3` type volume is the default for node
volumes and the default for the storage class. This volume type is not globally available on {aws-service-name-single} locations.
By default, the nodes running in {aws-service-name-short} are deployed with the `gp2` EBS volume. The `gp2-csi` `StorageClass`
must be set when creating workloads in the nodes running on {aws-service-name-full}.
====

If you want the installation program to automatically create {aws-service-name-single} subnets for your {product-title} cluster,
specific configuration limitations apply with this method.

[IMPORTANT]
====
The following configuration limitation applies when you set the installation program to automatically create subnets for
your {product-title} cluster:

- The private subnets for an {aws-service-name-full} associate with the route table of the parent zone, so that each private subnet
can route egress traffic to the internet. If this route table does not exist during cluster installation, the private subnet
associates with the first available private route table in the Virtual Private Cloud (VPC). This approach is valid only
for {aws-service-name-full} subnets in an {product-title} cluster.
====
Loading