<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Travel Demo Tutorial on Kiali</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/</link><description>Recent content in Travel Demo Tutorial on Kiali</description><generator>Hugo</generator><language>en</language><atom:link href="https://staging--kiali.netlify.app/docs/tutorials/travels/index.xml" rel="self" type="application/rss+xml"/><item><title>Prerequisites</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/01-prerequisites/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/01-prerequisites/</guid><description>&lt;h2 id="platform-setup"&gt;Platform Setup&lt;/h2&gt;&#10;&lt;p&gt;This tutorial assumes you have access to a Kubernetes cluster with Istio installed.&lt;/p&gt;&#10;&lt;p&gt;This tutorial is being updated and qualified using:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;a &lt;a href="https://kind.sigs.k8s.io/"&gt;Kind&lt;/a&gt; (Kubernetes in Docker) cluster with Helm-based Kiali install.&lt;/li&gt;&#10;&lt;li&gt;an &lt;a href="https://istio.io/latest/docs/setup/platform-setup/openshift/"&gt;OpenShift&lt;/a&gt; cluster with Kiali Operator install (qualification pending).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Tip&lt;/div&gt;&#10;&lt;p&gt;Platform-dependent tasks will be indicated with a special note like this.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="alert alert-warning" role="alert"&gt;&#10;&lt;p&gt;Version pins will be recorded here as the tutorial is re-qualified. Use current stable releases of Kind, Istio, and Kiali unless noted otherwise.&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Install Travel Demo</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/02-install-travel-demo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/02-install-travel-demo/</guid><description>&lt;h2 id="deploy-the-travel-demo"&gt;Deploy the Travel Demo&lt;/h2&gt;&#10;&lt;p&gt;This demo application deploys several services grouped into three namespaces:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;em&gt;travel-control&lt;/em&gt; — business dashboard to configure traffic and view statistics&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;travel-portal&lt;/em&gt; — shop simulators that generate traffic&lt;/li&gt;&#10;&lt;li&gt;&lt;em&gt;travel-agency&lt;/em&gt; — quote and pricing services&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;At this step, deploy the application &lt;strong&gt;without&lt;/strong&gt; joining it to the service mesh. Sidecar injection is added in &lt;a href="https://staging--kiali.netlify.app/docs/tutorials/travels/03-join-the-mesh/"&gt;Join the Mesh&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Do &lt;strong&gt;not&lt;/strong&gt; label the namespaces with &lt;code&gt;istio-injection=enabled&lt;/code&gt; yet.&lt;/p&gt;&#10;&lt;h3 id="kind"&gt;Kind&lt;/h3&gt;&#10;&lt;p&gt;From the &lt;a href="https://github.com/kiali/kiali"&gt;Kiali source repository&lt;/a&gt;, the Travel Demo install script creates the namespaces and deploys the manifests without enabling auto-injection:&lt;/p&gt;</description></item><item><title>Join the Mesh</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/03-join-the-mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/03-join-the-mesh/</guid><description>&lt;h2 id="sidecar-proxies"&gt;Sidecar Proxies&lt;/h2&gt;&#10;&lt;p&gt;The Travel Demo was deployed in the previous chapter &lt;strong&gt;without&lt;/strong&gt; Istio sidecar proxies. These are Envoy proxies that can be injected into the application pods.&lt;/p&gt;&#10;&lt;p&gt;Without a sidecar, workloads do not connect to the Istio control plane and do not report mesh telemetry (metrics, access logs, or distributed traces).&lt;/p&gt;&#10;&lt;h3 id="confirm-in-kiali"&gt;Confirm in Kiali&lt;/h3&gt;&#10;&lt;p&gt;As shown in &lt;a href="https://staging--kiali.netlify.app/docs/tutorials/travels/02-install-travel-demo/"&gt;Install Travel Demo&lt;/a&gt;, the demo namespaces appear on the &lt;strong&gt;Namespaces&lt;/strong&gt; page with type &lt;strong&gt;&lt;code&gt;-&lt;/code&gt;&lt;/strong&gt; (&lt;em&gt;Not part of the mesh&lt;/em&gt;):&lt;/p&gt;</description></item><item><title>Observe the Mesh</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/04-observe-the-mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/04-observe-the-mesh/</guid><description>&lt;h2 id="enable-sidecars-in-all-workloads"&gt;Enable Sidecars in All Workloads&lt;/h2&gt;&#10;&lt;p&gt;An Istio sidecar proxy connects a workload to the control plane and enables &lt;a href="https://istio.io/latest/about/service-mesh/#what-is-istio"&gt;service mesh functionality&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Sidecars automatically collect metrics, access logs, and distributed traces — a major observability benefit of the mesh.&lt;/p&gt;&#10;&lt;p&gt;In &lt;a href="https://staging--kiali.netlify.app/docs/tutorials/travels/03-join-the-mesh/"&gt;Join the Mesh&lt;/a&gt; we injected a sidecar only into the &lt;em&gt;control&lt;/em&gt; workload. The rest of the Travel Demo still lacks full mesh visibility.&lt;/p&gt;&#10;&lt;div class="alert alert-success" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Step 1&lt;/div&gt;&#10;&lt;p&gt;Use the Traffic Graph to identify missing sidecars in the Travel Demo&lt;/p&gt;&#10;&lt;/div&gt;</description></item><item><title>Control the Mesh</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/05-control-the-mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/05-control-the-mesh/</guid><description>&lt;p&gt;This chapter uses Kiali &lt;a href="https://staging--kiali.netlify.app/docs/features/wizards/"&gt;wizards&lt;/a&gt; to configure Istio traffic management on the Travel Demo. Each section introduces a scenario, walks through the wizard, verifies the result in Kiali, and ends with guidance to update or delete the generated configuration.&lt;/p&gt;&#10;&lt;p&gt;In &lt;a href="https://staging--kiali.netlify.app/docs/tutorials/travels/04-observe-the-mesh/"&gt;Observe the Mesh&lt;/a&gt; you explored telemetry and tracing. Here you change how traffic flows through the mesh.&lt;/p&gt;&#10;&lt;h2 id="request-routing"&gt;Request Routing&lt;/h2&gt;&#10;&lt;p&gt;The Travel Demo application has several portals deployed on the &lt;em&gt;travel-portal&lt;/em&gt; namespace consuming the &lt;em&gt;travels&lt;/em&gt; service deployed on the &lt;em&gt;travel-agency&lt;/em&gt; namespace.&lt;/p&gt;</description></item><item><title>Secure the Mesh</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/06-secure-the-mesh/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/06-secure-the-mesh/</guid><description>&lt;h2 id="authorization-policies-and-sidecars"&gt;Authorization Policies and Sidecars&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://istio.io/latest/docs/concepts/security/"&gt;Security&lt;/a&gt; is one of Istio&amp;rsquo;s main pillars.&lt;/p&gt;&#10;&lt;p&gt;The Istio &lt;a href="https://istio.io/latest/docs/concepts/security/#high-level-architecture"&gt;Security High Level Architecture&lt;/a&gt; provides a comprehensive solution to design and implement multiple security scenarios.&lt;/p&gt;&#10;&lt;p&gt;In this tutorial we will show how Kiali can use telemetry information to create security policies for the workloads deployed in a given namespace.&lt;/p&gt;&#10;&lt;p&gt;Istio telemetry aggregates the ServiceAccount information used in workload communication. This information can be used to define authorization policies that deny and allow actions based on observed live traffic.&lt;/p&gt;</description></item><item><title>Uninstall Travel Demo</title><link>https://staging--kiali.netlify.app/docs/tutorials/travels/99-uninstall/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://staging--kiali.netlify.app/docs/tutorials/travels/99-uninstall/</guid><description>&lt;p&gt;Remove components in reverse order of installation: the Travel Demo application, Kiali, Istio, and (on Kind) the cluster itself.&lt;/p&gt;&#10;&lt;h2 id="uninstall-the-travel-demo"&gt;Uninstall the Travel Demo&lt;/h2&gt;&#10;&lt;p&gt;Delete the demo namespaces:&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;kubectl delete namespace travel-agency&#10;kubectl delete namespace travel-portal&#10;kubectl delete namespace travel-control&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Alternatively, delete the manifests first (this removes any Istio resources created in those namespaces during the tutorial):&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;kubectl delete -f &amp;lt;(curl -L https://raw.githubusercontent.com/kiali/demos/master/travels/travel_agency.yaml) -n travel-agency --ignore-not-found&#10;kubectl delete -f &amp;lt;(curl -L https://raw.githubusercontent.com/kiali/demos/master/travels/travel_portal.yaml) -n travel-portal --ignore-not-found&#10;kubectl delete -f &amp;lt;(curl -L https://raw.githubusercontent.com/kiali/demos/master/travels/travel_control.yaml) -n travel-control --ignore-not-found&#10;&#10;kubectl delete namespace travel-agency&#10;kubectl delete namespace travel-portal&#10;kubectl delete namespace travel-control&#10;&lt;/code&gt;&lt;/pre&gt;&lt;div class="alert alert-warning" role="alert"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;OpenShift&lt;/div&gt;&#10;&lt;p&gt;If you used the Kiali Travel Demo install script, it can also remove OpenShift-specific resources (SecurityContextConstraints and NetworkAttachmentDefinitions):&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;./hack/istio/install-travel-agency-demo.sh -c oc -d true&#10;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>