Skip to content

Commit

Permalink
OSDOCS-8079: Port Architecture book to OSD/ROSA
Browse files Browse the repository at this point in the history
  • Loading branch information
bhardesty committed Apr 9, 2024
1 parent df17c7b commit 0991d04
Show file tree
Hide file tree
Showing 38 changed files with 313 additions and 138 deletions.
25 changes: 20 additions & 5 deletions _topic_maps/_topic_map_osd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ Distros: openshift-dedicated
Topics:
- Name: Understanding OpenShift Dedicated
File: osd-understanding
- Name: Architecture concepts
File: osd-architecture
- Name: Policies and service definition
Dir: osd_policy
Distros: openshift-dedicated
Expand All @@ -57,9 +55,26 @@ Topics:
- Name: Update life cycle
File: osd-life-cycle
# Created a new assembly in ROSA/OSD. In OCP, the assembly is in a book that is not in ROSA/OSD
- Name: About admission plugins
File: osd-admission-plug-ins
Distros: openshift-dedicated
# - Name: About admission plugins
# File: osd-admission-plug-ins
# Distros: openshift-dedicated
---
Name: Architecture
Dir: architecture
Distros: openshift-dedicated
Topics:
- Name: Architecture overview
File: index
- Name: Product architecture
File: architecture
- Name: Control plane architecture
File: control-plane
- Name: NVIDIA GPU architecture overview
File: nvidia-gpu-architecture-overview
- Name: Understanding OpenShift development
File: understanding-development
- Name: Admission plugins
File: admission-plug-ins
---
#Name: Tutorials
#Dir: cloud_experts_tutorials
Expand Down
33 changes: 22 additions & 11 deletions _topic_maps/_topic_map_rosa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,14 +47,6 @@ Distros: openshift-rosa
Topics:
- Name: Understanding ROSA
File: rosa-understanding
- Name: ROSA architecture
Dir: rosa_architecture_sub
Distros: openshift-rosa
Topics:
- Name: Architecture concepts
File: rosa-basic-architecture-concepts
- Name: Architecture models
File: rosa-architecture-models
- Name: Policies and service definition
Dir: rosa_policy_service_definition
Distros: openshift-rosa
Expand All @@ -76,16 +68,35 @@ Topics:
- Name: SRE and service account access
File: rosa-sre-access
# Created a new assembly in ROSA/OSD. In OCP, the assembly is in a book that is not in ROSA/OSD
- Name: About admission plugins
File: rosa-admission-plug-ins
Distros: openshift-rosa
# - Name: About admission plugins
# File: rosa-admission-plug-ins
# Distros: openshift-rosa
- Name: About IAM resources for ROSA with STS
File: rosa-sts-about-iam-resources
- Name: OpenID Connect Overview
File: rosa-oidc-overview
# - Name: Training for ROSA
# File: rosa-training
---
Name: Architecture
Dir: architecture
Distros: openshift-rosa
Topics:
- Name: Architecture overview
File: index
- Name: Product architecture
File: architecture
- Name: Architecture models
File: rosa-architecture-models
- Name: Control plane architecture
File: control-plane
- Name: NVIDIA GPU architecture overview
File: nvidia-gpu-architecture-overview
- Name: Understanding OpenShift development
File: understanding-development
- Name: Admission plugins
File: admission-plug-ins
---
Name: Tutorials
Dir: cloud_experts_tutorials
Distros: openshift-rosa
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ include::modules/kubernetes-about.adoc[leveloffset=+1]

include::modules/container-benefits.adoc[leveloffset=+1]

include::modules/osd-vs-ocp.adoc[leveloffset=+1]
include::modules/sd-vs-ocp.adoc[leveloffset=+1]
16 changes: 9 additions & 7 deletions architecture/admission-plug-ins.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ include::_attributes/common-attributes.adoc[]

toc::[]

// Sentence taken from Architecture -> Index.
Admission plugins are used to help regulate how {product-title} functions.
Admission plugins are used to help regulate how {product-title} functions.

// Concept modules
include::modules/admission-plug-ins-about.adoc[leveloffset=+1]
Expand All @@ -18,17 +17,20 @@ include::modules/admission-webhooks-about.adoc[leveloffset=+1]

