blob: 2dabcb1aeadfd3a8cbb23dd2871e2f3c793ca52e [file] [log] [blame]
Sylwia Jakubek9404e772021-03-05 07:07:59 +00001.. 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/
efiacor5c573312022-01-27 13:46:56 +00009.. _Strimzi Apache Kafka Operator helm Installation documentation: https://strimzi.io/docs/operators/in-development/deploying.html#deploying-cluster-operator-helm-chart-str
Sylwia Jakubek9404e772021-03-05 07:07:59 +000010
11.. _oom_setup_paas:
12
Piotr Marcinkiewicz2ca8a472021-04-29 13:29:02 +020013ONAP PaaS set-up
14################
Sylwia Jakubek9404e772021-03-05 07:07:59 +000015
16Starting from Honolulu release, Cert-Manager and Prometheus Stack are a part
Piotr Marcinkiewicz2ca8a472021-04-29 13:29:02 +020017of k8s PaaS for ONAP operations and can be installed to provide
Sylwia Jakubek9404e772021-03-05 07:07:59 +000018additional functionality for ONAP engineers.
efiacor5c573312022-01-27 13:46:56 +000019Starting from Jakarta release, Strimzi Apache Kafka is deployed to provide
20Apache kafka as the default messaging bus for ONAP.
Sylwia Jakubek9404e772021-03-05 07:07:59 +000021
guillaume.lambertb90e8fc2021-09-26 21:28:50 +020022The versions of PaaS components that are supported by OOM are as follows:
Sylwia Jakubek9404e772021-03-05 07:07:59 +000023
24.. table:: ONAP PaaS components
25
efiacor5c573312022-01-27 13:46:56 +000026 ============== ============= ================= =======
27 Release Cert-Manager Prometheus Stack Strimzi
28 ============== ============= ================= =======
Sylwia Jakubek9404e772021-03-05 07:07:59 +000029 honolulu 1.2.0 13.x
Sylvain Desbureauxc47ce732021-10-12 15:15:10 +020030 istanbul 1.5.4 19.x
efiacor5c573312022-01-27 13:46:56 +000031 jakarta 0.28.0
32 ============== ============= ================= =======
Sylwia Jakubek9404e772021-03-05 07:07:59 +000033
Sylwia Jakubek76f90e82021-04-14 09:51:30 +000034This guide provides instructions on how to install the PaaS
35components for ONAP.
Sylwia Jakubek9404e772021-03-05 07:07:59 +000036
Sylwia Jakubek76f90e82021-04-14 09:51:30 +000037.. contents::
38 :depth: 1
39 :local:
40..
Sylwia Jakubek9404e772021-03-05 07:07:59 +000041
efiacor5c573312022-01-27 13:46:56 +000042Strimzi Apache Kafka Operator
43=============================
44
45Strimzi provides a way to run an Apache Kafka cluster on Kubernetes
46in various deployment configurations by using kubernetes operators.
47Operators are a method of packaging, deploying, and managing a
48Kubernetes application.
49Strimzi Operators extend Kubernetes functionality, automating common
50and complex tasks related to a Kafka deployment. By implementing
51knowledge of Kafka operations in code, Kafka administration
52tasks are simplified and require less manual intervention.
53
54Installation steps
55------------------
56
57The recommended version of Strimzi for Kubernetes 1.19 is v0.28.0.
58The Strimzi cluster operator is deployed using helm to install the parent chart
59containing all of the required custom resource definitions. This should be done
60by a kubernetes administrator to allow for deployment of custom resources in to
61any kubernetes namespace within the cluster.
62
63Full installation instructions can be found in the
64`Strimzi Apache Kafka Operator helm Installation documentation`_.
65
66Installation 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 Jakubek9404e772021-03-05 07:07:59 +000076Cert-Manager
77============
78
79Cert-Manager is a native Kubernetes certificate management controller.
80It can help with issuing certificates from a variety of sources, such as
81Lets Encrypt, HashiCorp Vault, Venafi, a simple signing key pair, self
82signed or external issuers. It ensures certificates are valid and up to
83date, and attempt to renew certificates at a configured time before expiry.
84
85Installation steps
86------------------
87
Sylvain Desbureauxc47ce732021-10-12 15:15:10 +020088The recommended version of Cert-Manager for Kubernetes 1.19 is v1.5.4.
Sylwia Jakubek9404e772021-03-05 07:07:59 +000089Cert-Manager is deployed using regular YAML manifests which include all
90the needed resources (the CustomResourceDefinitions, cert-manager,
91namespace, and the webhook component).
92
93Full installation instructions, including details on how to configure extra
94functionality in Cert-Manager can be found in the
95`Cert-Manager Installation documentation`_.
96
97There is also a kubectl plugin (kubectl cert-manager) that can help you
98to manage cert-manager resources inside your cluster. For installation
99steps, please refer to `Cert-Manager kubectl plugin documentation`_.
100
101Installation can be as simple as::
102
Sylvain Desbureauxc47ce732021-10-12 15:15:10 +0200103 > kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
Sylwia Jakubek9404e772021-03-05 07:07:59 +0000104
Piotr Marcinkiewicz2ca8a472021-04-29 13:29:02 +0200105Prometheus Stack (optional)
106===========================
Sylwia Jakubek9404e772021-03-05 07:07:59 +0000107
108Prometheus is an open-source systems monitoring and alerting toolkit with
109an active ecosystem.
110
111Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana
112dashboards, and Prometheus rules combined with documentation and scripts to
113provide easy to operate end-to-end Kubernetes cluster monitoring with
114Prometheus using the Prometheus Operator. As it includes both Prometheus
115Operator and Grafana dashboards, there is no need to set up them separately.
116
117Installation steps
118------------------
119
120The recommended version of kube-prometheus-stack chart for
Sylvain Desbureauxc47ce732021-10-12 15:15:10 +0200121Kubernetes 1.19 is 19.x (which is currently the latest major chart version),
122for example 19.0.2.
Sylwia Jakubek9404e772021-03-05 07:07:59 +0000123
124In 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 Desbureauxc47ce732021-10-12 15:15:10 +0200142 To install the kube-prometheus-stack Helm chart in specific version, for example 19.0.2::
Sylwia Jakubek9404e772021-03-05 07:07:59 +0000143
Sylvain Desbureauxc47ce732021-10-12 15:15:10 +0200144 > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=19.0.2