[SDC] Update SDC docker versions to 1.10.1
[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
10 .. _oom_setup_paas:
11
12 ONAP PaaS set-up
13 ################
14
15 Starting from Honolulu release, Cert-Manager and Prometheus Stack are a part
16 of k8s PaaS for ONAP operations and can be installed to provide
17 additional functionality for ONAP engineers.
18
19 The versions of PaaS components that are supported by OOM are as follows:
20
21 .. table:: ONAP PaaS components
22
23   ==============     =============  =================
24   Release            Cert-Manager   Prometheus Stack
25   ==============     =============  =================
26   honolulu           1.2.0          13.x
27   istanbul           1.5.4          19.x
28   ==============     =============  =================
29
30 This guide provides instructions on how to install the PaaS
31 components for ONAP.
32
33 .. contents::
34    :depth: 1
35    :local:
36 ..
37
38 Cert-Manager
39 ============
40
41 Cert-Manager is a native Kubernetes certificate management controller.
42 It can help with issuing certificates from a variety of sources, such as
43 Let’s Encrypt, HashiCorp Vault, Venafi, a simple signing key pair, self
44 signed or external issuers. It ensures certificates are valid and up to
45 date, and attempt to renew certificates at a configured time before expiry.
46
47 Installation steps
48 ------------------
49
50 The recommended version of Cert-Manager for Kubernetes 1.19 is v1.5.4.
51 Cert-Manager is deployed using regular YAML manifests which include all
52 the needed resources (the CustomResourceDefinitions, cert-manager,
53 namespace, and the webhook component).
54
55 Full installation instructions, including details on how to configure extra
56 functionality in Cert-Manager can be found in the
57 `Cert-Manager Installation documentation`_.
58
59 There is also a kubectl plugin (kubectl cert-manager) that can help you
60 to manage cert-manager resources inside your cluster. For installation
61 steps, please refer to `Cert-Manager kubectl plugin documentation`_.
62
63 Installation can be as simple as::
64
65   > kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
66
67 Prometheus Stack (optional)
68 ===========================
69
70 Prometheus is an open-source systems monitoring and alerting toolkit with
71 an active ecosystem.
72
73 Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana
74 dashboards, and Prometheus rules combined with documentation and scripts to
75 provide easy to operate end-to-end Kubernetes cluster monitoring with
76 Prometheus using the Prometheus Operator. As it includes both Prometheus
77 Operator and Grafana dashboards, there is no need to set up them separately.
78
79 Installation steps
80 ------------------
81
82 The recommended version of kube-prometheus-stack chart for
83 Kubernetes 1.19 is 19.x (which is currently the latest major chart version),
84 for example 19.0.2.
85
86 In order to install Prometheus Stack, you must follow these steps:
87
88 - Create the namespace for Prometheus Stack::
89
90     > kubectl create namespace prometheus
91
92 - Add the prometheus-community Helm repository::
93
94     > helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
95
96 - Update your local Helm chart repository cache::
97
98     > helm repo update
99
100 - To install the kube-prometheus-stack Helm chart in latest version::
101
102     > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus
103
104   To install the kube-prometheus-stack Helm chart in specific version, for example 19.0.2::
105
106     > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --version=19.0.2