[SDC] Update SDC docker images to 1.11.8
[oom.git] / docs / oom_setup_paas.rst
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/
9 .. _Strimzi Apache Kafka Operator helm Installation documentation: https://strimzi.io/docs/operators/in-development/deploying.html#deploying-cluster-operator-helm-chart-str
10
11 .. _oom_setup_paas:
12
13 ONAP PaaS set-up
14 ################
15
16 Starting from Honolulu release, Cert-Manager and Prometheus Stack are a part
17 of k8s PaaS for ONAP operations and can be installed to provide
18 additional functionality for ONAP engineers.
19 Starting from Jakarta release, Strimzi Apache Kafka is deployed to provide
20 Apache kafka as the default messaging bus for ONAP.
21
22 The versions of PaaS components that are supported by OOM are as follows:
23
24 .. table:: ONAP PaaS components
25
26   ==============     =============  =================  =======
27   Release            Cert-Manager   Prometheus Stack   Strimzi
28   ==============     =============  =================  =======
29   honolulu           1.2.0          13.x
30   istanbul           1.5.4          19.x
31   jakarta                                              0.28.0
32   ==============     =============  =================  =======
33
34 This guide provides instructions on how to install the PaaS
35 components for ONAP.
36
37 .. contents::
38    :depth: 1
39    :local:
40 ..
41
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
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
88 The recommended version of Cert-Manager for Kubernetes 1.19 is v1.5.4.
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
103   > kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
104
105 Prometheus Stack (optional)
106 ===========================
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
121 Kubernetes 1.19 is 19.x (which is currently the latest major chart version),
122 for example 19.0.2.
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
142   To install the kube-prometheus-stack Helm chart in specific version, for example 19.0.2::
143
144     > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=19.0.2