Skip to content

Commit 2ff0a7d

Browse files
authored
Merge pull request #35550 from mjpytlak/osdocs2443
OSDOCS-2443: Adding support for installing a cluster to AWS China regions
2 parents 5b03441 + 6735b6f commit 2ff0a7d

20 files changed

+326
-48
lines changed

_topic_map.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,8 @@ Topics:
156156
File: installing-aws-private
157157
- Name: Installing a cluster on AWS into a government or secret region
158158
File: installing-aws-government-region
159+
- Name: Installing a cluster on AWS into a China region
160+
File: installing-aws-china
159161
- Name: Installing a cluster on AWS using CloudFormation templates
160162
File: installing-aws-user-infra
161163
- Name: Installing a cluster on AWS in a restricted network with user-provisioned infrastructure
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
[id="installing-aws-china-region"]
2+
= Installing a cluster on AWS China
3+
include::modules/common-attributes.adoc[]
4+
:context: installing-aws-china-region
5+
6+
toc::[]
7+
8+
In {product-title} version {product-version}, you can install a cluster to the following Amazon Web Services (AWS) China regions:
9+
10+
* `cn-north-1` (Beijing)
11+
* `cn-northwest-1` (Ningxia)
12+
13+
== Prerequisites
14+
15+
* You have an Internet Content Provider (ICP) license.
16+
* You reviewed details about the xref:../../architecture/architecture-installation.adoc#architecture-installation[{product-title} installation and update] processes.
17+
* You read the documentation on xref:../../installing/installing-preparing.adoc#installing-preparing[selecting a cluster installation method and preparing it for users].
18+
* You xref:../../installing/installing_aws/installing-aws-account.adoc#installing-aws-account[configured an AWS account] to host the cluster.
19+
* 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.
20+
* If the cloud identity and access management (IAM) APIs are not accessible in your environment, or if you do not want to store an administrator-level credential secret in the `kube-system` namespace, you can xref:../../installing/installing_aws/manually-creating-iam.adoc#manually-creating-iam-aws[manually create and maintain IAM credentials].
21+
22+
[IMPORTANT]
23+
====
24+
If you have an AWS profile stored on your computer, it must not use a temporary session token that you generated while using a multi-factor authentication device. The cluster continues to use your current AWS credentials to create AWS resources for the entire life of the cluster, so you must use long-lived credentials. To generate appropriate keys, see link:https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html[Managing Access Keys for IAM Users] in the AWS documentation. You can supply the keys when you run the installation program.
25+
====
26+
27+
include::modules/installation-aws-regions-with-no-ami.adoc[leveloffset=+1]
28+
29+
include::modules/cluster-entitlements.adoc[leveloffset=+1]
30+
31+
include::modules/private-clusters-default.adoc[leveloffset=+1]
32+
include::modules/private-clusters-about-aws.adoc[leveloffset=+2]
33+
34+
include::modules/installation-custom-aws-vpc.adoc[leveloffset=+1]
35+
36+
include::modules/ssh-agent-using.adoc[leveloffset=+1]
37+
38+
include::modules/installation-aws-upload-custom-rhcos-ami.adoc[leveloffset=+1]
39+
40+
include::modules/installation-obtaining-installer.adoc[leveloffset=+1]
41+
42+
include::modules/installation-initializing-manual.adoc[leveloffset=+1]
43+
include::modules/installation-configuration-parameters.adoc[leveloffset=+2]
44+
include::modules/installation-aws-config-yaml.adoc[leveloffset=+2]
45+
include::modules/installation-supported-aws-machine-types.adoc[leveloffset=+2]
46+
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
47+
48+
include::modules/installation-launching-installer.adoc[leveloffset=+1]
49+
50+
include::modules/cli-installing-cli.adoc[leveloffset=+1]
51+
52+
include::modules/cli-logging-in-kubeadmin.adoc[leveloffset=+1]
53+
54+
include::modules/logging-in-by-using-the-web-console.adoc[leveloffset=+1]
55+
56+
include::modules/cluster-telemetry.adoc[leveloffset=+1]
57+
58+
.Additional resources
59+
60+
* 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.
61+
* 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.
62+
63+
== Next steps
64+
65+
* xref:../../installing/validating-an-installation.adoc#validating-an-installation[Validating an installation].
66+
* xref:../../post_installation_configuration/cluster-tasks.adoc#available_cluster_customizations[Customize your cluster].
67+
* 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].
68+
* 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].

installing/installing_aws/installing-aws-government-region.adoc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ If you have an AWS profile stored on your computer, it must not use a temporary
2424
* If the cloud identity and access management (IAM) APIs are not accessible in your environment, or if you do not want to store an administrator-level credential secret in the `kube-system` namespace, you can xref:../../installing/installing_aws/manually-creating-iam.adoc#manually-creating-iam-aws[manually create and maintain IAM credentials].
2525

