<commit_before>include::modules/serverless-document-attributes.adoc[]
[id="installing-openshift-serverless"]
= Installing {ServerlessProductName}
include::modules/common-attributes.adoc[]
:context: installing-openshift-serverless

toc::[]

This guide walks cluster administrators through installing the {ServerlessOperatorName} to an {product-title} cluster.

[NOTE]
====
{ServerlessProductName} is supported for installation in a restricted network environment. For more information, see xref:../../operators/olm-restricted-networks.adoc#olm-restricted-networks[Using Operator Lifecycle Manager on restricted networks].
====

== Cluster sizing requirements

To run {ServerlessProductName}, the {product-title} cluster must be sized correctly.
The minimum requirement to use {ServerlessProductName} is a cluster with 10 CPUs and 40GB memory.

The total size requirements to run {ServerlessProductName} are dependent on the applications deployed. By default, each pod requests ~400m of CPU, so the minimum requirements are based on this value.

In the size requirement provided, an application can scale up to 10 replicas. Lowering the actual CPU request of applications can increase the number of possible replicas.

For more advanced use-cases such as logging, monitoring, or metering on {product-title}, you must deploy more resources. Recommended requirements for such use-cases are 24 CPUs and 96GB of memory.

You can use the MachineSet API to manually scale your cluster up to the desired size. The minimum requirements usually mean that you must scale up one of the default MachineSets by two additional machines.

For more information on using the MachineSet API, see the documentation on xref:../../machine_management/creating_machinesets/creating-machineset-aws.adoc#creating-machineset-aws[Creating MachineSets].

For more information on scaling a MachineSet manually, see the documentation on xref:../../machine_management/manually-scaling-machineset.adoc#manually-scaling-machineset[manually scaling MachineSets].

// Check requirements for HA and whether we need to up the requirements for memory etc.

[NOTE]
====
The requirements provided relate only to the pool of worker machines of the {product-title} cluster. Master nodes are not used for general scheduling and are omitted from the requirements.
====

include::modules/serverless-install-web-console.adoc[leveloffset=+1]

== Next steps

* After the {ServerlessOperatorName} is installed, you can install the Knative Serving component. See the documentation on xref:../installing_serverless/installing-knative-serving.adoc#installing-knative-serving[Installing Knative Serving].
// * Once the {ServerlessOperatorName} is installed, you can install the Knative Eventing component. See the documentation on xref:../installing-knative-eventing.adoc#installing-knative-eventing[Installing Knative Eventing].
<commit_msg>[WIP] Added note about limits on no of services and revisions<commit_after>include::modules/serverless-document-attributes.adoc[]
[id="installing-openshift-serverless"]
= Installing {ServerlessProductName}
include::modules/common-attributes.adoc[]
:context: installing-openshift-serverless

toc::[]

This guide walks cluster administrators through installing the {ServerlessOperatorName} to an {product-title} cluster.

[NOTE]
====
{ServerlessProductName} is supported for installation in a restricted network environment. For more information, see xref:../../operators/olm-restricted-networks.adoc#olm-restricted-networks[Using Operator Lifecycle Manager on restricted networks].
====

== Cluster sizing requirements

To run {ServerlessProductName}, the {product-title} cluster must be sized correctly.
The minimum requirement to use {ServerlessProductName} is a cluster with 10 CPUs and 40GB memory.

The total size requirements to run {ServerlessProductName} are dependent on the applications deployed. By default, each pod requests ~400m of CPU, so the minimum requirements are based on this value.

In the size requirement provided, an application can scale up to 10 replicas. Lowering the actual CPU request of applications can increase the number of possible replicas.

You can use the MachineSet API to manually scale your cluster up to the desired size. The minimum requirements usually mean that you must scale up one of the default MachineSets by two additional machines.

For more information on using the MachineSet API, see the documentation on xref:../../machine_management/creating_machinesets/creating-machineset-aws.adoc#creating-machineset-aws[Creating MachineSets].

For more information on scaling a MachineSet manually, see the documentation on xref:../../machine_management/manually-scaling-machineset.adoc#manually-scaling-machineset[manually scaling MachineSets].

[NOTE]
====
The requirements provided relate only to the pool of worker machines of the {product-title} cluster. Master nodes are not used for general scheduling and are omitted from the requirements.
====

[NOTE]
====
The following limitations apply to all {ServerlessProductName} deployments:

* Maximum number of Knative services: 1000
* Maximum number of Knative revisions: 1000
====

=== Additional requirements for advanced use-cases

For more advanced use-cases such as logging or metering on {product-title}, you must deploy more resources. Recommended requirements for such use-cases are 24 CPUs and 96GB of memory.

// If you have high availability (HA) enabled on your cluster, this requires between 0.5 - 1.5 cores and between 200m - 2GB of memory for each replica of the Knative Serving control plane.
// HA is enabled for some Knative Serving components by default. You can disable HA by following the documentation on xref:../../serverless-config-HA.adoc#serverless-config-HA[Configuring High Availability components].

include::modules/serverless-install-web-console.adoc[leveloffset=+1]

== Next steps

* After the {ServerlessOperatorName} is installed, you can install the Knative Serving component. See the documentation on xref:../installing_serverless/installing-knative-serving.adoc#installing-knative-serving[Installing Knative Serving].
// * After the {ServerlessOperatorName} is installed, you can install the Knative Eventing component. See the documentation on xref:../installing-knative-eventing.adoc#installing-knative-eventing[Installing Knative Eventing].

{'fraction_non_alphanumeric': 0.07463859208045255, 'fraction_numerical': 0.0069138906348208675, 'mean_word_length': 5.508179959100205, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5045070', 'n_tokens_mistral': 1674, 'n_tokens_neox': 1545, 'n_words': 688}