diff --git a/_topic_map.yml b/_topic_map.yml index 7de9136e85..677c0d2b35 100644 --- a/_topic_map.yml +++ b/_topic_map.yml @@ -785,7 +785,7 @@ Topics: - Name: Exposing custom application metrics for autoscaling File: exposing-custom-application-metrics-for-autoscaling --- -Name: Metering +Name: Metering Dir: metering Distros: openshift-enterprise,openshift-origin Topics: @@ -865,6 +865,8 @@ Topics: Topics: - Name: Understanding service mesh File: understanding-ossm +# - Name: Understanding Kiali +# File: ossm-kiali - Name: Preparing to install service mesh File: preparing-ossm-installation - Name: Installing service mesh diff --git a/modules/ossm-kiali-architecture.adoc b/modules/ossm-kiali-architecture.adoc new file mode 100644 index 0000000000..486bb867cf --- /dev/null +++ b/modules/ossm-kiali-architecture.adoc @@ -0,0 +1,25 @@ +//// +This CONCEPT module included in the following assemblies: +-ossm-kiali.adoc +//// + +[id="ossm-kiali-architecture_{context}"] += Kiali architecture + +Kiali is composed of two components: the Kiali application and the Kiali console. + +* *Kiali application* (back end) – This component runs in the container application platform and communicates with the service mesh components, retrieves and processes data, and exposes this data to the console. The Kiali application does not need storage. When deploying the application to a cluster, configurations are set in ConfigMaps and secrets. + +* *Kiali console* (front end) – The Kiali console is a web application. The Kiali application serves the Kiali console, which then queries the back end for data in order to present it to the user. + +In addition, Kiali depends on external services and components provided by the container application platform and Istio. + +* *Red Hat Service Mesh* (Istio) - Istio is a Kiali requirement. Istio is the component that provides and controls the service mesh. Although Kiali and Istio can be installed separately, Kiali depends on Istio and will not work if it is not present. Kiali needs to retrieve Istio data and configurations, which are exposed through Prometheus and the cluster API. + +* *Prometheus* - A dedicated Prometheus instance is included as part of the {ProductName} installation. When Istio telemetry is enabled, metrics data is stored in Prometheus. Kiali uses this Prometheus data to determine the mesh topology, display metrics, calculate health, show possible problems, and so on. Kiali communicates directly with Prometheus and assumes the data schema used by Istio Telemetery. Prometheus is an Istio dependency and a hard dependency for Kiali, and many of Kiali’s features will not work without Prometheus. + +* *Cluster API* - Kiali uses the API of the {product-title} (cluster API) in order to fetch and resolve service mesh configurations. Kiali queries the cluster API to retrieve, for example, definitions for namespaces, services, deployments, pods, and other entities. Kiali also makes queries to resolve relationships between the different cluster entities. The cluster API is also queried to retrieve Istio configurations like virtual services, destination rules, route rules, gateways, quotas, and so on. + +* *Jaeger* - Jaeger is optional, but is installed by default as part of the {ProductName} installation. When you install Jaeger as part of the default {ProductName} installation, the Kiali console includes a tab to display Jaeger’s tracing data. Note that tracing data will not be available if you disable Istio’s distributed tracing feature. Also note that user must have access to the namespace where the control plane is installed in order to view Jaeger data. + +* *Grafana* - Grafana is optional, but is installed by default as part of the {ProductName} installation. When available, the metrics pages of Kiali display links to direct the user to the same metric in Grafana. Note that user must have access to the namespace where the control plane is installed in order to view links to the Grafana dashboard and view Grafana data. diff --git a/modules/ossm-kiali-features.adoc b/modules/ossm-kiali-features.adoc new file mode 100644 index 0000000000..b806693e49 --- /dev/null +++ b/modules/ossm-kiali-features.adoc @@ -0,0 +1,23 @@ +//// +This CONCEPT module included in the following assemblies: +-ossm-kiali.adoc +//// + +[id="ossm-kiali-features_{context}"] += Kiali features +//In the title include nouns or noun phrases that are used in the body text. +//Do not start the title of concept modules with a verb.. + +The Kiali console is integrated with Red Hat Service Mesh and provides the following capabilities: + +* *Health* – Quickly identify issues with applications, services, or workloads. + +* *Topology* – Visualize how your applications, services, or workloads communicate via the Kiali graph. + +* *Metrics* – Predefined metrics dashboards let you chart service mesh and application performance for Go, Node.js. Quarkus, Spring Boot, Thorntail and Vert.x. You can also create your own custom dashboards. + +* *Tracing* – Integration with Jaeger lets you follow the path of a request through various microservices that make up an application. + +* *Validations* – Perform advanced validations on the most common Istio objects (Destination Rules, Service Entries, Virtual Services, and so on). + +* *Configuration* – Optional ability to create, update and delete Istio routing configuration using wizards or directly in the YAML editor in the Kiali Console. diff --git a/modules/ossm-kiali-overview.adoc b/modules/ossm-kiali-overview.adoc new file mode 100644 index 0000000000..2b77a89ba2 --- /dev/null +++ b/modules/ossm-kiali-overview.adoc @@ -0,0 +1,13 @@ +//// +This CONCEPT module included in the following assemblies: +-ossm-kiali.adoc +//// + +[id="ossm-kiali-overview_{context}"] += Kiali overview + +Kiali provides observability into the {ProductShortName} running on {product-title}. Kiali helps you define, validate, and observe your Istio service mesh. It helps you to understand the structure of your service mesh by inferring the topology, and also provides information about the health of your service mesh. + +Kiali provides an interactive graph view of your namespace in real time that provides visibility into features like circuit breakers, request rates, latency, and even graphs of traffic flows. Kiali offers insights about components at different levels, from Applications to Services and Workloads, and can display the interactions with contextual information and charts on the selected graph node or edge. Kiali also provides the ability to validate your Istio configurations, such as gateways, destination rules, virtual services, mesh policies, and more. Kiali provides detailed metrics, and a basic Grafana integration is available for advanced queries. Distributed tracing is provided by integrating Jaeger into the Kiali console. + +Kiali is installed by default as part of the {ProductName}. diff --git a/modules/ossm-kiali-service-mesh.adoc b/modules/ossm-kiali-service-mesh.adoc new file mode 100644 index 0000000000..61b9dc35c0 --- /dev/null +++ b/modules/ossm-kiali-service-mesh.adoc @@ -0,0 +1,15 @@ +//// +This CONCEPT module included in the following assemblies: +-ossm-kiali.adoc +//// + +[id="ossm-kiali-service-mesh_{context}"] += Kiali and service mesh + +Installing Kiali via the Service Mesh on {product-title} differs from community Kiali installations in multiple ways. These modifications are sometimes necessary to resolve issues, provide additional features, or to handle differences when deploying on {product-title}. + +* Kiali has been enabled by default. +* Ingress has been enabled by default. +* Updates have been made to the Kiali ConfigMap. +* Updates have been made to the ClusterRole settings for Kiali. +* Users should not manually edit the ConfigMap or the Kiali custom resource files as those changes might be overwritten by the {ProductShortName} or Kiali operators. All configuration for Kiali running on {ProductName} is done in the `ServiceMeshControlPlane` custom resource file and there are limited configuration options. Updating the operator files should be restricted to those users with cluster-admin privileges. diff --git a/service_mesh/service_mesh_install/ossm-kiali.adoc b/service_mesh/service_mesh_install/ossm-kiali.adoc new file mode 100644 index 0000000000..15f4b77da1 --- /dev/null +++ b/service_mesh/service_mesh_install/ossm-kiali.adoc @@ -0,0 +1,19 @@ +[id="ossm-kiali"] += Kiali overview +include::modules/ossm-document-attributes.adoc[] +:context: kiali + +toc::[] + +Kiali provides visibility into your service mesh by showing you the microservices in your service mesh, and how they are connected. + + +// The following include statements pull in the module files that comprise the assembly. + +include::modules/ossm-kiali-overview.adoc[leveloffset=+1] + +include::modules/ossm-kiali-architecture.adoc[leveloffset=+1] + +include::modules/ossm-kiali-features.adoc[leveloffset=+1] + +include::modules/ossm-kiali-service-mesh.adoc[leveloffset=+1]