Kiali Test Mesh provides an operator which will install different types of examples mesh which allow you to see different features of kiali.
It needs Istio to be installed. It is recommended to be used the Maistra Operator to install it.
In order to deploy the Operator you can use following make target (on root folder of this repository)
make deploy-operator
After installing the operator you can install the custom resource for each type of mesh that might want to try.
Meshes available:
-
Kiali Complex Mesh
Bookinfo is the "Hello World" example of Istio Resources.
After installing the [Kiali Test Mesh Operator]. Run the following command to deploy bookinfo mesh:
make deploy-bookinfo
available options:
-
BOOKINFO_NAMESPACE
can be set to deploy namespace (default:bookinfo
)
Note
|
Automatic Injection is supported way to inject with multi-tenancy. |
-
MANUAL_INJECTION_SIDECAR
can be set to true or false (default:false
, which means it will use automatic injection of the sidecar of the sidecar and true will use manual injection of sidecar) -
MANUAL_INJECTION_SIDECAR_ISTIO_VERSION
can be set to use a specific version of istioctl (default:1.1.8
) -
BOOKINFO_HUB
can be set to deploy bookinfo from Istio or Maistra (default:docker.io/istio
, alternatively you can usedocker.io/maistra
) -
BOOKINFO_VERSION
can be set to deploy a specific version of Bookinfo from Istio or Maistra (default:1.15.0
) -
BOOKINFO_MYSQL
can be set to deploy ratings-v2-mysql and MySQL DB (default:true
) -
BOOKINFO_MONGODB
can be set to deploy ratings-v2-mongodb and MongoDB (default:true
)
so possible scenario command:
make deploy-bookinfo BOOKINFO_NAMESPACE=bookinfo2 MANUAL_INJECTION_SIDECAR=true MANUAL_INJECTION_SIDECAR_ISTIO_VERSION=1.1.8 BOOKINFO_HUB=docker.io/istio BOOKINFO_VERSION=1.15.0 BOOKINFO_MYSQL=true BOOKINFO_MONGODB=true
You can run the following command to remove Bookinfo:
make remove-bookinfo-cr
The command above will remove the Bookinfo installation but not namespace itself. In order to remove the namespace itself you will need to run the folowing command (make sure you have the BOOKINFO_NAMESPACE
set correctly):
make remove-bookinfo-namespace BOOKINFO_NAMESPACE=bookinfo
Red Hat Istio Tutorial is a Quarkus based mesh brought it by the Red Hat Developer program.
After installing the [Kiali Test Mesh Operator]. Run the following command to deploy it:
make deploy-redhat-istio-tutorial
available options:
-
REDHAT_TUTORIAL_NAMESPACE
can be set to deploy namespace (default:redhat-istio-tutorial
)
Note
|
Automatic Injection is supported way to inject with multi-tenancy. |
-
MANUAL_INJECTION_SIDECAR
can be set to true or false (default:false
, which means it will use automatic injection of the sidecar of the sidecar and true will use manual injection of sidecar) -
MANUAL_INJECTION_SIDECAR_ISTIO_VERSION
can be set to use a specific version of istioctl (default:1.1.8
)
so possible scenario command:
make deploy-redhat-istio-tutorial REDHAT_TUTORIAL_NAMESPACE=redhat-istio-tutorial2 MANUAL_INJECTION_SIDECAR=true MANUAL_INJECTION_SIDECAR_ISTIO_VERSION=1.1.8
You can run the following command to remove Red Hat Istio Tutorial:
make remove-redhat-istio-tutorial-cr
The command above will remove the Red Hat Istio Tutorial installation but not namespace itself. In order to remove the namespace itself you will need to run the folowing command (make sure you have the REDHAT_TUTORIAL_NAMESPACE
set correctly)
make remove-redhat-istio-tutorial-namespace REDHAT_TUTORIAL_NAMESPACE=redhat-istito-tutorial
It will remove the bookinfo installation cr. If you want to delete namespace use the following command
make remove-bookinfo-namespace
Kiali Complex Mesh is a mesh created by Kiali team for testing purposes.
This mesh includes mixing different configuration options. It spans multiple namespaces, uses deployments and replicasets, and apps and workloads. It is meant as a testing mesh to see how Kiali handles more complex scenarios.
deploy-complex-mesh
You can run the following command to remove Kiali Complex Mesh:
make remove-complex-mesh-cr
The command above will remove the Kiali Complex Mesh installation but not namespace itself. In order to remove the namespace itself you will need to run the folowing command:
make remove-complex-mesh-namespace
If you have maistra set with multi-tenancy, you should have a Service Mesh Member Roll per control plane namespace.
You can deploy the meshes with multi-tenancy by setting ENABLE_MULTI_TENANT=true
which is default to false.
When ENABLE_MULTI_TENANT
is set to true, it tries to find a Service Mesh Member Roll named default
and add that namespace of a mesh on into it.
You need to set CONTROL_PLANE_NAMESPACE
(default: istio-system
) to deploy on different control plane namespace.
Example:
make deploy-bookinfo ENABLE_MULTI_TENANT=true BOOKINFO_NAMESPACE=bookinfo3 CONTROL_PLANE_NAMESPACE=istio-system2
The scale mesh is type of a mesh that can be used for perfomance and scalability testing.
Variables to control the size, type and scale of the mesh
SCALE_MESH_NUMBER_SERVICES
is number of services that are going to be created
SCALE_MESH_NUMBER_APPS
is number of apps that going to be created (number of the boxes on the graph) - usually we match the number of the apps to number of services.
SCALE_MESH_NUMBER_VERSIONS
is number of versions that are created per app
SCALE_MESH_NUMBER_NAMESPACES
is number of namespaces are going to be created
SCALE_MESH_TYPE_OF_MESH
is the type of mesh that going to be used.
The following are the types of scale meshes you can deploy.
-
kiali-test-depth
-
kiali-test-breadth
-
kiali-test-circle
-
kiali-test-circle-callback
-
kiali-test-hourglass
-
kiali-test-depth-sink
-
kiali-test-breadth-sink
Example of the command:
SCALE_MESH_NUMBER_SERVICES=6 SCALE_MESH_NUMBER_APPS=6 SCALE_MESH_NUMBER_VERSIONS=2 SCALE_MESH_NUMBER_NAMESPACES=1 SCALE_MESH_TYPE_OF_MESH=kiali-test-circle make-deploy-scale-mesh