:_mod-docs-content-type: ASSEMBLY
:telco-core:
[id="telco-core-ref-design-specs"]
= Telco core reference design specifications
include::_attributes/common-attributes.adoc[]
:context: telco-core

toc::[]

The telco core reference design specifications (RDS) configures an {product-title} cluster running on commodity hardware to host telco core workloads.

include::modules/telco-core-rds-product-version-use-model-overview.adoc[leveloffset=+1]

include::modules/telco-core-about-the-telco-core-cluster-use-model.adoc[leveloffset=+1]

include::modules/telco-ran-core-ref-design-spec.adoc[leveloffset=+1]

include::modules/telco-deviations-from-the-ref-design.adoc[leveloffset=+1]

include::modules/telco-core-common-baseline-model.adoc[leveloffset=+1]

include::modules/telco-core-deployment-planning.adoc[leveloffset=+1]

include::modules/telco-core-worker-nodes-and-machineconfigpools.adoc[leveloffset=+2]

include::modules/telco-core-zones.adoc[leveloffset=+2]

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

* xref:../updating/updating_a_cluster/update-using-custom-machine-config-pools.adoc#update-using-custom-machine-config-pools[Performing a canary rollout update]

* xref:../updating/updating_a_cluster/update-using-custom-machine-config-pools.adoc#update-using-custom-machine-config-pools[Applying MachineConfigPool labels to nodes before the update]

* xref:../nodes/pods/nodes-pods-configuring.adoc#nodes-pods-pod-distruption-about_nodes-pods-configuring[Understanding how to use pod disruption budgets to specify the number of pods that must be up]

* xref:../nodes/scheduling/nodes-scheduler-pod-affinity.adoc#nodes-scheduler-pod-affinity[Placing pods relative to other pods using affinity and anti-affinity rules]

include::modules/telco-core-cluster-common-use-model-engineering-considerations.adoc[leveloffset=+1]

include::modules/telco-core-application-workloads.adoc[leveloffset=+2]

include::modules/telco-core-signaling-workloads.adoc[leveloffset=+2]

[id="telco-core-rds-components"]
== Telco core RDS components

The following sections describe the various {product-title} components and configurations that you use to configure and deploy clusters to run telco core workloads.

include::modules/telco-core-cpu-partitioning-and-performance-tuning.adoc[leveloffset=+2]

include::modules/telco-core-workloads-on-schedulable-control-planes.adoc[leveloffset=+2]

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

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-create-performance-profiles[Creating a performance profile]

* xref:../edge_computing/ztp-reference-cluster-configuration-for-vdu.adoc#ztp-du-configuring-host-firmware-requirements_sno-configure-for-vdu[Configuring host firmware for low latency and high performance]

include::modules/telco-core-service-mesh.adoc[leveloffset=+2]

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

* xref:../service_mesh/v2x/ossm-about.adoc#ossm-about[About OpenShift Service Mesh]

include::modules/telco-core-networking.adoc[leveloffset=+2]

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

* xref:../networking/networking_overview/understanding-networking.adoc#understanding-networking[Understanding networking]

include::modules/telco-core-cluster-network-operator.adoc[leveloffset=+3]

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

* xref:../networking/networking_operators/cluster-network-operator.adoc#nw-cluster-network-operator_cluster-network-operator[Cluster Network Operator]
* xref:../networking/ovn_kubernetes_network_provider/configuring-egress-ips-ovn.adoc#configuring-egress-ips-ovn[Configuring an egress IP address]

include::modules/telco-core-load-balancer.adoc[leveloffset=+3]

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

* xref:../networking/networking_operators/metallb-operator/about-metallb.adoc#nw-metallb-when-metallb_about-metallb-and-metallb-operator[When to use MetalLB]

include::modules/telco-core-sr-iov.adoc[leveloffset=+3]

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

* xref:../networking/hardware_networks/about-sriov.adoc#about-sriov[About Single Root I/O Virtualization (SR-IOV) hardware networks]

* link:https://catalog.redhat.com/en/hardware[Red Hat certified hardware (Red Hat Ecosystem Catalog)]

* xref:../networking/hardware_networks/configuring-sriov-device.html#nw-sriov-nic-mlx-secure-boot_configuring-sriov-device[Configuring the SR-IOV Network Operator on Mellanox cards when Secure Boot is enabled]

include::modules/telco-core-nmstate-operator.adoc[leveloffset=+3]

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

* xref:../networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.adoc#k8s-nmstate-about-the-k8s-nmstate-operator[Kubernetes NMState Operator]

include::modules/telco-core-logging.adoc[leveloffset=+2]

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

* link:https://docs.openshift.com/container-platform/4.17/observability/logging/logging-6.0/log6x-about.html[Logging 6.0]

include::modules/telco-core-power-management.adoc[leveloffset=+2]

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

* xref:../rest_api/node_apis/performanceprofile-performance-openshift-io-v2.adoc#spec-workloadhints[performance.openshift.io/v2 API reference]

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-configuring-power-saving-for-nodes_cnf-low-latency-perf-profile[Configuring power saving for nodes]

* xref:../scalability_and_performance/cnf-tuning-low-latency-nodes-with-perf-profile.adoc#cnf-configuring-power-saving-for-nodes_cnf-low-latency-perf-profile[Configuring power saving for nodes that run colocated high and low priority workloads]

include::modules/telco-core-storage.adoc[leveloffset=+2]

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

* xref:../storage/persistent_storage/persistent-storage-ocs.adoc#red-hat-openshift-data-foundation[{rh-storage-first}]

include::modules/telco-core-openshift-data-foundation.adoc[leveloffset=+3]

include::modules/telco-core-additional-storage-solutions.adoc[leveloffset=+3]