include::modules/admission-webhook-types.adoc[leveloffset=+1]

// user (groups=["dedicated-admins" "system:authenticated:oauth" "system:authenticated"]) is attempting to grant RBAC permissions not currently held, clusterroles.rbac.authorization.k8s.io "system:openshift:online:my-webhook-server" not found, cannot get resource "rolebindings", cannot create resource "apiservices", cannot create resource "validatingwebhookconfigurations"
ifndef::openshift-rosa,openshift-dedicated[]
// Procedure module
include::modules/configuring-dynamic-admission.adoc[leveloffset=+1]
endif::openshift-rosa,openshift-dedicated[]

[role="_additional-resources"]
[id="admission-plug-ins-additional-resources"]
== Additional resources

ifdef::openshift-enterprise,openshift-webscale[]
* xref:../networking/hardware_networks/configuring-sriov-operator.adoc#configuring-sriov-operator[Limiting custom network resources managed by the SR-IOV network device plugin]
endif::[]
ifndef::openshift-rosa,openshift-dedicated[]
* xref:../networking/hardware_networks/configuring-sriov-operator.adoc#configuring-sriov-operator[Configuring the SR-IOV Network Operator]
endif::openshift-rosa,openshift-dedicated[]

* xref:../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations_dedicating_nodes-scheduler-taints-tolerations[Defining tolerations that enable taints to qualify which pods should be scheduled on a node]
* xref:../nodes/scheduling/nodes-scheduler-taints-tolerations.adoc#nodes-scheduler-taints-tolerations_dedicating_nodes-scheduler-taints-tolerations[Controlling pod placement using node taints]

* xref:../nodes/pods/nodes-pods-priority.adoc#admin-guide-priority-preemption-names_nodes-pods-priority[Pod priority class validation]
* xref:../nodes/pods/nodes-pods-priority.adoc#admin-guide-priority-preemption-names_nodes-pods-priority[Pod priority names]
2 changes: 2 additions & 0 deletions architecture/architecture.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,6 @@ retains a history of the images that have been referenced, and allows
notification when an image is updated with a new version.
////

ifndef::openshift-dedicated,openshift-rosa[]
include::modules/cluster-entitlements.adoc[leveloffset=+2]
endif::openshift-dedicated,openshift-rosa[]
18 changes: 17 additions & 1 deletion architecture/control-plane.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ include::modules/architecture-machine-config-pools.adoc[leveloffset=+1]

[role="_additional-resources"]
.Additional resources
* xref:../post_installation_configuration/machine-configuration-tasks.adoc#machine-config-drift-detection_post-install-machine-configuration-tasks[Understanding configuration drift detection].
ifndef::openshift-dedicated,openshift-rosa[]
* xref:../post_installation_configuration/machine-configuration-tasks.adoc#machine-config-drift-detection_post-install-machine-configuration-tasks[Understanding configuration drift detection]
endif::openshift-dedicated,openshift-rosa[]
ifdef::openshift-rosa[]
* xref:../rosa_cluster_admin/rosa_nodes/rosa-nodes-machinepools-about.adoc#machine-pools[Machine pools]
endif::openshift-rosa[]
ifdef::openshift-dedicated[]
* xref:../osd_cluster_admin/osd_nodes/osd-nodes-machinepools-about.adoc#machine-pools[Machine pools]
endif::openshift-dedicated[]

include::modules/architecture-machine-roles.adoc[leveloffset=+1]

Expand Down Expand Up @@ -46,19 +54,26 @@ endif::[]
include::modules/understanding-machine-config-operator.adoc[leveloffset=+1]

// These additional resources do not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* For more information about detecting configuration drift, see xref:../post_installation_configuration/machine-configuration-tasks.adoc#machine-config-drift-detection_post-install-machine-configuration-tasks[Understanding configuration drift detection].
* For information about preventing the control plane machines from rebooting after the Machine Config Operator makes changes to the machine configuration, see xref:../support/troubleshooting/troubleshooting-operator-issues.adoc#troubleshooting-disabling-autoreboot-mco_troubleshooting-operator-issues[Disabling Machine Config Operator from automatically rebooting].
endif::openshift-dedicated,openshift-rosa[]
include::modules/etcd-overview.adoc[leveloffset=+1]
// These xrefs do not apply to OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
[role="_additional-resources"]
.Additional resources
* xref:../scalability_and_performance/recommended-performance-scale-practices/recommended-etcd-practices.adoc#recommended-etcd-practices[Recommended etcd practices]
* xref:../backup_and_restore/control_plane_backup_and_restore/backing-up-etcd.adoc#backing-up-etcd[Backing up etcd]
endif::openshift-dedicated,openshift-rosa[]
ifndef::openshift-dedicated,openshift-rosa[]
include::modules/hosted-control-planes-overview.adoc[leveloffset=+1]
[role="_additional-resources"]
Expand All @@ -67,3 +82,4 @@ include::modules/hosted-control-planes-overview.adoc[leveloffset=+1]
include::modules/hosted-control-planes-concepts-personas.adoc[leveloffset=+2]
include::modules/hosted-control-planes-version-support.adoc[leveloffset=+2]
endif::openshift-dedicated,openshift-rosa[]
20 changes: 18 additions & 2 deletions architecture/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
[id="architecture-overview"]
= Architecture overview
include::_attributes/common-attributes.adoc[]
ifdef::openshift-dedicated,openshift-rosa[]
include::_attributes/attributes-openshift-dedicated.adoc[]
endif::openshift-dedicated,openshift-rosa[]
:context: architecture-overview

toc::[]
Expand All @@ -15,20 +18,32 @@ include::modules/openshift-architecture-common-terms.adoc[leveloffset=+1]
[role="_additional-resources"]
.Additional resources

// Topic not included in the OSD/ROSA docs
ifndef::openshift-dedicated,openshift-rosa[]
* For more information on networking, see xref:../networking/understanding-networking.adoc#understanding-networking[{product-title} networking].
endif::openshift-dedicated,openshift-rosa[]
* For more information on storage, see xref:../storage/index.adoc#index[{product-title} storage].
* For more information on authentication, see xref:../authentication/index.adoc#index[{product-title} authentication].
* For more information on Operator Lifecycle Manager (OLM), see xref:../operators/understanding/olm/olm-understanding-olm.adoc#olm-understanding-olm[OLM].
* For more information on logging, see xref:../logging/cluster-logging.adoc#cluster-logging[About Logging].
// Topic not included in the OSD/ROSA docs
ifndef::openshift-dedicated,openshift-rosa[]
* For more information on over-the-air (OTA) updates, see xref:../updating/understanding_updates/intro-to-updates.adoc#understanding-openshift-updates[Introduction to OpenShift updates].
endif::openshift-dedicated,openshift-rosa[]

ifdef::openshift-dedicated,openshift-rosa[]
include::modules/sd-vs-ocp.adoc[leveloffset=+1]
endif::openshift-dedicated,openshift-rosa[]

ifndef::openshift-dedicated,openshift-rosa[]
[id="about-installation-and-updates"]
== About installation and updates

As a cluster administrator, you can use the {product-title} xref:../architecture/architecture-installation.adoc#architecture-installation[installation program] to install and deploy a cluster by using one of the following methods:

* Installer-provisioned infrastructure
* User-provisioned infrastructure
endif::openshift-dedicated,openshift-rosa[]
[id="about-control-planes"]
== About the control plane
Expand Down Expand Up @@ -60,6 +75,7 @@ Kubernetes works on basic units called pods. A pod is a single instance of a run
You can create a service by grouping a set of pods and their access policies.
Services provide permanent internal IP addresses and host names for other applications to use as pods are created and destroyed. Kubernetes defines workloads based on the type of your application.

ifndef::openshift-dedicated,openshift-rosa[]
[id="coreos-and-ignition"]
== About {op-system-first} and Ignition

Expand All @@ -76,8 +92,8 @@ The {product-title} installation program creates the Ignition configuration file
During the first boot, Ignition reads its configuration from the installation media or the location that you specify and applies the configuration to the machines.

