Skip to content

Commit 99917d2

Browse files
committed
OSDOCS-11830 Split Networking content for ROSA with HCP
1 parent 6e59529 commit 99917d2

25 files changed

+284
-110
lines changed

_topic_maps/_topic_map_rosa_hcp.yml

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,84 @@ Topics:
853853
# - Name: Advanced OADP features and functionalities
854854
# File: oadp-advanced-topics
855855
---
856+
Name: Networking
857+
Dir: networking
858+
Distros: openshift-rosa-hcp
859+
Topics:
860+
- Name: About networking
861+
File: about-managed-networking
862+
- Name: Networking Operators
863+
Dir: networking_operators
864+
Distros: openshift-rosa-hcp
865+
Topics:
866+
- Name: AWS Load Balancer Operator
867+
File: aws-load-balancer-operator
868+
- Name: DNS Operator in Red Hat OpenShift Service on AWS
869+
File: dns-operator
870+
# TODO OSDOCS-11830: Unable to locate in OperatorHub for ROSA with HCP cluster
871+
# - Name: Ingress Operator in Red Hat OpenShift Service on AWS
872+
# File: ingress-operator
873+
- Name: Ingress Node Firewall Operator in Red Hat OpenShift Service on AWS
874+
File: ingress-node-firewall-operator
875+
- Name: Network verification
876+
File: network-verification
877+
- Name: Configuring a cluster-wide proxy during installation
878+
File: configuring-cluster-wide-proxy
879+
- Name: CIDR range definitions
880+
File: cidr-range-definitions
881+
- Name: Network security
882+
Dir: network_security
883+
Distros: openshift-rosa-hcp
884+
Topics:
885+
- Name: Understanding network policy APIs
886+
File: network-policy-apis
887+
- Name: Admin network policy
888+
Dir: AdminNetworkPolicy
889+
Distros: openshift-rosa-hcp
890+
Topics:
891+
- Name: About AdminNetworkPolicy
892+
File: ovn-k-anp
893+
- Name: About BaselineAdminNetworkPolicy
894+
File: ovn-k-banp
895+
- Name: Network policy
896+
Dir: network_policy
897+
Distros: openshift-rosa-hcp
898+
Topics:
899+
- Name: About network policy
900+
File: about-network-policy
901+
- Name: Creating a network policy
902+
File: creating-network-policy
903+
- Name: Viewing a network policy
904+
File: viewing-network-policy
905+
- Name: Editing a network policy
906+
File: editing-network-policy
907+
- Name: Deleting a network policy
908+
File: deleting-network-policy
909+
- Name: Defining a default network policy for projects
910+
File: default-network-policy
911+
- Name: Configuring multitenant isolation with network policy
912+
File: multitenant-network-policy
913+
# Included for OSDOCS-13465
914+
- Name: Audit logging for network security
915+
File: logging-network-security
916+
- Name: Configuring the primary cluster network
917+
Dir: ovn_kubernetes_network_provider
918+
Distros: openshift-rosa-hcp
919+
Topics:
920+
- Name: About the OVN-Kubernetes network plugin
921+
File: about-ovn-kubernetes
922+
- Name: Configuring an egress IP address
923+
File: configuring-egress-ips-ovn
924+
# OpenShift SDN not supported for HCP
925+
- Name: Configuring Routes
926+
Dir: routes
927+
Distros: openshift-rosa-hcp
928+
Topics:
929+
- Name: Route configuration
930+
File: route-configuration
931+
- Name: Secured routes
932+
File: secured-routes
933+
---
856934
Name: Nodes
857935
Dir: nodes
858936
Distros: openshift-rosa-hcp

cloud_experts_tutorials/cloud-experts-aws-load-balancer-operator.adoc

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,10 @@ toc::[]
2020

2121
include::snippets/mobb-support-statement.adoc[leveloffset=+1]
2222

23-
ifndef::openshift-rosa-hcp[]
2423
[TIP]
2524
====
2625
Load Balancers created by the AWS Load Balancer Operator cannot be used for xref:../networking/routes/route-configuration.adoc#route-configuration[OpenShift Routes], and should only be used for individual services or ingress resources that do not need the full layer 7 capabilities of an OpenShift Route.
2726
====
28-
endif::openshift-rosa-hcp[]
29-
ifdef::openshift-rosa-hcp[]
30-
[TIP]
31-
====
32-
Load Balancers created by the AWS Load Balancer Operator cannot be used for link:https://docs.openshift.com/rosa/networking/routes/route-configuration.html[OpenShift Routes], and should only be used for individual services or ingress resources that do not need the full layer 7 capabilities of an OpenShift Route.
33-
====
34-
endif::openshift-rosa-hcp[]
3527

