From 6444ee6c72a0dfd0c20a3801bb997195f7ce36aa Mon Sep 17 00:00:00 2001 From: Kirby Chin <37311900+kabicin@users.noreply.github.com> Date: Wed, 22 May 2024 10:54:00 -0400 Subject: [PATCH 1/2] Add RCO system requirements to v1 doc --- doc/user-guide-v1.adoc | 59 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/doc/user-guide-v1.adoc b/doc/user-guide-v1.adoc index 680aa537..cefe2ef8 100755 --- a/doc/user-guide-v1.adoc +++ b/doc/user-guide-v1.adoc @@ -2,6 +2,64 @@ This generic Operator is capable of deploying any application image and can be imported into any runtime-specific Operator as library of application capabilities. This architecture ensures compatibility and consistency between all runtime Operators, allowing everyone to benefit from the functionality added in this project. +== System requirements + +Your environment must meet cluster, sizing, persistent storage, and network requirements for Runtime Component operator. + +=== OpenShift Container Platform Requirements +If you are installing a Runtime Component operator on an Red Hat OpenShift cluster, your environment must meet Red Hat OpenShift Container Platform (OCP) cluster requirements. + +==== OCP requirements + +Runtime Component operator requires an link:++https://docs.openshift.com/container-platform/4.15/welcome/index.html++[OCP version 4.15], link:++https://docs.openshift.com/container-platform/4.14/welcome/index.html++[OCP version 4.14], or link:++https://docs.openshift.com/container-platform/4.12/welcome/index.html++[OCP version 4.12] cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. To manage OCP projects with OCP CLI (oc) commands, the installation also requires the link:++https://docs.openshift.com/container-platform/4.9/cli_reference/openshift_cli/getting-started-cli.html++[OCP CLI]. + +By default, certificates are generated by using the OpenShift certificate manager. If you want to use the `manageTLS` capability and use a different certificate manager (such as link:++https://cert-manager.io/docs/installation/++[cert-manager]) to generate and manage the certificates, you must install it. + +=== Kubernetes Requirements + +If you are installing a Runtime Component operator on a Kubernetes cluster, your environment must meet the Kubernetes cluster requirements. + +==== Kubernetes requirements +Runtime Component operator requires a Kubernetes version 1.28, 1.27, 1.26, or 1.25 cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. + +If you plan to use link:++https://olm.operatorframework.io/++[Operator Lifecycle Manager (OLM)], it must be installed on your cluster. + +If you want to use the `manageTLS` capability, you must have a certificate manager (such as link:++https://cert-manager.io/docs/installation/++[cert-manager]) installed. + +Before you can use the Ingress resource to expose your application, you must install an ingress controller such as Nginx or Traefik. + +=== Sizing Requirements + +Your environment must meet sizing requirements for Runtime Component operator. + +==== Runtime Component operator sizing + +.Operator sizing requirements +|=== +| Project | CPU request (cores) | Memory request (Mi) | Disk space (Gi) | Notes +| Runtime Component operator | 0.2 (limit: 0.4) | 128 (limit: 1024) | N/A | Applications that are deployed and managed by the operator have their own resource requests and limits as specified in the link:#overview[Runtime Component operator custom resources]. +|=== + +NOTE: The values in the tables do not include any requirements inherent in the storage provider. The storage infrastructure might require more resources (for example, CPU or memory) from the worker nodes. + +=== Storage requirements + +Your environment might need to meet certain storage requirements when you use Runtime Component operator. + +No storage requirements exist for Runtime Component operator. However, if you are using the Runtime Component operator serviceability feature, and you have applications with multiple replicas, storage must support `ReadWriteMany` access mode. For more information, see link:#storage-for-serviceability[Storage for serviceability]. + +You are responsible for configuring and managing storage for any applications that you deploy with Runtime Component operator. + +=== Network requirements + +Your environment must meet network requirements for Runtime Component operator. + +.External network requirements +|=== +| Hostnames | Ports and Protocols | Purpose +| icr.io, cp.icr.io | 443 (HTTP over TLS) | The listed domain is the container image registry that is used as part of the Runtime Component operator installation. This registry is also used when Runtime Component operator and dependency software levels are updated. +|=== + == Operator installation Use the instructions for one of the link:++../deploy/releases++[releases] to install the operator into a Kubernetes cluster. @@ -22,6 +80,7 @@ Appropriate cluster roles and bindings are required to watch another namespace, NOTE: The Runtime Component Operator can only interact with resources it is given permission to interact through link:++https://kubernetes.io/docs/reference/access-authn-authz/rbac/++[Role-based access control (RBAC)]. Some of the operator features described in this document require interacting with resources in other namespaces. In that case, the operator must be installed with correct `ClusterRole` definitions. +[[overview]] == Overview The architecture of the Runtime Component Operator follows the basic controller pattern: the Operator container with the controller is deployed into a Pod and listens for incoming resources with `Kind: RuntimeComponent`. Creating a `RuntimeComponent` custom resource (CR) triggers the Runtime Component Operator to create, update or delete Kubernetes resources needed by the application to run on your cluster. From bf19f6e490070346c7be8e4083b7acc773c4f756 Mon Sep 17 00:00:00 2001 From: kabicin <37311900+kabicin@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:25:11 -0400 Subject: [PATCH 2/2] Update user-guide-v1.adoc --- doc/user-guide-v1.adoc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/user-guide-v1.adoc b/doc/user-guide-v1.adoc index cefe2ef8..311ec253 100755 --- a/doc/user-guide-v1.adoc +++ b/doc/user-guide-v1.adoc @@ -11,7 +11,7 @@ If you are installing a Runtime Component operator on an Red Hat OpenShift clust ==== OCP requirements -Runtime Component operator requires an link:++https://docs.openshift.com/container-platform/4.15/welcome/index.html++[OCP version 4.15], link:++https://docs.openshift.com/container-platform/4.14/welcome/index.html++[OCP version 4.14], or link:++https://docs.openshift.com/container-platform/4.12/welcome/index.html++[OCP version 4.12] cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. To manage OCP projects with OCP CLI (oc) commands, the installation also requires the link:++https://docs.openshift.com/container-platform/4.9/cli_reference/openshift_cli/getting-started-cli.html++[OCP CLI]. +Runtime Component operator requires an link:++https://docs.openshift.com/container-platform/4.16/welcome/index.html++[OCP version 4.16], link:++https://docs.openshift.com/container-platform/4.15/welcome/index.html++[OCP version 4.15], link:++https://docs.openshift.com/container-platform/4.14/welcome/index.html++[OCP version 4.14], or link:++https://docs.openshift.com/container-platform/4.12/welcome/index.html++[OCP version 4.12] cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. To manage OCP projects with OCP CLI (oc) commands, the installation also requires the link:++https://docs.openshift.com/container-platform/4.9/cli_reference/openshift_cli/getting-started-cli.html++[OCP CLI]. By default, certificates are generated by using the OpenShift certificate manager. If you want to use the `manageTLS` capability and use a different certificate manager (such as link:++https://cert-manager.io/docs/installation/++[cert-manager]) to generate and manage the certificates, you must install it. @@ -20,7 +20,7 @@ By default, certificates are generated by using the OpenShift certificate manage If you are installing a Runtime Component operator on a Kubernetes cluster, your environment must meet the Kubernetes cluster requirements. ==== Kubernetes requirements -Runtime Component operator requires a Kubernetes version 1.28, 1.27, 1.26, or 1.25 cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. +Runtime Component operator requires a Kubernetes version 1.29, 1.28, 1.27, 1.26, or 1.25 cluster on Linux x86_64 (amd64), Linux on Power (ppc64le), or Linux on IBM Z (s390x) platform, with cluster-admin permissions. If you plan to use link:++https://olm.operatorframework.io/++[Operator Lifecycle Manager (OLM)], it must be installed on your cluster. @@ -44,9 +44,7 @@ NOTE: The values in the tables do not include any requirements inherent in the s === Storage requirements -Your environment might need to meet certain storage requirements when you use Runtime Component operator. - -No storage requirements exist for Runtime Component operator. However, if you are using the Runtime Component operator serviceability feature, and you have applications with multiple replicas, storage must support `ReadWriteMany` access mode. For more information, see link:#storage-for-serviceability[Storage for serviceability]. +No storage requirements exist for Runtime Component operator. You are responsible for configuring and managing storage for any applications that you deploy with Runtime Component operator.