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/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 .. _K8ssandra setup guide: https://docs.k8ssandra.io/install/
13 .. _Mariadb-Operator setup guide: https://github.com/mariadb-operator/mariadb-operator
14 .. _Postgres-Operator setup guide: https://github.com/CrunchyData/postgres-operator
16 .. _oom_base_optional_addons:
21 The following optional applications can be added to your kubernetes
24 Install Prometheus Stack
25 ------------------------
27 Prometheus is an open-source systems monitoring and alerting toolkit with
30 Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana
31 dashboards, and Prometheus rules combined with documentation and scripts to
32 provide easy to operate end-to-end Kubernetes cluster monitoring with
33 Prometheus using the Prometheus Operator. As it includes both Prometheus
34 Operator and Grafana dashboards, there is no need to set up them separately.
35 See the `Prometheus stack README`_ for more information.
37 To install the prometheus stack, execute the following:
39 - Add the prometheus-community Helm repository::
41 > helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
43 - Update your local Helm chart repository cache::
47 - To install prometheus, execute the following, replacing the <recommended-pm-version> with the version defined in the :ref:`versions_table` table::
49 > helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --create-namespace --version=<recommended-pm-version>
55 Kiali is used to visualize the Network traffic in a ServiceMesh enabled cluster
56 For setup the kiali operator is used, see `Kiali setup guide`_
58 - Install kiali-operator namespace::
60 > kubectl create namespace kiali-operator
62 > kubectl label namespace kiali-operator istio-injection=enabled
64 - Install the kiali-operator::
66 > helm repo add kiali https://kiali.org/helm-charts
68 > helm repo update kiali
70 > helm install --namespace kiali-operator kiali/kiali-operator
72 - Create Kiali CR file (e.g. kiali.yaml)
74 .. collapse:: kiali.yaml
76 .. include:: ../../resources/yaml/kiali.yaml
81 > kubectl apply -f kiali.yaml
83 - Create Ingress gateway entry for the kiali web interface
84 using the configured Ingress <base-url> (here "simpledemo.onap.org")
85 as described in :ref:`oom_customize_overrides`
87 .. collapse:: kiali-ingress.yaml
89 .. include:: ../../resources/yaml/kiali-ingress.yaml
92 - Add the Ingress entry for Kiali::
94 > kubectl -n istio-system apply -f kiali-ingress.yaml
102 K8ssandra-Operator Installation
103 -------------------------------
105 K8ssandra-Operator is used to ease the installation and lifecycle management
106 Cassandra clusters, including monitoring and backup
108 For setup the K8ssandra operator is used, see `K8ssandra setup guide`_
110 - Install k8ssandra-operator namespace::
112 > kubectl create namespace k8ssandra-operator
114 > kubectl label namespace k8ssandra-operator istio-injection=enabled
116 - Install the k8ssandra-operator replacing the <recommended-version> with the version defined in the :ref:`versions_table` table::
118 > helm repo add k8ssandra https://helm.k8ssandra.io/stable
120 > helm repo update k8ssandra
122 > helm install k8ssandra-operator --namespace k8ssandra-operator
123 k8ssandra/k8ssandra-operator --set global.clusterScoped=true
124 --version=<recommended-version>
126 Mariadb-Operator Installation
127 -----------------------------
129 Mariadb-Operator is used to ease the installation and lifecycle management of
130 MariaDB Galera and Replication clusters, including monitoring and backup
132 For setup the Mariadb-Operator is used, see `Mariadb-Operator setup guide`_
134 - Install mariadb-operator namespace::
136 > kubectl create namespace mariadb-operator
138 > kubectl label namespace mariadb-operator istio-injection=enabled
140 - Install the mariadb-operator replacing the <recommended-version> with the version defined in the :ref:`versions_table` table::::
142 > helm repo add mariadb-operator https://mariadb-operator.github.io/mariadb-operator
144 > helm repo update mariadb-operator
146 > helm install mariadb-operator --namespace mariadb-operator
147 mariadb-operator/mariadb-operator --set ha.enabled=true
148 --set metrics.enabled=true --set webhook.certificate.certManager=true
149 --version=<recommended-version>
151 Postgres-Operator Installation
152 ------------------------------
154 Postgres-Operator is used to ease the installation and lifecycle management of
155 Postgres DB clusters, including monitoring and backup
157 For setup the Postgres-Operator is used, see `Postgres-Operator setup guide`_
162 KServe is a standard Model Inference Platform on Kubernetes. It supports
163 RawDeployment mode to enable InferenceService deployment with Kubernetes
164 resources. Comparing to serverless deployment it unlocks Knative limitations
165 such as mounting multiple volumes, on the other hand Scale down and from Zero
166 is not supported in RawDeployment mode.
168 This installation is necessary for the ML models to be deployed as inference
169 service. Once deployed, the inference services can be queried for the
172 **Kserve participant component in Policy ACM requires this installation. Kserve participant deploy/undeploy inference services in Kserve.**
174 Dependent component version compatibility details and installation instructions
175 can be found at `Kserve setup guide`_
177 Kserve installation requires the following components:
179 - Istio. Its installation instructions can be found at :ref:`oom_base_optional_addons_istio_installation`
181 - Cert-Manager. Its installation instructions can be found at :ref:`oom_base_setup_cert_manager`
183 Installation instructions as follows,
185 - Create kserve namespace::
187 > kubectl create namespace kserve
191 > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve.yaml
193 - Install Kserve default serving runtimes::
195 > kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve-runtimes.yaml
197 - Patch ConfigMap inferenceservice-config as follows::
199 > kubectl patch configmap/inferenceservice-config -n kserve --type=strategic -p '{"data": {"deploy": "{\"defaultDeploymentMode\": \"RawDeployment\"}"}}'