3628
The link:https://kubernetes-sigs.github.io/aws-load-balancer-controller/[AWS Load Balancer Controller] manages AWS Elastic Load Balancers for a {product-title} (ROSA) cluster. The controller provisions link:https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html[AWS Application Load Balancers (ALB)] when you create Kubernetes Ingress resources and link:https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html[AWS Network Load Balancers (NLB)] when implementing Kubernetes Service resources with a type of LoadBalancer.
3729

@@ -54,11 +46,12 @@ AWS ALBs require a multi-AZ cluster, as well as three public subnets split acros
5446

5547
ifndef::openshift-rosa-hcp[]
5648
* xref:../rosa_install_access_delete_clusters/rosa-sts-creating-a-cluster-quickly.adoc#rosa-sts-creating-a-cluster-quickly[A multi-AZ ROSA classic cluster]
49+
* BYO VPC cluster
50+
//Moved inside ifndef since this is always true for HCP clusters
5751
endif::openshift-rosa-hcp[]
5852
ifdef::openshift-rosa-hcp[]
59-
* link:https://docs.openshift.com/rosa-hcp/rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.html[A multi-AZ ROSA cluster]
53+
* xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-hcp-sts-creating-a-cluster-quickly[A multi-AZ {hcp-title} cluster]
6054
endif::openshift-rosa-hcp[]
61-
* BYO VPC cluster
6255
* AWS CLI
6356
* OC CLI
6457

@@ -123,6 +116,7 @@ $ aws ec2 create-tags \
123116
--tags Key=kubernetes.io/role/internal-elb,Value='' \
124117
--region ${REGION}
125118
----
119+
//subnets are tagged already after rosa create network
126120

127121
[id="installation_{context}"]
128122
== Installation
@@ -355,6 +349,8 @@ $ curl "http://${INGRESS}"
355349
----
356350
Hello OpenShift!
357351
----
352+
//TODO OSDOCS-11830: Couldn't get either of these validation checks to work, Andy R indicated that the related error seems to be that user is not authorized to do operation elasticloadbalancing:AddTags because "no identity based policy allows elasticloadbalancing:AddTags" however the linked policy does seem to allow that as far as I can tell: https://raw.githubusercontent.com/rh-mobb/documentation/main/content/rosa/aws-load-balancer-operator/load-balancer-operator-policy.json
353+
// That said, I'm not sure we should be getting our example policy from the rh-mobb repo
358354

359355
. Deploy an AWS NLB for your hello world application:
360356
+

modules/aws-installing-an-aws-load-balancer-operator.adoc

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ You can install an AWS Load Balancer Operator and an AWS Load Balancer Controlle
1515
* You have access to modify the VPC and subnets of the created ROSA cluster.
1616
* You have installed the ROSA CLI (`rosa`).
1717
* You have installed the Amazon Web Services (AWS) CLI.
18+
ifndef::openshift-rosa-hcp[]
1819
* You are using {product-title} 4.13 or later.
20+
endif::openshift-rosa-hcp[]
1921
2022
[IMPORTANT]
2123
====
@@ -55,7 +57,7 @@ or
5557
$ oc get authentication.config cluster -o=jsonpath="{.spec.serviceAccountIssuer}"
5658
----
5759
+
58-
.. Locate the OIDC Amazon Resource Name (ARN) information on the AWS Web Console by navigating to *IAM* *Access management* *Identity providers*. An OIDC ARN example is `arn:aws:iam::777777777777:oidc-provider/<oidc_dns_url>`.
60+
.. Locate the OIDC Amazon Resource Name (ARN) information on the AWS Web Console by navigating to *IAM* *Access management* *Identity providers*. An OIDC ARN example is `arn:aws:iam::777777777777:oidc-provider/<oidc_dns_url>`.
5961
+
6062
.. Save the output from the commands. You will use this information in future steps within this procedure.
6163