You can learn how xref:../architecture/architecture-rhcos.adoc#architecture-rhcos[Ignition works], the process for a {op-system-first} machine in an {product-title} cluster, view Ignition configuration files, and change Ignition configuration after an installation.
endif::openshift-dedicated,openshift-rosa[]

[id="about-admission-plug-ins"]
== About admission plugins
You can use xref:../architecture/admission-plug-ins.adoc#admission-plug-ins[admission plugins] to regulate how {product-title} functions. After a resource request is authenticated and authorized, admission plugins intercept the resource request to the master API to validate resource requests and to ensure that scaling policies are adhered to.
Admission plugins are used to enforce security policies, resource limitations, or configuration requirements.
You can use xref:../architecture/admission-plug-ins.adoc#admission-plug-ins[admission plugins] to regulate how {product-title} functions. After a resource request is authenticated and authorized, admission plugins intercept the resource request to the master API to validate resource requests and to ensure that scaling policies are adhered to. Admission plugins are used to enforce security policies, resource limitations, configuration requirements, and other settings.
16 changes: 16 additions & 0 deletions architecture/nvidia-gpu-architecture-overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ The NVIDIA GPU Operator is only supported by NVIDIA. For more information about
====

include::modules/nvidia-gpu-prerequisites.adoc[leveloffset=+1]

// New enablement modules
ifndef::openshift-dedicated,openshift-rosa[]
include::modules/nvidia-gpu-enablement.adoc[leveloffset=+1]

include::modules/nvidia-gpu-bare-metal.adoc[leveloffset=+2]
Expand All @@ -45,11 +47,22 @@ include::modules/nvidia-gpu-csps.adoc[leveloffset=+2]
[role="_additional-resources"]
.Additional resources
* link:https://docs.nvidia.com/ai-enterprise/deployment-guide-cloud/0.1.0/aws-redhat-openshift.html[Red Hat Openshift in the Cloud]
endif::openshift-dedicated,openshift-rosa[]
// Include this module at a higher leveloffset for OSD/ROSA.
ifdef::openshift-dedicated,openshift-rosa[]
include::modules/nvidia-gpu-csps.adoc[leveloffset=+1]
[role="_additional-resources"]
.Additional resources
* link:https://docs.nvidia.com/ai-enterprise/deployment-guide-cloud/0.1.0/aws-redhat-openshift.html[Red Hat Openshift in the Cloud]
endif::openshift-dedicated,openshift-rosa[]
ifndef::openshift-dedicated,openshift-rosa[]
include::modules/nvidia-gpu-red-hat-device-edge.adoc[leveloffset=+2]
[role="_additional-resources"]
.Additional resources
* link:https://cloud.redhat.com/blog/how-to-accelerate-workloads-with-nvidia-gpus-on-red-hat-device-edge[How to accelerate workloads with NVIDIA GPUs on Red Hat Device Edge]
endif::openshift-dedicated,openshift-rosa[]
// TELCODOCS-1092 GPU sharing methods
include::modules/nvidia-gpu-sharing-methods.adoc[leveloffset=+1]
Expand Down Expand Up @@ -85,4 +98,7 @@ include::modules/nvidia-gpu-features.adoc[leveloffset=+1]
* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/mig-ocp.html[MIG Support in OpenShift Container Platform]
* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/time-slicing-gpus-in-openshift.html[Time-slicing NVIDIA GPUs in OpenShift]
* link:https://docs.nvidia.com/datacenter/cloud-native/openshift/latest/mirror-gpu-ocp-disconnected.html[Deploy GPU Operators in a disconnected or airgapped environment]
// Topic not available in OSD/ROSA
ifndef::openshift-dedicated,openshift-rosa[]
* xref:../hardware_enablement/psap-node-feature-discovery-operator.html[Node Feature Discovery Operator]
endif::openshift-dedicated,openshift-rosa[]
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,22 @@ toc::[]

{product-rosa} (ROSA) has the following cluster topologies:

* Hosted control plane (HCP) - The control plane is hosted in a Red Hat account and the worker nodes are deployed in the customer's AWS account.
* Hosted control plane (HCP) - The control plane is hosted in a Red{nbsp}Hat account and the worker nodes are deployed in the customer's AWS account.
* Classic - The control plane and the worker nodes are deployed in the customer's AWS account.
include::modules/rosa-hcp-classic-comparison.adoc[leveloffset=+1]

.Additional resources

* For AWS region availability, see the xref:../../rosa_architecture/rosa_policy_service_definition/rosa-hcp-service-definition.adoc#rosa-sdpolicy-regions-az_rosa-hcp-service-definition[{hcp-title} regions and availability zones].
* For compliance status, see the xref:../../rosa_architecture/rosa_policy_service_definition/rosa-policy-process-security.adoc#rosa-policy-compliance_rosa-policy-process-security[security and regulation compliance] documentation.
* xref:../rosa_architecture/rosa_policy_service_definition/rosa-hcp-service-definition.adoc#rosa-sdpolicy-regions-az_rosa-hcp-service-definition[Regions and availability zones]
* xref:../rosa_architecture/rosa_policy_service_definition/rosa-policy-process-security.adoc#rosa-policy-security-regulation-compliance_rosa-policy-process-security[Security and regulation compliance]
include::modules/rosa-hcp-architecture.adoc[leveloffset=+1]
include::modules/rosa-architecture.adoc[leveloffset=+1]
include::modules/osd-aws-privatelink-architecture.adoc[leveloffset=+2]
include::modules/rosa-architecture-local-zones.adoc[leveloffset=+2]

.Additional resources

* xref:../rosa_cluster_admin/rosa_nodes/rosa-nodes-machinepools-configuring.html[Configuring machine pools in Local Zones]
20 changes: 17 additions & 3 deletions architecture/understanding-development.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,7 @@ these runtime base images are referred to as Source-to-Image (S2I) images. With
S2I images, you can insert your code into a base image environment that is ready
to run that code.

S2I images are available for you to use directly from the {product-title} web UI
by selecting *Catalog* -> *Developer Catalog*, as shown in the following figure:
S2I images are available for you to use directly from the {product-title} web UI. In the Developer perspective, navigate to the *+Add* view and in the *Developer Catalog* tile, view all of the available services in the Developer Catalog.

.Choose S2I base images for apps that need specific runtimes
image::developer-catalog.png[{product-title} Developer Catalog]
Expand Down Expand Up @@ -260,7 +259,14 @@ are added to your `Pod` definitions.
After you define a group of pods that compose your application, you can define
those pods in
link:https://kubernetes.io/docs/concepts/workloads/controllers/deployment/[`Deployment`]
and xref:../applications/deployments/what-deployments-are.adoc#what-deployments-are[`DeploymentConfig`] objects.
and
// This xref points to a topic that is not currently included in the OSD/ROSA docs.
ifndef::openshift-dedicated,openshift-rosa[]
xref:../applications/deployments/what-deployments-are.adoc#what-deployments-are[`DeploymentConfig`] objects.
endif::openshift-dedicated,openshift-rosa[]
ifdef::openshift-dedicated,openshift-rosa[]
`DeploymentConfig` objects.
endif::openshift-dedicated,openshift-rosa[]

[id="application-types"]
=== Application types
Expand All @@ -277,8 +283,16 @@ application might not run again then for a month. Suitable {product-title}
objects for these types of applications include
link:https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/[`Job`]
and https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/[`CronJob`] objects.

* Expected to run continuously. For long-running applications, you can write a
// This xref points to a topic that is not currently included in the OSD/ROSA docs.
ifndef::openshift-dedicated,openshift-rosa[]
xref:../applications/deployments/what-deployments-are.adoc#deployments-kube-deployments[deployment].
endif::openshift-dedicated,openshift-rosa[]
ifdef::openshift-dedicated,openshift-rosa[]
deployment.
endif::openshift-dedicated,openshift-rosa[]

* Required to be highly available. If your application requires high
availability, then you want to size your deployment to have more than one
instance. A `Deployment` or `DeploymentConfig` object can incorporate a
Expand Down
Binary file modified images/developer-catalog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified images/oke-arch-ocp-stack.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0991d04

Please sign in to comment.