diff --git a/_topic_map.yml b/_topic_map.yml index bb73142307..4fe6aad9bb 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -1480,10 +1480,19 @@ Topics: File: serverless-getting-started ### Installing OpenShift Serverless - Name: Installing OpenShift Serverless - File: installing-openshift-serverless -- Name: Using Knative Client - File: knative-client -### Serving + Dir: installing_serverless + Topics: + - Name: Installing the OpenShift Serverless Operator + File: installing-openshift-serverless + - Name: Installing Knative Serving + File: installing-knative-serving +### - Name: Installing Knative Eventing +### File: installing-knative-eventing + - Name: Installing the Knative CLI + File: installing-kn + - Name: Removing OpenShift Serverless + File: removing-openshift-serverless +### Knative Serving - Name: Knative Serving Dir: knative_serving Topics: @@ -1501,7 +1510,7 @@ Topics: File: cluster-logging-serverless - Name: Splitting traffic between revisions File: splitting-traffic-between-revisions -### Eventing +### Knative Eventing ### - Name: Knative Eventing ### Dir: knative_eventing ### Topics: @@ -1511,6 +1520,11 @@ Topics: ### File: serverless-kn-source ### - Name: Using the broker ### File: serverless-using-brokers +- Name: Knative CLI + Dir: knative_cli + Topics: + - Name: Getting started with Knative CLI + File: knative-cli ### Monitoring - Name: Monitoring OpenShift Serverless components File: monitoring-serverless diff --git a/applications/application_life_cycle_management/odc-creating-applications-using-developer-perspective.adoc b/applications/application_life_cycle_management/odc-creating-applications-using-developer-perspective.adoc index d0663f02bb..5120dfaa2d 100644 --- a/applications/application_life_cycle_management/odc-creating-applications-using-developer-perspective.adoc +++ b/applications/application_life_cycle_management/odc-creating-applications-using-developer-perspective.adoc @@ -19,7 +19,7 @@ image::odc_add_view.png[Add View] ifdef::openshift-enterprise,openshift-webscale,openshift-origin[] [NOTE] ==== -The serverless sections in the above options are displayed only if the xref:../../serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[*Serverless Operator*] is installed in your cluster. OpenShift Serverless is a Technology Preview feature. +The serverless sections in the above options are displayed only if the xref:../../serverless/installing_serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[*Serverless Operator*] is installed in your cluster. OpenShift Serverless is a Technology Preview feature. ==== endif::[] @@ -34,8 +34,8 @@ ifdef::openshift-enterprise,openshift-webscale,openshift-origin[] To create serverless applications, in addition to the above, ensure that: -* You have xref:../../serverless/installing-openshift-serverless.adoc#installing-serverless-operator_installing-openshift-serverless[installed the OpenShift Serverless Operator]. -* You have xref:../../serverless/installing-openshift-serverless.adoc#installing-knative-serving_installing-openshift-serverless[created a knative-serving namespace and a KnativeServing resource in the knative-serving namespace]. +* You have xref:../../serverless/installing_serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[installed the Openshift Serverless Operator]. +* You have xref:../../serverless/installing_serverless/installing-knative-serving.adoc#installing-knative-serving[created a knative-serving namespace and a KnativeServing resource in the knative-serving namespace]. endif::[] diff --git a/modules/ossm-operatorhub-install.adoc b/modules/ossm-operatorhub-install.adoc index f05a2c214c..83329fbffd 100644 --- a/modules/ossm-operatorhub-install.adoc +++ b/modules/ossm-operatorhub-install.adoc @@ -1,7 +1,6 @@ // Module included in the following assemblies: // // * service_mesh/service_mesh_install/installing-ossm.adoc -// * serverless/installing-openshift-serverless.adoc [id="ossm-operatorhub-install_{context}"] = Installing the Operators from OperatorHub diff --git a/modules/serverless-cluster-sizing-requirements.adoc b/modules/serverless-cluster-sizing-requirements.adoc deleted file mode 100644 index be26ddcad4..0000000000 --- a/modules/serverless-cluster-sizing-requirements.adoc +++ /dev/null @@ -1,24 +0,0 @@ -// Module included in the following assemblies: -// -// serverless/installing-openshift-serverless.adoc - -[id="cluster-size-requirements_context"] -= Cluster size requirements - -The cluster must be sized appropriately to ensure that OpenShift Serverless can run correctly. You can use the MachineSet API to manually scale your cluster up to the desired size. - -An OpenShift cluster with 10 CPUs and 40 GB memory is the minimum requirement for getting started with your first serverless application. This usually means you must scale up one of the default MachineSets by two additional machines. - -[NOTE] -==== -For this configuration, the requirements depend on the deployed applications. By default, each pod requests ~400m of CPU and recommendations are based on this value. In the given recommendation, an application can scale up to 10 replicas. Lowering the actual CPU request of the application further pushes the boundary. -==== - -[NOTE] -==== -The numbers given only relate to the pool of worker machines of the OpenShift cluster. Master nodes are not used for general scheduling and are omitted. -==== - -For more advanced use-cases, such as using OpenShift logging, monitoring, metering, and tracing, you must deploy more resources. Recommended requirements for such use-cases are 24 vCPUs and 96GB of memory. - - diff --git a/modules/serverless-deleting-knative-serving-crds.adoc b/modules/serverless-deleting-knative-serving-crds.adoc deleted file mode 100644 index c2fa5136f4..0000000000 --- a/modules/serverless-deleting-knative-serving-crds.adoc +++ /dev/null @@ -1,18 +0,0 @@ -// Module included in the following assemblies: -// -// serverless/installing-openshift-serverless.adoc - -[id="deleting-knative-serving-crds_{context}"] -= Deleting Knative Serving CRDs from the Operator - -After uninstalling the {ServerlessOperatorName}, the Operator CRDs and API services remain on the cluster. Use this procedure to completely uninstall the remaining components. - -.Prerequisite -* You have uninstalled Knative Serving and removed the {ServerlessOperatorName} using the previous procedure. - -.Procedure -. Run the following command to delete the remaining Knative Serving CRDs: -+ ----- -$ oc delete crd knativeservings.operator.knative.dev ----- diff --git a/modules/serverless-rn-1-2-0.adoc b/modules/serverless-rn-1-2-0.adoc index 2dc37d9300..ebbb27e1f0 100644 --- a/modules/serverless-rn-1-2-0.adoc +++ b/modules/serverless-rn-1-2-0.adoc @@ -11,7 +11,7 @@ [id="new-features-1-2-0_{context}"] == New features * {ServerlessProductName} has been updated to use Knative Serving 0.9.0. -* {ServerlessProductName} has been updated to use Knative Client (`kn` CLI) 0.9.0. +* {ServerlessProductName} has been updated to use Knative `kn` CLI 0.9.0. * {ServerlessProductName} on {product-title} 4.2 now uses the Operator Lifecycle Manager (OLM) dependency resolution mechanism to install the ServiceMesh Operator automatically. The required ServiceMeshControlPlane and ServiceMeshMemberRoll are also installed and managed for the user. * Access to the KnativeServing resource is now restricted to `cluster-admin` roles to prevent any user from blocking the resource. Only `cluster-admin` roles can create KnativeServing CRs. * The {ServerlessProductName} Operator can now be found in the OperatorHub by searching for "knative". diff --git a/modules/serverless-rn-1-3-0.adoc b/modules/serverless-rn-1-3-0.adoc index 301ce8532e..60c0eca72f 100644 --- a/modules/serverless-rn-1-3-0.adoc +++ b/modules/serverless-rn-1-3-0.adoc @@ -9,7 +9,7 @@ [id="new-features-1-3-0_{context}"] == New features * {ServerlessProductName} has been updated to use Knative Serving 0.10.1. -* {ServerlessProductName} has been updated to use Knative Client (`kn` CLI) 0.10.0. +* {ServerlessProductName} has been updated to use Knative `kn` CLI 0.10.0. * {ServerlessProductName} 1.3.0 is available on {product-title} 4.2 and newer versions. [id="fixed-issues-1-3-0_{context}"] diff --git a/modules/serverless-rn-1-4-0.adoc b/modules/serverless-rn-1-4-0.adoc index aceb161595..2fa3b01106 100644 --- a/modules/serverless-rn-1-4-0.adoc +++ b/modules/serverless-rn-1-4-0.adoc @@ -14,7 +14,7 @@ == New features * {ServerlessProductName} 1.4.0 is available on {product-title} 4.2 and newer versions. * {ServerlessProductName} has been updated to use Knative Serving 0.11.1. -* {ServerlessProductName} has been updated to use Knative Client (`kn` CLI) 0.11.0. +* {ServerlessProductName} has been updated to use Knative `kn` CLI 0.11.0. * {ServerlessProductName} has been updated to use Knative Serving Operator 0.11.1. * The `kn` CLI is now available for download through the *Command Line Tools* page in the {product-title} web console. * The `KnativeServing` object's API group has changed in this release from `serving.knative.dev` to `operator.knative.dev`. You will need to adjust any of your scripts or applications that rely on the old API group to use the new API group. The {ServerlessProductName} installation instructions have been updated to use the new API group. diff --git a/modules/serverless-rn-1-5-0.adoc b/modules/serverless-rn-1-5-0.adoc index 07e8587e4f..d0ad1b52b5 100644 --- a/modules/serverless-rn-1-5-0.adoc +++ b/modules/serverless-rn-1-5-0.adoc @@ -10,7 +10,7 @@ == New features * {ServerlessProductName} 1.5.0 is available on {product-title} 4.3 and newer versions. * {ServerlessProductName} has been updated to use Knative Serving 0.12.1. -* {ServerlessProductName} has been updated to use Knative Client (`kn` CLI) 0.12.0. +* {ServerlessProductName} has been updated to use Knative `kn` CLI 0.12.0. * {ServerlessProductName} has been updated to use Knative Serving Operator 0.12.1. * {ServerlessProductName} ingress implementation has been updated to use Kourier in place of Service Mesh. No user intervention is necessary, as this change is automatic when the {ServerlessOperatorName} is upgraded to 1.5.0. diff --git a/modules/serverless-uninstalling-knative-eventing.adoc b/modules/serverless-uninstalling-knative-eventing.adoc new file mode 100644 index 0000000000..2382f050f3 --- /dev/null +++ b/modules/serverless-uninstalling-knative-eventing.adoc @@ -0,0 +1,22 @@ +// Module included in the following assemblies: +// +// serverless/installing_serverless/installing-openshift-serverless.adoc + +[id="serverless-uninstalling-knative-eventing_{context}"] += Uninstalling Knative Eventing + +To uninstall Knative Eventing, you must remove its custom resource and delete the `knative-eventing` namespace. + +.Procedure + +. To remove Knative Eventing, enter the following command: ++ +---- +$ oc delete knativeeventings.operator.knative.dev knative-eventing -n knative-eventing +---- + +. After the command has completed and all pods have been removed from the `knative-eventing` namespace, delete the namespace by entering the following command: ++ +---- +$ oc delete namespace knative-eventing +---- diff --git a/modules/serverless-uninstalling-knative-serving.adoc b/modules/serverless-uninstalling-knative-serving.adoc index 466a0c25b8..037650e7f6 100644 --- a/modules/serverless-uninstalling-knative-serving.adoc +++ b/modules/serverless-uninstalling-knative-serving.adoc @@ -1,27 +1,22 @@ // Module included in the following assemblies: // -// serverless/installing-openshift-serverless.adoc +// serverless/installing_serverless/installing-openshift-serverless.adoc -[id="uninstalling-knative-serving_{context}"] +[id="serverless-uninstalling-knative-serving_{context}"] = Uninstalling Knative Serving -To uninstall Knative Serving, you must remove its custom resource and delete the `knative-serving` namespace. - - -.Prerequisite - -* Installed Knative Serving +To uninstall Knative Serving, you must remove its custom resource and delete the `knative-serving` namespace. .Procedure -. To remove Knative Serving, use the following command: +. To remove Knative Serving, enter the following command: + ---- -$ oc delete knativeserving.operator.knative.dev knative-serving -n knative-serving +$ oc delete knativeservings.operator.knative.dev knative-serving -n knative-serving ---- -. After the command has completed and all pods have been removed from the `knative-serving` namespace, delete the namespace by using the command: +. After the command has completed and all pods have been removed from the `knative-serving` namespace, delete the namespace by entering the following command: + ---- $ oc delete namespace knative-serving ----- \ No newline at end of file +---- diff --git a/modules/serverless-workflow-autoscaling.adoc b/modules/serverless-workflow-autoscaling.adoc index 1a1894891f..2a62678087 100644 --- a/modules/serverless-workflow-autoscaling.adoc +++ b/modules/serverless-workflow-autoscaling.adoc @@ -1,9 +1,9 @@ // Module is included in the following assemblies: // -// serverless/knative-client.adoc +// serverless/knative_cli/knative-cli.adoc [id="autoscaling-workflow_{context}"] -= Autoscaling workflow using Knative Client += Autoscaling workflow using `kn` You can access autoscaling capabilities by using `kn` to modify Knative services without editing YAML files directly. @@ -11,18 +11,18 @@ Use the `service create` and `service update` commands with the appropriate flag [cols="1,3",options="header"] |==== -| Flag +| Flag | Description -| `--concurrency-limit int` +| `--concurrency-limit int` | Hard limit of concurrent requests to be processed by a single replica. -| `--concurrency-target int` +| `--concurrency-target int` | Recommendation for when to scale up based on the concurrent number of incoming requests. Defaults to `--concurrency-limit`. -| `--max-scale int` +| `--max-scale int` | Maximum number of replicas. -| `--min-scale int` -| Minimum number of replicas. -|==== \ No newline at end of file +| `--min-scale int` +| Minimum number of replicas. +|==== diff --git a/modules/serverless-workflow-basic.adoc b/modules/serverless-workflow-basic.adoc index 2b40580ec1..4b1203b38a 100644 --- a/modules/serverless-workflow-basic.adoc +++ b/modules/serverless-workflow-basic.adoc @@ -1,13 +1,12 @@ // Module is included in the following assemblies: // -// serverless/knative-client.adoc +// serverless/knative_cli/knative-cli.adoc [id="basic-workflow_{context}"] -= Basic workflow using Knative Client += Basic workflow using `kn` Use this basic workflow to create, read, update, delete (CRUD) operations on a service. The following example deploys a link:https://github.com/knative/docs/tree/master/docs/serving/samples/hello-world/helloworld-go[simple Hello World service] that reads the environment variable `TARGET` and prints its output. - .Procedure . Create a service in the `default` namespace from an image. @@ -69,15 +68,15 @@ Age: 13m URL: http://hello.default.apps-crc.testing Address: http://hello.default.svc.cluster.local -Revisions: +Revisions: 100% @latest (hello-dghll-2) [2] (1m) Image: gcr.io/knative-samples/helloworld-go (pinned to 5ea96b) -Conditions: +Conditions: OK TYPE AGE REASON - ++ Ready 1m - ++ ConfigurationsReady 1m - ++ RoutesReady 1m + ++ Ready 1m + ++ ConfigurationsReady 1m + ++ RoutesReady 1m ---- . Delete the service. diff --git a/modules/serverless-workflow-traffic-splitting.adoc b/modules/serverless-workflow-traffic-splitting.adoc index 8702924b22..859bc0e4bb 100644 --- a/modules/serverless-workflow-traffic-splitting.adoc +++ b/modules/serverless-workflow-traffic-splitting.adoc @@ -1,9 +1,9 @@ // Module is included in the following assemblies: // -// serverless/knative-client.adoc +// serverless/knative_cli/knative-cli.adoc [id="traffic-splitting_{context}"] -= Traffic splitting using Knative Client += Traffic splitting using `kn` `kn` helps you control which revisions get routed traffic on your Knative service. @@ -16,7 +16,7 @@ You can change this behavior by defining which revision gets a portion of the tr .Procedure -* Use the `kn service update` command with the `--traffic` flag to update the traffic. +* Use the `kn service update` command with the `--traffic` flag to update the traffic. [NOTE] ==== @@ -37,7 +37,7 @@ You can change this behavior by defining which revision gets a portion of the tr [NOTE] ==== -For example, to route 10% of traffic to your new revision before putting all traffic on, use the following command: +For example, to route 10% of traffic to your new revision before putting all traffic on, use the following command: ---- $ kn service update svc --traffic @latest=10 --traffic svc-vwxyz=90 ---- diff --git a/serverless/installing-openshift-serverless.adoc b/serverless/installing-openshift-serverless.adoc deleted file mode 100644 index 8a0245649e..0000000000 --- a/serverless/installing-openshift-serverless.adoc +++ /dev/null @@ -1,50 +0,0 @@ -[id="installing-openshift-serverless"] -= Installing {ServerlessProductName} -include::modules/common-attributes.adoc[] -include::modules/serverless-document-attributes.adoc[] -:context: installing-openshift-serverless - -toc::[] - -[IMPORTANT] -==== -{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 -include::modules/serverless-cluster-sizing-requirements.adoc[leveloffset=+1] - -.Additional resources -For more information on using the MachineSet API, see xref:../machine_management/creating_machinesets/creating-machineset-aws.adoc#creating-machineset-aws[Creating MachineSets]. - - -// Add or remove an instance of a machine in a MachineSet -include::modules/machineset-manually-scaling.adoc[leveloffset=+2] - -// Installing Serverless Operator -[id="installing-serverless-operator_{context}"] -== Installing the {ServerlessOperatorName} - -The {ServerlessOperatorName} can be installed using the {product-title} instructions for installing Operators. - -You can install the {ServerlessOperatorName} in the host cluster by following the {product-title} instructions on installing an Operator. - -For details, see the {product-title} documentation on xref:../operators/olm-adding-operators-to-cluster.adoc#olm-adding-operators-to-a-cluster[adding Operators to a cluster]. - -// Installing Knative Serving -include::modules/serverless-installing-knative-serving.adoc[leveloffset=+1] - -// Uninstalling Knative Serving -include::modules/serverless-uninstalling-knative-serving.adoc[leveloffset=+1] - -// Deleting Serverless Operator -[id="deleting-openshift-serverless-operator_{context}"] -== Deleting the {ServerlessOperatorName} - -You can remove the {ServerlessOperatorName} from the host cluster by following the {product-title} instructions on deleting an Operator. - -For details, see the {product-title} documentation on xref:../operators/olm-deleting-operators-from-cluster.adoc#olm-deleting-operators-from-a-cluster[deleting Operators from a cluster]. - - -// Deleting Knative Serving -include::modules/serverless-deleting-knative-serving-crds.adoc[leveloffset=+1] diff --git a/serverless/installing_serverless/images b/serverless/installing_serverless/images new file mode 120000 index 0000000000..5e67573196 --- /dev/null +++ b/serverless/installing_serverless/images @@ -0,0 +1 @@ +../images \ No newline at end of file diff --git a/serverless/installing_serverless/installing-kn.adoc b/serverless/installing_serverless/installing-kn.adoc new file mode 100644 index 0000000000..5b560f2683 --- /dev/null +++ b/serverless/installing_serverless/installing-kn.adoc @@ -0,0 +1,22 @@ +include::modules/serverless-document-attributes.adoc[] +[id="installing-kn"] += Installing the Knative CLI (`kn`) +:context: installing-kn +include::modules/common-attributes.adoc[] + +toc::[] + +[NOTE] +==== +`kn` does not have its own login mechanism. To log in to the cluster, you must install the `oc` CLI and use `oc` login. + +Installation options for the `oc` CLI will vary depending on your operating system. + +For more information on installing the `oc` CLI for your operating system and logging in with `oc`, see the xref:../../cli_reference/openshift_cli/getting-started-cli.adoc#cli-getting-started[CLI getting started] documentation. +==== + +include::modules/serverless-installing-cli-web-console.adoc[leveloffset=+1] +include::modules/serverless-installing-cli-linux-rpm.adoc[leveloffset=+1] +include::modules/serverless-installing-cli-linux.adoc[leveloffset=+1] +include::modules/serverless-installing-cli-macos.adoc[leveloffset=+1] +include::modules/serverless-installing-cli-windows.adoc[leveloffset=+1] diff --git a/serverless/installing_serverless/installing-knative-eventing.adoc b/serverless/installing_serverless/installing-knative-eventing.adoc new file mode 100644 index 0000000000..15f89bb7fc --- /dev/null +++ b/serverless/installing_serverless/installing-knative-eventing.adoc @@ -0,0 +1,53 @@ +include::modules/serverless-document-attributes.adoc[] +[id="installing-knative-eventing"] += Installing Knative Eventing +include::modules/common-attributes.adoc[] +:context: installing-knative-eventing + +You must create a `KnativeEventing` object to install Knative Eventing using the {ServerlessOperatorName}. + +[IMPORTANT] +==== +You must create the `KnativeEventing` object in the `knative-eventing` namespace, as shown in the sample YAML, or the object is ignored. +==== + +[source,yaml] +.Sample `eventing.yaml` +---- +apiVersion: v1 +kind: Namespace +metadata: + name: knative-eventing +--- +apiVersion: operator.knative.dev/v1alpha1 +kind: KnativeEventing +metadata: + name: knative-eventing + namespace: knative-eventing +---- + + +.Prerequisite +* An account with cluster administrator access. +* Installed {ServerlessOperatorName}. + +.Procedure +. Copy the sample YAML file into the `eventing.yaml` file and enter the following command to apply it: ++ +---- +$ oc apply -f eventing.yaml +---- ++ +. To verify the installation is complete, enter the following command: ++ +---- +$ oc get knativeeventing.operator.knative.dev/knative-eventing -n knative-eventing --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}' +---- ++ +Results should be similar to: ++ +---- +DeploymentsAvailable=True +InstallSucceeded=True +Ready=True +---- diff --git a/modules/serverless-installing-knative-serving.adoc b/serverless/installing_serverless/installing-knative-serving.adoc similarity index 73% rename from modules/serverless-installing-knative-serving.adoc rename to serverless/installing_serverless/installing-knative-serving.adoc index 1c414130a1..35f60e267f 100644 --- a/modules/serverless-installing-knative-serving.adoc +++ b/serverless/installing_serverless/installing-knative-serving.adoc @@ -1,9 +1,8 @@ -// Module included in the following assemblies: -// -// serverless/installing-openshift-serverless.adoc - -[id="installing-knative-serving_{context}"] +include::modules/serverless-document-attributes.adoc[] +[id="installing-knative-serving"] = Installing Knative Serving +include::modules/common-attributes.adoc[] +:context: installing-knative-serving You must create a `KnativeServing` object to install Knative Serving using the {ServerlessOperatorName}. @@ -34,13 +33,13 @@ metadata: .Procedure -. Copy the sample YAML file into `serving.yaml` and apply it using: +. Copy the sample YAML file into the `serving.yaml` file and enter the following command to apply it: + ---- $ oc apply -f serving.yaml ---- + -. Verify the installation is complete by using the command: +. To verify the installation is complete, enter the following command: + ---- $ oc get knativeserving.operator.knative.dev/knative-serving -n knative-serving --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}' diff --git a/serverless/installing_serverless/installing-openshift-serverless.adoc b/serverless/installing_serverless/installing-openshift-serverless.adoc new file mode 100644 index 0000000000..01cb7b31cc --- /dev/null +++ b/serverless/installing_serverless/installing-openshift-serverless.adoc @@ -0,0 +1,46 @@ +include::modules/serverless-document-attributes.adoc[] +[id="installing-openshift-serverless"] += Installing {ServerlessProductName} +include::modules/common-attributes.adoc[] +:context: installing-openshift-serverless + +toc::[] + +[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]. +==== + +== Prerequisites + +* 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. ++ +[NOTE] +==== +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. + +[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. +==== + +.Additional resources +* 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]. + +[id="installing-serverless-operator"] +== Installing the {ServerlessOperatorName} + +The {ServerlessOperatorName} can be installed by a cluster administrator using the Operator Hub in the {product-title} web console. +For details, see the {product-title} documentation on xref:../../operators/olm-adding-operators-to-cluster.adoc#olm-adding-operators-to-a-cluster[adding Operators to a cluster]. + +.Next steps +* Once the {ServerlessOperatorName} is installed, you can install the Knative Serving component. See the documentation on xref:../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]. diff --git a/serverless/installing_serverless/modules b/serverless/installing_serverless/modules new file mode 120000 index 0000000000..464b823aca --- /dev/null +++ b/serverless/installing_serverless/modules @@ -0,0 +1 @@ +../modules \ No newline at end of file diff --git a/serverless/installing_serverless/removing-openshift-serverless.adoc b/serverless/installing_serverless/removing-openshift-serverless.adoc new file mode 100644 index 0000000000..229bcb696e --- /dev/null +++ b/serverless/installing_serverless/removing-openshift-serverless.adoc @@ -0,0 +1,53 @@ +include::modules/serverless-document-attributes.adoc[] +[id="removing-openshift-serverless"] += Removing {ServerlessProductName} +include::modules/common-attributes.adoc[] +:context: removing-openshift-serverless + +toc::[] + +This guide provides details of how to remove the {ServerlessOperatorName} and other {ServerlessProductName} components. + +[NOTE] +==== +Before you can remove the {ServerlessOperatorName}, you must remove Knative Serving and Knative Eventing. +==== + +// Uninstalling Knative Serving +include::modules/serverless-uninstalling-knative-serving.adoc[leveloffset=+1] +// Uninstalling Knative Eventing +// include::modules/serverless-uninstalling-knative-eventing.adoc[leveloffset=+1] + +[id="removing-the-operator"] +== Removing the {ServerlessOperatorName} +You can remove the {ServerlessOperatorName} from the host cluster by following the documentation on xref:../../operators/olm-deleting-operators-from-cluster.adoc#olm-deleting-operators-from-a-cluster[deleting Operators from a cluster]. + +[id="deleting-serving-CRDs"] +== Deleting Knative Serving CRDs + +After uninstalling the {ServerlessOperatorName}, the Operator CRDs and API services remain on the cluster. Use this procedure to completely uninstall the remaining components. + +.Prerequisites +* You have uninstalled Knative Serving and removed the {ServerlessOperatorName} using the previous procedure. + +.Procedure +. To delete the remaining Knative Serving CRDs, enter the following command: ++ +---- +$ oc delete crd knativeservings.operator.knative.dev +---- + +// [id="deleting-eventing-CRDs"] +// == Deleting Knative Eventing CRDs + +// After uninstalling the {ServerlessOperatorName}, the Operator CRDs and API services remain on the cluster. Use this procedure to completely uninstall the remaining components. + +// .Prerequisites +// * You have uninstalled Knative Eventing and removed the {ServerlessOperatorName} using the previous procedure. + +// .Procedure +// . To delete the remaining Knative Eventing CRDs, enter the following command: +// + +// ---- +// $ oc delete crd knativeeventings.operator.knative.dev +// ---- diff --git a/serverless/knative-client.adoc b/serverless/knative-client.adoc deleted file mode 100644 index 3d73854eef..0000000000 --- a/serverless/knative-client.adoc +++ /dev/null @@ -1,40 +0,0 @@ -[id="knative-client"] -= Getting started with Knative Client -include::modules/common-attributes.adoc[] -include::modules/serverless-document-attributes.adoc[] -:context: knative-client - -toc::[] - -Knative Client (`kn`) is the Knative command line interface (CLI). -`kn` exposes commands for managing your applications, as well as lower level tools to interact with components of {product-title}. -With `kn`, you can create applications and manage {product-title} projects from the terminal. - -== Before you begin - -`kn` does not have its own login mechanism. -To log in to the cluster, you must install the `oc` CLI and use `oc` login. - -Installation options for the `oc` CLI will vary depending on your operating system. -For more information on installing the `oc` CLI for your operating system and logging in with `oc`, see the xref:../cli_reference/openshift_cli/getting-started-cli.adoc#cli-getting-started[CLI getting started] documentation. - -== Installing Knative Client -include::modules/serverless-installing-cli-web-console.adoc[leveloffset=+2] -include::modules/serverless-installing-cli-linux-rpm.adoc[leveloffset=+2] -include::modules/serverless-installing-cli-linux.adoc[leveloffset=+2] -include::modules/serverless-installing-cli-macos.adoc[leveloffset=+2] -include::modules/serverless-installing-cli-windows.adoc[leveloffset=+2] - -// Access workflows after installation -// Basic Workflow -include::modules/serverless-workflow-basic.adoc[leveloffset=+1] - -// Autoscaling -include::modules/serverless-workflow-autoscaling.adoc[leveloffset=+1] - -// Traffic Splitting -include::modules/serverless-workflow-traffic-splitting.adoc[leveloffset=+1] -include::modules/serverless-workflow-tag-revisions-assign.adoc[leveloffset=+2] -include::modules/serverless-workflow-tag-revisions-unassign.adoc[leveloffset=+2] -include::modules/serverless-workflow-traffic-flag-operation-precedence.adoc[leveloffset=+2] -include::modules/serverless-workflow-traffic-splitting-flags.adoc[leveloffset=+2] diff --git a/serverless/knative_cli/images b/serverless/knative_cli/images new file mode 120000 index 0000000000..5e67573196 --- /dev/null +++ b/serverless/knative_cli/images @@ -0,0 +1 @@ +../images \ No newline at end of file diff --git a/serverless/knative_cli/knative-cli.adoc b/serverless/knative_cli/knative-cli.adoc new file mode 100644 index 0000000000..7eeee2103e --- /dev/null +++ b/serverless/knative_cli/knative-cli.adoc @@ -0,0 +1,23 @@ +include::modules/serverless-document-attributes.adoc[] +[id="knative-cli"] += Getting started with Knative CLI (`kn`) +:context: knative-cli +include::modules/common-attributes.adoc[] + +toc::[] + +`kn` exposes commands for managing your applications, as well as lower level tools to interact with components of {product-title}. +With `kn`, you can create applications and manage {product-title} projects from the terminal. + +// Basic Workflow +include::modules/serverless-workflow-basic.adoc[leveloffset=+1] + +// Autoscaling +include::modules/serverless-workflow-autoscaling.adoc[leveloffset=+1] + +// Traffic Splitting +include::modules/serverless-workflow-traffic-splitting.adoc[leveloffset=+1] +include::modules/serverless-workflow-tag-revisions-assign.adoc[leveloffset=+2] +include::modules/serverless-workflow-tag-revisions-unassign.adoc[leveloffset=+2] +include::modules/serverless-workflow-traffic-flag-operation-precedence.adoc[leveloffset=+2] +include::modules/serverless-workflow-traffic-splitting-flags.adoc[leveloffset=+2] diff --git a/serverless/knative_cli/modules b/serverless/knative_cli/modules new file mode 120000 index 0000000000..464b823aca --- /dev/null +++ b/serverless/knative_cli/modules @@ -0,0 +1 @@ +../modules \ No newline at end of file diff --git a/serverless/knative_eventing/serverless-kn-source.adoc b/serverless/knative_eventing/serverless-kn-source.adoc index 979b85fb3f..8ce130dfe9 100644 --- a/serverless/knative_eventing/serverless-kn-source.adoc +++ b/serverless/knative_eventing/serverless-kn-source.adoc @@ -5,7 +5,7 @@ include::modules/serverless-document-attributes.adoc[] :context: serverless-kn-source You can use `kn` to list available event sources or event source types for use with Knative Eventing. -For information about installing `kn`, see xref:../knative-client.adoc#knative-client[Installing Knative Client]. +For information about installing `kn`, see xref:../installing_serverless/installing-kn.adoc#installing-kn[Installing Knative client]. Currently, Knative Eventing supports the following event source types: @@ -16,8 +16,7 @@ Currently, Knative Eventing supports the following event source types: Additional sources can be added by the cluster administrator. For example, {ServerlessProductName} can be used with Kafka and Camel K event sources, which are installed using the Operator Hub in the {product-title} web console. -// For more information about adding event source types as a cluster administrator, see -// xref:../knative-client.adoc#knative-client[Installing Knative Client]. +// For more information about adding event source types as a cluster administrator, see...(add modules later) include::modules/serverless-list-source-types.adoc[leveloffset=+1] include::modules/serverless-list-source.adoc[leveloffset=+1] diff --git a/serverless/knative_serving/creating-serverless-applications.adoc b/serverless/knative_serving/creating-serverless-applications.adoc index d062325be9..c26353346d 100644 --- a/serverless/knative_serving/creating-serverless-applications.adoc +++ b/serverless/knative_serving/creating-serverless-applications.adoc @@ -14,7 +14,7 @@ To create serverless applications using the *Developer* perspective ensure that: * You have xref:../../web_console/web-console.adoc#web-console[logged in to the web console]. * You are in the xref:../../web_console/odc-about-developer-perspective.adoc#odc-about-developer-perspective[*Developer* perspective]. * You have the appropriate xref:../../authentication/using-rbac.adoc#default-roles_using-rbac[roles and permissions] in a project to create applications and other workloads in {product-title}. -* You have xref:../../installing-openshift-serverless.adoc#installing-serverless-operator_installing-openshift-serverless[installed the Openshift Serverless Operator]. -* You have xref:../../installing-openshift-serverless.adoc#installing-knative-serving_installing-openshift-serverless[created a knative-serving namespace and a KnativeServing resource in the knative-serving namespace]. +* You have xref:../installing_serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[installed the Openshift Serverless Operator]. +* You have xref:../installing_serverless/installing-knative-serving.adoc#installing-knative-serving[created a knative-serving namespace and a KnativeServing resource in the knative-serving namespace]. include::modules/odc-importing-codebase-from-git-to-create-application.adoc[leveloffset=+1] diff --git a/serverless/serverless-getting-started.adoc b/serverless/serverless-getting-started.adoc index 8ccaa9848a..b9796963f6 100644 --- a/serverless/serverless-getting-started.adoc +++ b/serverless/serverless-getting-started.adoc @@ -14,7 +14,7 @@ include::modules/technology-preview.adoc[leveloffset=+1] [id="how-it-works_{context}"] == How {ServerlessProductName} works Developers on {ServerlessProductName} can use the provided Kubernetes-native APIs, as well as familiar languages and frameworks, to deploy applications and container workloads. -For information about installing {ServerlessProductName}, see xref:../serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[Installing OpenShift Serverless]. +For information about installing {ServerlessProductName}, see xref:../serverless/installing_serverless/installing-openshift-serverless.adoc#installing-openshift-serverless[Installing OpenShift Serverless]. {ServerlessProductName} on {product-title} enables stateful, stateless, and serverless workloads to all run on a single multi-cloud container platform with automated operations. Developers can use a single platform for hosting their microservices, legacy, and serverless applications. @@ -24,9 +24,9 @@ For information about installing {ServerlessProductName}, see xref:../serverless == Knative Eventing A developer preview version of Knative Eventing is available for use with {ServerlessProductName}. However, this is not included in the {ServerlessOperatorName} and is not currently supported as part of this Technology Preview. For more information about Knative Eventing, including installation instructions and samples, see the link:https://openshift-knative.github.io/docs/docs/index.html[Knative Eventing on {product-title}] documentation. -[id="knative-client_{context}"] -== Knative Client -The Knative Client (`kn`) extends the functionality of the `oc` or `kubectl` tools to enable interaction with Knative components on {product-title}. `kn` allows developers to deploy and manage applications without editing YAML files directly. +[id="knative-cli_{context}"] +== Knative CLI +The Knative CLI (`kn`) extends the functionality of the `oc` or `kubectl` tools to enable interaction with Knative components on {product-title}. `kn` allows developers to deploy and manage applications without editing YAML files directly. [id="applications_{context}"] == Applications on {ServerlessProductName} diff --git a/serverless/serverless-release-notes.adoc b/serverless/serverless-release-notes.adoc index f872257492..e1e3fa9d7c 100644 --- a/serverless/serverless-release-notes.adoc +++ b/serverless/serverless-release-notes.adoc @@ -9,6 +9,7 @@ toc::[] For an overview of {ServerlessProductName} functionality, see xref:../serverless/serverless-getting-started.adoc#serverless-getting-started[Getting started with OpenShift Serverless]. +[id="getting-support"] == Getting support If you experience difficulty with a procedure described in this documentation, @@ -22,13 +23,14 @@ include::modules/serverless-rn-1-2-0.adoc[leveloffset=+1] include::modules/serverless-rn-1-1-0.adoc[leveloffset=+1] include::modules/serverless-rn-1-0-0.adoc[leveloffset=+1] +[id="additional-resources"] == Additional resources {ServerlessProductName} is based on the open source Knative project. * For details about the latest Knative Serving release, see the link:https://github.com/knative/serving/releases[Knative Serving releases page]. * For details about the latest Knative Serving Operator release, see the link:https://github.com/knative/serving-operator/releases[Knative Serving Operator releases page]. -* For details about the latest Knative Client release, see the link:https://github.com/knative/client/releases[Knative Client releases page]. +* For details about the latest Knative CLI release, see the link:https://github.com/knative/client/releases[Knative client releases page]. * For details about the latest Knative Eventing release, see the link:https://github.com/knative/eventing/releases[Knative Eventing releases page]. [NOTE]