[id="telco-reference-core-deployment-components_{context}"]
== Telco core deployment components

The following sections describe the various {product-title} components and configurations that you use to configure the hub cluster with {rh-rhacm-first}.

include::modules/telco-core-red-hat-advanced-cluster-management.adoc[leveloffset=+2]

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

* xref:../edge_computing/ztp-deploying-far-edge-clusters-at-scale.adoc#about-ztp_ztp-deploying-far-edge-clusters-at-scale[Using {ztp} to provision clusters at the network far edge]

* link:https://docs.redhat.com/en/documentation/red_hat_advanced_cluster_management_for_kubernetes[Red Hat Advanced Cluster Management for Kubernetes]

include::modules/telco-core-topology-aware-lifecycle-manager.adoc[leveloffset=+2]

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

* xref:../edge_computing/cnf-talm-for-cluster-upgrades.adoc#cnf-talm-for-cluster-updates[Updating managed clusters with the {cgu-operator-full}]

include::modules/telco-core-gitops-operator-and-ztp-plugins.adoc[leveloffset=+2]

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

* xref:../edge_computing/ztp-preparing-the-hub-cluster.adoc#ztp-preparing-the-ztp-git-repository-ver-ind_ztp-preparing-the-hub-cluster[Preparing the {ztp} site configuration repository for version independence]

* xref:../edge_computing/policygentemplate_for_ztp/ztp-advanced-policy-config.adoc#ztp-adding-new-content-to-gitops-ztp_ztp-advanced-policy-config[Adding custom content to the {ztp} pipeline]

include::modules/telco-core-agent-based-installer.adoc[leveloffset=+2]

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

* xref:../installing/installing_with_agent_based_installer/installing-with-agent-based-installer.adoc#installing-with-agent-based-installer[Installing an {product-title} cluster with the Agent-based Installer]

include::modules/telco-core-monitoring.adoc[leveloffset=+1]

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

* link:https://docs.redhat.com/en/documentation/monitoring_stack_for_red_hat_openshift/4.21/html/about_monitoring/about-ocp-monitoring[About {product-title} monitoring]

include::modules/telco-core-scheduling.adoc[leveloffset=+1]

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

* xref:../scalability_and_performance/cnf-numa-aware-scheduling.adoc#installing-the-numa-resources-operator_numa-aware[Installing the NUMA Resources Operator]

* xref:../scalability_and_performance/cnf-numa-aware-scheduling.adoc#cnf-numa-aware-scheduling[Scheduling NUMA-aware workloads]

* xref:../scalability_and_performance/using-cpu-manager.adoc#topology-manager-policies_using-cpu-manager-and-topology-manager[Topology Manager policies]

include::modules/telco-core-node-configuration.adoc[leveloffset=+1]

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

* xref:../edge_computing/ztp-reference-cluster-configuration-for-vdu.adoc#ztp-sno-du-enabling-kdump_sno-configure-for-vdu[Automatic kernel crash dumps with kdump]

* xref:../scalability_and_performance/optimization/optimizing-cpu-usage.adoc#optimizing-cpu-usage[Optimizing CPU usage with mount namespace encapsulation]

include::modules/telco-core-host-firmware-and-boot-loader-configuration.adoc[leveloffset=+2]

include::modules/telco-core-kubelet-settings.adoc[leveloffset=+2]

include::modules/telco-core-disconnected-environment.adoc[leveloffset=+1]

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

* xref:../disconnected/updating/index.adoc#about-disconnected-updates[About cluster updates in a disconnected environment]

* xref:../nodes/containers/nodes-containers-sysctls.adoc#nodes-containers-sysctls[Using sysctl in containers]

include::modules/telco-core-security.adoc[leveloffset=+1]

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

* xref:../installing/install_config/configuring-firewall.adoc#configuring-firewall_configuring-firewall[Configuring your firewall for {product-title}]

* xref:../installing/install_config/configuring-firewall.adoc#network-flow-matrix_configuring-firewall[{product-title} network flow matrix]

* xref:../authentication/managing-security-context-constraints.adoc#managing-pod-security-policies[Managing security context constraints]

* xref:../machine_configuration/machine-config-node-disruption.adoc#machine-config-node-disruption_machine-configs-configure[Using node disruption policies to minimize disruption from machine config changes]

include::modules/telco-core-cert-manager-operator.adoc[leveloffset=+1]

include::modules/telco-core-scalability.adoc[leveloffset=+1]

[id="telco-core-reference-configuration-crs"]
== Telco core reference configuration CRs

Use the following custom resources (CRs) to configure and deploy {product-title} clusters with the telco core profile.
Use the CRs to form the common baseline used in all the specific use models unless otherwise indicated.

include::modules/telco-core-rds-container.adoc[leveloffset=+2]

include::modules/using-cluster-compare-telco-core.adoc[leveloffset=+2]

[role="_additional-resources"]
.Additional resources
* xref:../scalability_and_performance/cluster-compare/understanding-the-cluster-compare-plugin.adoc#understanding-the-cluster-compare-plugin[Understanding the cluster-compare plugin]

include::modules/telco-core-crs-node-configuration.adoc[leveloffset=+2]

include::modules/telco-core-crs-cluster-infrastructure.adoc[leveloffset=+2]

include::modules/telco-core-crs-resource-tuning.adoc[leveloffset=+2]

include::modules/telco-core-crs-networking.adoc[leveloffset=+2]

include::modules/telco-core-crs-scheduling.adoc[leveloffset=+2]

include::modules/telco-core-crs-storage.adoc[leveloffset=+2]

include::modules/telco-core-crs-security.adoc[leveloffset=+2]

include::modules/telco-core-software-stack.adoc[leveloffset=+1]

:!telco-core:
