OOM Optional Addons
The following optional applications can be added to your kubernetes environment.
Install Prometheus Stack
Prometheus is an open-source systems monitoring and alerting toolkit with an active ecosystem.
Kube Prometheus Stack is a collection of Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator. As it includes both Prometheus Operator and Grafana dashboards, there is no need to set up them separately. See the Prometheus stack README for more information.
To install the prometheus stack, execute the following:
Add the prometheus-community Helm repository:
> helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
Update your local Helm chart repository cache:
> helm repo update
To install prometheus, execute the following, replacing the <recommended-pm-version> with the version defined in the OOM Software Requirements (base) table:
> helm install prometheus prometheus-community/kube-prometheus-stack --namespace=prometheus --create-namespace --version=<recommended-pm-version>
Kiali Installation
Kiali is used to visualize the Network traffic in a ServiceMesh enabled cluster For setup the kiali operator is used, see Kiali setup guide
Install kiali-operator namespace:
> kubectl create namespace kiali-operator > kubectl label namespace kiali-operator istio-injection=enabled
Install the kiali-operator:
> helm repo add kiali https://kiali.org/helm-charts > helm repo update kiali > helm install --namespace kiali-operator kiali/kiali-operator
Create Kiali CR file (e.g. kiali.yaml)
kiali.yaml
apiVersion: kiali.io/v1alpha1 kind: Kiali metadata: name: kiali namespace: istio-system annotations: ansible.operator-sdk/verbosity: "1" spec: auth: strategy: anonymous istio_component_namespaces: prometheus: monitoring external_services: grafana: in_cluster_url: http://prometheus-stack-grafana.monitoring prometheus: url: http://prometheus-stack-kube-prom-prometheus.monitoring:9090 tracing: in_cluster_url: http://istio-query.observability:16686 deployment: accessible_namespaces: ["**"] view_only_mode: false server: web_root: "/kiali"
Install kiali:
> kubectl apply -f kiali.yaml
Create Ingress gateway entry for the kiali web interface using the configured Ingress <base-url> (here “simpledemo.onap.org”) as described in OOM Custom Overrides
kiali-ingress.yaml
apiVersion: networking.istio.io/v1beta1 kind: Gateway metadata: name: kiali-gateway spec: selector: istio: ingressgateway servers: - hosts: - kiali.simpledemo.onap.org port: name: http number: 80 protocol: HTTP --- apiVersion: networking.istio.io/v1beta1 kind: VirtualService metadata: name: kiali-service spec: hosts: - kiali.simpledemo.onap.org gateways: - kiali-gateway http: - route: - destination: port: number: 20001 host: kiali
Add the Ingress entry for Kiali:
> kubectl -n istio-system apply -f kiali-ingress.yaml
Jaeger Installation
To be done…
K8ssandra-Operator Installation
To be done…
Kserve Installation
KServe is a standard Model Inference Platform on Kubernetes. It supports RawDeployment mode to enable InferenceService deployment with Kubernetes resources. Comparing to serverless deployment it unlocks Knative limitations such as mounting multiple volumes, on the other hand Scale down and from Zero is not supported in RawDeployment mode.
This installation is necessary for the ML models to be deployed as inference service. Once deployed, the inference services can be queried for the prediction.
Kserve participant component in Policy ACM requires this installation. Kserve participant deploy/undeploy inference services in Kserve.
Dependent component version compatibility details and installation instructions can be found at Kserve setup guide
Kserve installation requires the following components:
Istio. Its installation instructions can be found at Istio Platform Installation
Cert-Manager. Its installation instructions can be found at Install Cert-Manager
Installation instructions as follows,
Create kserve namespace:
> kubectl create namespace kserve
Install Kserve:
> kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve.yaml
Install Kserve default serving runtimes:
> kubectl apply -f https://github.com/kserve/kserve/releases/download/v<recommended-kserve-version>/kserve-runtimes.yaml
Patch ConfigMap inferenceservice-config as follows:
> kubectl patch configmap/inferenceservice-config -n kserve --type=strategic -p '{"data": {"deploy": "{\"defaultDeploymentMode\": \"RawDeployment\"}"}}'