2626
include::modules/installation-aws-about-government-region.adoc[leveloffset=+1]
27+
include::modules/installation-aws-regions-with-no-ami.adoc[leveloffset=+1]
2728

2829
include::modules/private-clusters-default.adoc[leveloffset=+1]
2930
include::modules/private-clusters-about-aws.adoc[leveloffset=+2]
@@ -34,14 +35,15 @@ include::modules/cluster-entitlements.adoc[leveloffset=+1]
3435

3536
include::modules/ssh-agent-using.adoc[leveloffset=+1]
3637

38+
include::modules/installation-aws-upload-custom-rhcos-ami.adoc[leveloffset=+1]
39+
3740
include::modules/installation-obtaining-installer.adoc[leveloffset=+1]
3841

3942
include::modules/installation-initializing-manual.adoc[leveloffset=+1]
4043
include::modules/installation-configuration-parameters.adoc[leveloffset=+2]
4144
include::modules/installation-supported-aws-machine-types.adoc[leveloffset=+2]
4245
include::modules/installation-aws-config-yaml.adoc[leveloffset=+2]
43-
include::modules/installation-aws-regions-with-no-ami.adoc[leveloffset=+2]
44-
include::modules/installation-aws-upload-custom-rhcos-ami.adoc[leveloffset=+2]
46+
4547
include::modules/installation-configure-proxy.adoc[leveloffset=+2]
4648

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

modules/cli-installing-cli.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// * installing/installing_aws/installing-aws-user-infra.adoc
55
// * installing/installing_aws/installing-aws-customizations.adoc
66
// * installing/installing_aws/installing-aws-default.adoc
7+
// * installing/installing_aws/installing-aws-china.adoc
78
// * installing/installing_aws/installing-aws-government-region.adoc
89
// * installing/installing_aws/installing-aws-network-customizations.adoc
910
// * installing/installing_aws/installing-aws-private.adoc

modules/cli-logging-in-kubeadmin.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// * installing/installing_aws/installing-aws-user-infra.adoc
44
// * installing/installing_aws/installing-aws-customizations.adoc
55
// * installing/installing_aws/installing-aws-default.adoc
6+
// * installing/installing_aws/installing-aws-china.adoc
67
// * installing/installing_aws/installing-aws-government-region.adoc
78
// * installing/installing_aws/installing-aws-network-customizations.adoc
89
// * installing/installing_aws/installing-aws-private.adoc

modules/cluster-entitlements.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
// * installing/installing_aws/installing-aws-default.adoc
3636
// * installing/installing_aws/installing-aws-vpc.adoc
3737
// * installing/installing_aws/installing-aws-government-region.adoc
38+
// * installing/installing_aws/installing-aws-china-region.adoc
3839
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
3940
// * installing/installing_openstack/installing-openstack-installer-restricted.adoc
4041
// * installing/installing_openstack/installing-openstack-user.adoc
@@ -130,7 +131,7 @@ ifdef::openshift-enterprise,openshift-webscale[]
130131
131132
[IMPORTANT]
132133
====
133-
If your cluster cannot have direct internet access, you can perform a restricted network installation on some types of infrastructure that you provision. During that process, you download the content that is required and use it to populate a mirror registry with the packages that you need to install a cluster and generate the installation program. With some installation types, the environment that you install your cluster in will not require internet access. Before you update the cluster, you update the content of the mirror registry.
134+
If your cluster cannot have direct internet access, you can perform a restricted network installation on some types of infrastructure that you provision. During that process, you download the required content and use it to populate a mirror registry with the installation packages. With some installation types, the environment that you install your cluster in will not require internet access. Before you update the cluster, you update the content of the mirror registry.
134135
====
135136

136137
endif::openshift-enterprise,openshift-webscale[]

modules/cluster-telemetry.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
// * installing/installing_aws/installing-aws-default.adoc
3636
// * installing/installing_aws/installing-aws-vpc.adoc
3737
// * installing/installing_aws/installing-aws-government-region.adoc
38+
// * installing/installing_aws/installing-aws-china.adoc
3839
// * installing/installing_openstack/installing-openstack-installer-kuryr.adoc
3940
// * installing/installing_openstack/installing-openstack-installer-restricted.adoc
4041
// * installing/installing_openstack/installing-openstack-user.adoc

modules/installation-aws-about-government-region.adoc

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,3 @@ The following AWS GovCloud partitions are supported:
2121
The following AWS Secret Region partition is supported:
2222

