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
7 .. _Prometheus stack README: https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#readme
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/
13 .. _oom_base_optional_addons:
18 The following optional applications can be added to your kubernetes
21 Install Prometheus Stack
22 ------------------------
24 Prometheus is an open-source systems monitoring and alerting toolkit with
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.
34 To install the prometheus stack, execute the following:
36 - Add the prometheus-community Helm repository::
38 > helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
40 - Update your local Helm chart repository cache::
44 - To install prometheus, execute the following, replacing the <recommended-pm-version> with the version defined in the :ref:`versions_table` table::
46 > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --create-namespace --version=<recommended-pm-version>
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`_
55 - Install kiali-operator namespace::
57 > kubectl create namespace kiali-operator
59 > kubectl label namespace kiali-operator istio-injection=enabled
61 - Install the kiali-operator::
63 > helm repo add kiali https://kiali.org/helm-charts
65 > helm repo update kiali
67 > helm install --namespace kiali-operator kiali/kiali-operator
69 - Create Kiali CR file (e.g. kiali.yaml)
71 .. collapse:: kiali.yaml
73 .. include:: ../../resources/yaml/kiali.yaml
78 > kubectl apply -f kiali.yaml
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`
84 .. collapse:: kiali-ingress.yaml
86 .. include:: ../../resources/yaml/kiali-ingress.yaml
89 - Add the Ingress entry for Kiali::
91 > kubectl -n istio-system apply -f kiali-ingress.yaml
99 K8ssandra-Operator Installation
100 -------------------------------
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.
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
117 **Kserve participant component in Policy ACM requires this installation. Kserve participant deploy/undeploy inference services in Kserve.**
119 Dependent component version compatibility details and installation instructions
120 can be found at `Kserve setup guide`_
122 Kserve installation requires the following components:
124 - Istio. Its installation instructions can be found at :ref:`oom_base_optional_addons_istio_installation`
126 - Cert-Manager. Its installation instructions can be found at :ref:`oom_base_setup_cert_manager`
128 Installation instructions as follows,
130 - Create kserve namespace::
132 > kubectl create namespace kserve
136 > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve.yaml
138 - Install Kserve default serving runtimes::
140 > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve-runtimes.yaml
142 - Patch ConfigMap inferenceservice-config as follows::
144 > kubectl patch configmap/inferenceservice-config -n kserve --type=strategic -p '{"data": {"deploy": "{\"defaultDeploymentMode\": \"RawDeployment\"}"}}'