ad1104e569fb7d62218a87b89de5fd74d0546714
[oom.git] / docs / sections / guides / infra_guides / oom_infra_optional_addons.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 (C) 2022 Nordix Foundation
5
6 .. Links
7 .. _Prometheus stack README: https://github.com/prometheus-community/helm-charts/blob/main/charts/kube-prometheus-stack/README.md
8 .. _ONAP Next Generation Security & Logging Structure: https://wiki.onap.org/pages/viewpage.action?pageId=103417456
9 .. _Istio setup guide: https://istio.io/latest/docs/setup/install/helm/
10 .. _Kiali setup guide: https://kiali.io/docs/installation/installation-guide/example-install/
11 .. _Kserve setup guide: https://kserve.github.io/website/0.10/admin/kubernetes_deployment/
12
13 .. _oom_base_optional_addons:
14
15 OOM Optional Addons
16 ===================
17
18 The following optional applications can be added to your kubernetes
19 environment.
20
21 Install Prometheus Stack
22 ------------------------
23
24 Prometheus is an open-source systems monitoring and alerting toolkit with
25 an active ecosystem.
26
27 Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana
28 dashboards, and Prometheus rules combined with documentation and scripts to
29 provide easy to operate end-to-end Kubernetes cluster monitoring with
30 Prometheus using the Prometheus Operator. As it includes both Prometheus
31 Operator and Grafana dashboards, there is no need to set up them separately.
32 See the `Prometheus stack README`_ for more information.
33
34 To install the prometheus stack, execute the following:
35
36 - Add the prometheus-community Helm repository::
37
38     > helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
39
40 - Update your local Helm chart repository cache::
41
42     > helm repo update
43
44 - To install prometheus, execute the following, replacing the <recommended-pm-version> with the version defined in the :ref:`versions_table` table::
45
46     > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --create-namespace --version=<recommended-pm-version>
47
48
49 Kiali Installation
50 ------------------
51
52 Kiali is used to visualize the Network traffic in a ServiceMesh enabled cluster
53 For setup the kiali operator is used, see `Kiali setup guide`_
54
55 - Install kiali-operator namespace::
56
57     > kubectl create namespace kiali-operator
58
59     > kubectl label namespace kiali-operator istio-injection=enabled
60
61 - Install the kiali-operator::
62
63     > helm repo add kiali https://kiali.org/helm-charts
64
65     > helm repo update kiali
66
67     > helm install --namespace kiali-operator kiali/kiali-operator
68
69 - Create Kiali CR file (e.g. kiali.yaml)
70
71     .. collapse:: kiali.yaml
72
73       .. include:: ../../resources/yaml/kiali.yaml
74          :code: yaml
75
76 - Install kiali::
77
78     > kubectl apply -f kiali.yaml
79
80 - Create Ingress gateway entry for the kiali web interface
81   using the configured Ingress <base-url> (here "simpledemo.onap.org")
82   as described in :ref:`oom_customize_overrides`
83
84     .. collapse:: kiali-ingress.yaml
85
86       .. include:: ../../resources/yaml/kiali-ingress.yaml
87          :code: yaml
88
89 - Add the Ingress entry for Kiali::
90
91     > kubectl -n istio-system apply -f kiali-ingress.yaml
92
93
94 Jaeger Installation
95 -------------------
96
97 To be done...
98
99 K8ssandra-Operator Installation
100 -------------------------------
101
102 To be done...
103
104 Kserve Installation
105 -------------------
106
107 KServe is a standard Model Inference Platform on Kubernetes. It supports
108 RawDeployment mode to enable InferenceService deployment with Kubernetes
109 resources. Comparing to serverless deployment it unlocks Knative limitations
110 such as mounting multiple volumes, on the other hand Scale down and from Zero
111 is not supported in RawDeployment mode.
112
113 This installation is necessary for the ML models to be deployed as inference
114 service. Once deployed, the inference services can be queried for the
115 prediction.
116
117 **Kserve participant component in Policy ACM requires this installation. Kserve participant deploy/undeploy inference services in Kserve.**
118
119 Dependent component version compatibility details and installation instructions
120 can be found at `Kserve setup guide`_
121
122 Kserve installation requires the following components:
123
124 -  Istio. Its installation instructions can be found at :ref:`oom_base_optional_addons_istio_installation`
125
126 -  Cert-Manager. Its installation instructions can be found at :ref:`oom_base_setup_cert_manager`
127
128 Installation instructions as follows,
129
130 - Create kserve namespace::
131
132     > kubectl create namespace kserve
133
134 - Install Kserve::
135
136     > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve.yaml
137
138 - Install Kserve default serving runtimes::
139
140     > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve-runtimes.yaml
141
142 - Patch ConfigMap inferenceservice-config as follows::
143
144     > kubectl patch configmap/inferenceservice-config -n kserve --type=strategic -p '{"data": {"deploy": "{\"defaultDeploymentMode\": \"RawDeployment\"}"}}'