2323
* `us-iso-east-1`
24-
25-
The AWS government or secret region, and accompanying custom AMI, must be manually configured in the
26-
`install-config.yaml` file since {op-system} AMIs are not provided by Red Hat
27-
for those regions.
28-
29-
[IMPORTANT]
30-
====
31-
If you are deploying to the C2S Secret Region, you must also define a custom CA certificate in the `additionalTrustBundle` field of the `install-config.yaml` file because the AWS API requires a custom CA trust bundle. To allow the installation program to access the AWS API, the CA certificates must also be defined on the machine that runs the installation program. You must add the CA bundle to the trust store on the machine, use the `AWS_CA_BUNDLE` environment variable, or define the CA bundle in the link:https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-ca_bundle.html[`ca_bundle`] field of the AWS config file.
32-
====

modules/installation-aws-config-yaml.adoc

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,36 @@ ifeval::["{context}" == "installing-aws-government-region"]
2525
:private:
2626
:gov:
2727
endif::[]
28+
ifeval::["{context}" == "installing-aws-china-region"]
29+
:vpc:
30+
:private:
31+
:china:
32+
endif::[]
2833
ifeval::["{context}" == "installing-restricted-networks-aws-installer-provisioned"]
2934
:restricted:
3035
endif::[]
3136

3237
[id="installation-aws-config-yaml_{context}"]
3338
= Sample customized `install-config.yaml` file for AWS
3439

35-
You can customize the `install-config.yaml` file to specify more details about
40+
You can customize the installation configuration file (`install-config.yaml`) to specify more details about
3641
your {product-title} cluster's platform or modify the values of the required
3742
parameters.
3843

44+
ifndef::china,gov[]
3945
[IMPORTANT]
4046
====
4147
This sample YAML file is provided for reference only. You must obtain your
4248
`install-config.yaml` file by using the installation program and modify it.
4349
====
50+
endif::china,gov[]
51+
52+
ifdef::china,gov[]
53+
[IMPORTANT]
54+
====
55+
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.
56+
====
57+
endif::china,gov[]
4458

4559
[source,yaml]
4660
----
@@ -53,14 +67,18 @@ controlPlane: <3> <4>
5367
platform:
5468
aws:
5569
zones:
70+
ifdef::china[]
71+
- cn-north-1a
72+
- cn-north-1b
73+
endif::china[]
5674
ifdef::gov[]
5775
- us-gov-west-1a
5876
- us-gov-west-1b
5977
endif::gov[]
60-
ifndef::gov[]
78+
ifndef::gov,china[]
6179
- us-west-2a
6280
- us-west-2b
63-
endif::gov[]
81+
endif::gov,china[]
6482
rootVolume:
6583
iops: 4000
6684
size: 500
@@ -78,12 +96,15 @@ compute: <3>
7896
type: io1 <6>
7997
type: c5.4xlarge
8098
zones:
99+
ifdef::china[]
100+
- cn-north-1a
101+
endif::china[]
81102
ifdef::gov[]
82103
- us-gov-west-1c
83104
endif::gov[]
84-
ifndef::gov[]
105+
ifndef::gov,china[]
85106
- us-west-2c
86-
endif::gov[]
107+
endif::gov,china[]
87108
replicas: 3
88109
metadata:
89110
name: test-cluster <1>
@@ -108,11 +129,14 @@ endif::openshift-origin[]
108129
- 172.30.0.0/16
109130
platform:
110131
aws:
111-
ifndef::gov[]
132+
ifndef::gov,china[]
112133
region: us-west-2 <1>
113-
endif::gov[]
134+
endif::gov,china[]
135+
ifdef::china[]
136+
region: cn-north-1 <1>
137+
endif::china[]
114138
ifdef::gov[]
115-
region: us-gov-west-1
139+
region: us-gov-west-1 <1>
116140
endif::gov[]
117141
userTags:
118142
adminContact: jdoe
@@ -122,10 +146,20 @@ ifdef::vpc,restricted[]
122146
- subnet-1
123147
- subnet-2
124148
- subnet-3
149+
ifndef::gov,china[]
125150
amiID: ami-96c6f8f7 <8>
151+
endif::gov,china[]
152+
ifdef::gov,china[]
153+
amiID: ami-96c6f8f7 <1> <8>
154+
endif::gov,china[]
126155
serviceEndpoints: <9>
127156
- name: ec2
157+
ifndef::china[]
128158
url: https://vpce-id.ec2.us-west-2.vpce.amazonaws.com
159+
endif::china[]
160+
ifdef::china[]
161+
url: https://vpce-id.ec2.cn-north-1.vpce.amazonaws.com.cn
162+
endif::china[]
129163
hostedZone: Z3URY6TWQ91KVV <10>
130164
endif::vpc,restricted[]
131165
ifndef::vpc,restricted[]
@@ -220,12 +254,12 @@ endif::restricted[]
220254
221255
222256
----
223-
ifndef::gov[]
257+
ifndef::gov,china[]
224258
<1> Required. The installation program prompts you for this value.
225-
endif::gov[]
226-
ifdef::gov[]
259+
endif::gov,china[]
260+
ifdef::gov,china[]
227261
<1> Required.
228-
endif::gov[]
262+
endif::gov,china[]
229263
<2> Optional: Add this parameter to force the Cloud Credential Operator (CCO) to use the specified mode, instead of having the CCO dynamically try to determine the capabilities of the credentials. For details about CCO modes, see the _Cloud Credential Operator_ entry in the _Red Hat Operators reference_ content.
230264
<3> If you do not provide these parameters and values, the installation program
231265
provides the default value.
@@ -354,6 +388,11 @@ ifeval::["{context}" == "installing-aws-government-region"]
354388
:!private:
355389
:!gov:
356390
endif::[]
391+
ifeval::["{context}" == "installing-aws-china-region"]
392+
:!vpc:
393+
:!private:
394+
:!china:
395+
endif::[]
357396
ifeval::["{context}" == "installing-restricted-networks-aws-installer-provisioned"]
358397
:!restricted:
359398
endif::[]