@@ -81,7 +83,7 @@ $ IDP_ARN="arn:aws:iam::{AWS_AccountNo}:oidc-provider/${IDP}" <1>
8183
----
8284
<1> Replace `{AWS_AccountNo}` with your AWS account number and `{Cluster_OIDC_Endpoint}` with the OIDC DNS identified earlier in this procedure.
8385
+
84-
.. Verify that the trsut policy was assigned to the AWS IAM role.
86+
.. Verify that the trust policy was assigned to the AWS IAM role.
8587
+
8688
.Example output
8789
[source,terminal,subs="quotes,verbatim"]
@@ -159,7 +161,15 @@ $ aws iam put-role-policy --role-name albo-operator --policy-name perms-policy-a
159161
[source,terminal]
160162
----
161163
$ IDP='{Cluster_OIDC_Endpoint}'
164+
----
165+
+
166+
[source,terminal]
167+
----
162168
$ IDP_ARN="arn:aws:iam::{AWS_AccountNo}:oidc-provider/${IDP}"
169+
----
170+
+
171+
[source,terminal]
172+
----
163173
$ cat <<EOF > albo-controller-trusted-policy.json
164174
{
165175
"Version": "2012-10-17",
@@ -236,6 +246,7 @@ Internet-facing and internal load balancers will be created within the AWS Avail
236246
====
237247
ELBv2 resources (such as ALBs and NLBs) created by AWS Load Balancer Operator do not inherit custom tags set for ROSA clusters. You must set tags separately for these resources.
238248
====
249+
// TODO OSDOCS-11830: Is the above still true?
239250
240251
. Create the AWS Load Balancer Operator by completing the following steps:
241252
+

modules/cluster-wide-proxy-preqs.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ ifdef::openshift-dedicated[]
2121
* You have an existing Virtual Private Cloud (VPC) for your cluster.
2222
* You are using the Customer Cloud Subscription (CCS) model for your cluster.
2323
endif::openshift-dedicated[]
24-
* The proxy can access the VPC for the cluster and the private subnets of the VPC. The proxy is also accessible from the VPC for the cluster and from the private subnets of the VPC.
24+
* The proxy can access the VPC for the cluster and the private subnets of the VPC. The proxy must also be accessible from the VPC for the cluster and from the private subnets of the VPC.
2525
* You have added the following endpoints to your VPC endpoint:
2626
** `ec2.<aws_region>.amazonaws.com`
2727
** `elasticloadbalancing.<aws_region>.amazonaws.com`
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
:_mod-docs-content-type: PROCEDURE
3+
[id="mos-aws-load-balancer-operator-install_{context}"]
4+
= Installing AWS Load Balancer Operator
5+
6+
// TODO OSDOCS-11830 until this is validated
7+
[WARNING]
8+
====
9+
The instructions in this section have not yet been validated against all supported environments. Do not use these instructions for production environments.
10+
====
11+
12+
//Replaces Creating an IAM role for the ALB Operator and Creating an IAM role for the ALB Controller using the ccoctl tool
13+
14+
15+
16+
17+
// TODO OSDOCS-11830 Create IAM role for ALBO without ccoctl
18+
// Verify tutorial method here: https://docs.redhat.com/en/documentation/red_hat_openshift_service_on_aws/4/html/tutorials/cloud-experts-aws-load-balancer-operator
19+
// Know your variables: rosa cluster name, region, OIDC endpoint, AWS account ID, VPC ID, public subnet ID/s, private subnet ID/s
20+
// Tag VPC with kubernetes.io/cluster/<cluster-id>:owned - is this necessary or just useful?
21+
// Tag private subnets with internal-elb, tag public subnets with elb - these appear to be done automatically when creating a VPC with rosa create network
22+
//Hidden prereq? need to create VPC and cluster across multiple regions
23+
24+
25+
26+
//= Configuring AWS Load Balancer Operator for Managed OpenShift clusters
27+
28+
//. Gather the following information for your cluster:
29+
//** Cluster infrastructure ID
30+
//** OIDC Endpoint URL
31+
//** OIDC Provider ARN
32+
33+
//(The following is what you are doing with ccoctl, without being in your project or logged on to your console)
34+
// remote resources for credential requests:
35+
//Operator: https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/main/hack/controller/controller-credentials-request.yaml
36+
//Controller: https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/main/hack/controller/controller-credentials-request.yaml
37+
38+
//. Create the required IAM policy for the ALB Operator
39+
//.. Log in to the cluster as a user with the dedicated-admin role.
40+
//.. Create a new project named aws-load-balancer-operator (required name or any name?)
41+
//.. Create the trust policy for the ALBO, using the OIDC Endpoint URL and the OIDC Provider ARN for your cluster.
42+
//.. Create a new albo-operator role and assign it the ALBO trust policy.
43+
//.. Attach the https://raw.githubusercontent.com/openshift/aws-load-balancer-operator/release-1.1/hack/operator-permission-policy.json permission policy to the new role
44+
//. Create the required IAM policy for the ALB Controller
45+
//.. (very similar steps to above)
46+
// (The above is all that you are doing with ccoctl, without being in your project or logged on to your openshift console at all?)
47+
48+
//. HCP: Add tags to ensure discovery?
49+
//. Create the OperatorGroup
50+
//. Create the Subscription
51+
//. Create the ALB Controller
52+
53+
// Installing file networking/networking_operators/modules/aws-installing-an-aws-load-balancer-operator.adoc covers:
54+
// Create a new project for the operator
55+
// Create the trust policy for the operator
56+
// Create a role using the trust policy for the operator
57+
// Assign the policy to the operator role?
58+
// Create a trust policy for the controller
59+
// Create a role based on the controller trust policy
60+
// Assign the policy to the controller role?

modules/running-network-verification-manually-ocm.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ ROSA
3333
endif::openshift-rosa[]
3434
cluster.
3535
* You are the cluster owner or you have the cluster editor role.
36+
//TODO OSDOCS-11830 I am both of these things and I can't see anything related to this in OCM; is this only available after a specific version? upgrading test cluster to see if this appears for later cluster versions
3637
3738
.Procedure
3839

networking/about-managed-networking.adoc

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,42 +10,31 @@ toc::[]
1010

1111
The following are some of the most commonly used {openshift-networking} features available on your cluster:
1212

13-
* Cluster Network Operator for network plugin management
14-
+
13+
* Cluster Network Operator for network plugin management.
14+
15+
ifdef::openshift-rosa-hcp[]
16+
* Primary cluster network provided by xref:../networking/ovn_kubernetes_network_provider/about-ovn-kubernetes.adoc#about-ovn-kubernetes[OVN-Kubernetes], the default Container Network Interface (CNI) plugin.
17+
endif::openshift-rosa-hcp[]
18+
19+
ifndef::openshift-rosa-hcp[]
1520
* Primary cluster network provided by either of the following Container Network Interface (CNI) plugins:
1621
+
1722
** xref:../networking/ovn_kubernetes_network_provider/about-ovn-kubernetes.adoc#about-ovn-kubernetes[OVN-Kubernetes network plugin], which is the default CNI plugin.
1823
** {OCP-short} SDN network plugin, which was deprecated in {OCP-short} 4.16 and removed in {OCP-short} 4.17.
24+
endif::openshift-rosa-hcp[]
1925

20-
ifdef::openshift-rosa[]
21-
26+
ifdef::openshift-rosa,openshift-dedicated[]
2227
[IMPORTANT]
2328
====
24-
Before upgrading {rosa-classic} clusters that are configured with the OpenShift SDN network plugin to version 4.17, you must migrate to the OVN-Kubernetes network plugin. For more information, see _Migrating from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin_ in the _Additional resources_ section.
29+
Before upgrading {rosa-classic} clusters that are configured with the OpenShift SDN network plugin to version 4.17, you must migrate to the OVN-Kubernetes network plugin. For more information, see _Migrating from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin_.
2530
====
26-
endif::openshift-rosa[]
27-
28-
ifdef::openshift-dedicated[]
29-
30-
[IMPORTANT]
31-
====
32-
Before upgrading {product-title} clusters that are configured with the OpenShift SDN network plugin to version 4.17, you must migrate to the OVN-Kubernetes network plugin. For more information, see _Migrating from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin_ in the _Additional resources_ section.
33-
====
34-
endif::openshift-dedicated[]
35-
3631

3732
[discrete]
3833
[role="_additional-resources"]
3934
[id="additional-resources_{context}"]
4035
== Additional resources
41-
4236
* link:https://access.redhat.com/articles/7065170[{OCP-short} SDN CNI removal in OCP 4.17]
37+
endif::openshift-rosa,openshift-dedicated[]
4338
ifdef::openshift-rosa[]
4439
* xref:../networking/ovn_kubernetes_network_provider/migrate-from-openshift-sdn.adoc#migrate-from-openshift-sdn[Migrating from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin]
45-
endif::openshift-rosa[]
46-
47-
ifdef::openshift-dedicated[]
48-
49-
* xref:../networking/ovn_kubernetes_network_provider/migrate-from-openshift-sdn-osd.adoc#migrate-from-openshift-sdn-osd[Migrating from the OpenShift SDN network plugin to the OVN-Kubernetes network plugin]
50-
endif::openshift-dedicated[]
51-
40+
endif::openshift-rosa[]

0 commit comments

Comments
 (0)