Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | .. International License. |
| 3 | .. http://creativecommons.org/licenses/by/4.0 |
| 4 | .. Copyright 2021 Nokia |
| 5 | |
| 6 | .. Links |
| 7 | .. _Cert-Manager Installation documentation: https://cert-manager.io/docs/installation/kubernetes/ |
| 8 | .. _Cert-Manager kubectl plugin documentation: https://cert-manager.io/docs/usage/kubectl-plugin/ |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame^] | 9 | .. _Strimzi Apache Kafka Operator helm Installation documentation: https://strimzi.io/docs/operators/in-development/deploying.html#deploying-cluster-operator-helm-chart-str |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 10 | |
| 11 | .. _oom_setup_paas: |
| 12 | |
Piotr Marcinkiewicz | 2ca8a47 | 2021-04-29 13:29:02 +0200 | [diff] [blame] | 13 | ONAP PaaS set-up |
| 14 | ################ |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 15 | |
| 16 | Starting from Honolulu release, Cert-Manager and Prometheus Stack are a part |
Piotr Marcinkiewicz | 2ca8a47 | 2021-04-29 13:29:02 +0200 | [diff] [blame] | 17 | of k8s PaaS for ONAP operations and can be installed to provide |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 18 | additional functionality for ONAP engineers. |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame^] | 19 | Starting from Jakarta release, Strimzi Apache Kafka is deployed to provide |
| 20 | Apache kafka as the default messaging bus for ONAP. |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 21 | |
guillaume.lambert | b90e8fc | 2021-09-26 21:28:50 +0200 | [diff] [blame] | 22 | The versions of PaaS components that are supported by OOM are as follows: |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 23 | |
| 24 | .. table:: ONAP PaaS components |
| 25 | |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame^] | 26 | ============== ============= ================= ======= |
| 27 | Release Cert-Manager Prometheus Stack Strimzi |
| 28 | ============== ============= ================= ======= |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 29 | honolulu 1.2.0 13.x |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 30 | istanbul 1.5.4 19.x |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame^] | 31 | jakarta 0.28.0 |
| 32 | ============== ============= ================= ======= |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 33 | |
Sylwia Jakubek | 76f90e8 | 2021-04-14 09:51:30 +0000 | [diff] [blame] | 34 | This guide provides instructions on how to install the PaaS |
| 35 | components for ONAP. |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 36 | |
Sylwia Jakubek | 76f90e8 | 2021-04-14 09:51:30 +0000 | [diff] [blame] | 37 | .. contents:: |
| 38 | :depth: 1 |
| 39 | :local: |
| 40 | .. |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 41 | |
efiacor | 5c57331 | 2022-01-27 13:46:56 +0000 | [diff] [blame^] | 42 | Strimzi Apache Kafka Operator |
| 43 | ============================= |
| 44 | |
| 45 | Strimzi provides a way to run an Apache Kafka cluster on Kubernetes |
| 46 | in various deployment configurations by using kubernetes operators. |
| 47 | Operators are a method of packaging, deploying, and managing a |
| 48 | Kubernetes application. |
| 49 | Strimzi Operators extend Kubernetes functionality, automating common |
| 50 | and complex tasks related to a Kafka deployment. By implementing |
| 51 | knowledge of Kafka operations in code, Kafka administration |
| 52 | tasks are simplified and require less manual intervention. |
| 53 | |
| 54 | Installation steps |
| 55 | ------------------ |
| 56 | |
| 57 | The recommended version of Strimzi for Kubernetes 1.19 is v0.28.0. |
| 58 | The Strimzi cluster operator is deployed using helm to install the parent chart |
| 59 | containing all of the required custom resource definitions. This should be done |
| 60 | by a kubernetes administrator to allow for deployment of custom resources in to |
| 61 | any kubernetes namespace within the cluster. |
| 62 | |
| 63 | Full installation instructions can be found in the |
| 64 | `Strimzi Apache Kafka Operator helm Installation documentation`_. |
| 65 | |
| 66 | Installation can be as simple as: |
| 67 | |
| 68 | - Add the helm repo:: |
| 69 | |
| 70 | > helm repo add strimzi https://strimzi.io/charts/ |
| 71 | |
| 72 | - Install the operator:: |
| 73 | |
| 74 | > helm install strimzi-kafka-operator strimzi/strimzi-kafka-operator --namespace strimzi-system --version 0.28.0 --set watchAnyNamespace=true --create-namespace |
| 75 | |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 76 | Cert-Manager |
| 77 | ============ |
| 78 | |
| 79 | Cert-Manager is a native Kubernetes certificate management controller. |
| 80 | It can help with issuing certificates from a variety of sources, such as |
| 81 | Let’s Encrypt, HashiCorp Vault, Venafi, a simple signing key pair, self |
| 82 | signed or external issuers. It ensures certificates are valid and up to |
| 83 | date, and attempt to renew certificates at a configured time before expiry. |
| 84 | |
| 85 | Installation steps |
| 86 | ------------------ |
| 87 | |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 88 | The recommended version of Cert-Manager for Kubernetes 1.19 is v1.5.4. |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 89 | Cert-Manager is deployed using regular YAML manifests which include all |
| 90 | the needed resources (the CustomResourceDefinitions, cert-manager, |
| 91 | namespace, and the webhook component). |
| 92 | |
| 93 | Full installation instructions, including details on how to configure extra |
| 94 | functionality in Cert-Manager can be found in the |
| 95 | `Cert-Manager Installation documentation`_. |
| 96 | |
| 97 | There is also a kubectl plugin (kubectl cert-manager) that can help you |
| 98 | to manage cert-manager resources inside your cluster. For installation |
| 99 | steps, please refer to `Cert-Manager kubectl plugin documentation`_. |
| 100 | |
| 101 | Installation can be as simple as:: |
| 102 | |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 103 | > kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 104 | |
Piotr Marcinkiewicz | 2ca8a47 | 2021-04-29 13:29:02 +0200 | [diff] [blame] | 105 | Prometheus Stack (optional) |
| 106 | =========================== |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 107 | |
| 108 | Prometheus is an open-source systems monitoring and alerting toolkit with |
| 109 | an active ecosystem. |
| 110 | |
| 111 | Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana |
| 112 | dashboards, and Prometheus rules combined with documentation and scripts to |
| 113 | provide easy to operate end-to-end Kubernetes cluster monitoring with |
| 114 | Prometheus using the Prometheus Operator. As it includes both Prometheus |
| 115 | Operator and Grafana dashboards, there is no need to set up them separately. |
| 116 | |
| 117 | Installation steps |
| 118 | ------------------ |
| 119 | |
| 120 | The recommended version of kube-prometheus-stack chart for |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 121 | Kubernetes 1.19 is 19.x (which is currently the latest major chart version), |
| 122 | for example 19.0.2. |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 123 | |
| 124 | In order to install Prometheus Stack, you must follow these steps: |
| 125 | |
| 126 | - Create the namespace for Prometheus Stack:: |
| 127 | |
| 128 | > kubectl create namespace prometheus |
| 129 | |
| 130 | - Add the prometheus-community Helm repository:: |
| 131 | |
| 132 | > helm repo add prometheus-community https://prometheus-community.github.io/helm-charts |
| 133 | |
| 134 | - Update your local Helm chart repository cache:: |
| 135 | |
| 136 | > helm repo update |
| 137 | |
| 138 | - To install the kube-prometheus-stack Helm chart in latest version:: |
| 139 | |
| 140 | > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus |
| 141 | |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 142 | To install the kube-prometheus-stack Helm chart in specific version, for example 19.0.2:: |
Sylwia Jakubek | 9404e77 | 2021-03-05 07:07:59 +0000 | [diff] [blame] | 143 | |
Sylvain Desbureaux | c47ce73 | 2021-10-12 15:15:10 +0200 | [diff] [blame] | 144 | > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=19.0.2 |