modules/installation-aws-regions-with-no-ami.adoc

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,31 @@
11
// Module included in the following assemblies:
22
//
3+
// * installing/installing_aws/installing-aws-china.adoc
34
// * installing/installing_aws/installing-aws-government-region.adoc
45
// * installing/installing_aws/installing-aws-user-infra.adoc
56

7+
ifeval::["{context}" == "installing-aws-china-region"]
8+
:aws-china:
9+
endif::[]
10+
ifeval::["{context}" == "installing-aws-government-region"]
11+
:aws-gov:
12+
endif::[]
13+
614
[id="installation-aws-regions-with-no-ami_{context}"]
15+
ifndef::aws-china,aws-gov[]
716
= AWS regions without a published {op-system} AMI
17+
endif::aws-china,aws-gov[]
18+
19+
ifdef::aws-china,aws-gov[]
20+
= Installation requirments
21+
endif::aws-china,aws-gov[]
822

23+
ifndef::aws-china,aws-gov[]
924
You can deploy an {product-title} cluster to Amazon Web Services (AWS) regions
1025
without native support for a {op-system-first} Amazon Machine Image (AMI) or the
1126
AWS software development kit (SDK). If a
1227
published AMI is not available for an AWS region, you can upload a custom AMI
13-
prior to installing the cluster. This is required if you are deploying your
14-
cluster to an AWS government or secret region. AWS government and secret regions are supported by the AWS SDK.
28+
prior to installing the cluster.
1529

1630
If you are deploying to a region not supported by the AWS SDK
1731
and you do not specify a custom AMI, the installation program
@@ -25,3 +39,32 @@ A region without native support for an {op-system} AMI is not available to
2539
select from the terminal during cluster creation because it is not published.
2640
However, you can install to this region by configuring the custom AMI in the
2741
`install-config.yaml` file.
42+
endif::aws-china,aws-gov[]
43+
44+
ifdef::aws-china,aws-gov[]
45+
ifdef::aws-china[Red Hat does not publish a {op-system-first} Amazon Machine Image (AMI) for the AWS China regions.]
46+
ifdef::aws-gov[Red Hat does not publish a {op-system-first} Amzaon Machine Image for the AWS government or secret regions.]
47+
48+
Before you can install the cluster, you must:
49+
50+
* Upload a custom {op-system} AMI.
51+
* Manually create the installation configuration file (`install-config.yaml`).
52+
* Specify the AWS region, and the accompanying custom AMI, in the installation configuration file.
53+
54+
You cannot use the {product-title} installation program to create the installation configuration file. The installer does not list an AWS region without native support for an {op-system} AMI.
55+
56+
ifdef::aws-gov[]
57+
[IMPORTANT]
58+
====
59+
If you are deploying to the C2S Secret Region, you must also define a custom CA certificate in the `additionalTrustBundle` field of the `install-config.yaml` file because the AWS API requires a custom CA trust bundle. To allow the installation program to access the AWS API, the CA certificates must also be defined on the machine that runs the installation program. You must add the CA bundle to the trust store on the machine, use the `AWS_CA_BUNDLE` environment variable, or define the CA bundle in the link:https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-ca_bundle.html[`ca_bundle`] field of the AWS config file.
60+
====
61+
endif::aws-gov[]
62+
63+
endif::aws-china,aws-gov[]
64+
65+
ifeval::["{context}" == "installing-aws-china-region"]
66+
:!aws-china:
67+
endif::[]
68+
ifeval::["{context}" == "installing-aws-government-region"]
69+
:!aws-gov:
70+
endif::[]

0 commit comments

Comments
 (0)