title
Istio Setup in Kubernetes | Step by Step Guide to install Istio Service Mesh
description
Istio Setup in Kubernetes | Istio Tutorial to install Istio Service Mesh on Kubernetes cluster
► Istio & Service Mesh explained here 👉🏼 https://youtu.be/16fgzklcF7Y
► Follow me on IG for behind the scenes content: 👉🏼 https://bit.ly/2F3LXYJ
► Demo project: https://github.com/GoogleCloudPlatform/microservices-demo
In this video you will learn how to install Istio Service Mesh in a Kubernetes cluster.
#istio #devops #techworldwithnana
► Thanks Kasten for sponsoring this video! 🙌🏼
► More infos on Kasten K10 Platform for Kubernetes Backup 👉🏼 https://www.kasten.io/
▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬
0:00 - Intro
1:01 - Download Istio & configure Istioctl
5:26 - Install Istio in Minikube cluster
7:29 - Deploy a Microservices Application
11:19 - Configure automatic Envoy Proxy Injection
15:35 - Install Istio Addons for Monitoring & data visualization
22:33 - Kiali - Service Mesh Management for Istio
25:19 - "app" Labels in Pods for Istio
▬▬▬▬▬▬ Want to learn more? 🚀 ▬▬▬▬▬▬
Full K8s course course ► https://youtu.be/X48VuDVv0do
DevOps Tools, like Terraform, Prometheus ► https://bit.ly/2W9UEq6
Full Docker course ► https://youtu.be/3c-iBn73dDE
Jenkins Pipeline Tutorials ► https://bit.ly/2Wunx08
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
FB group ► https://bit.ly/32UVSZP
DEV ► https://bit.ly/3h2fqiO
INSTAGRAM ► https://bit.ly/2F3LXYJ
TWITTER ► https://bit.ly/3i54PUB
LINKEDIN ► https://bit.ly/3hWOLVT
▬▬▬▬▬▬ Courses & Bootcamp & Ebooks 🚀 ▬▬▬▬▬▬
► Become a DevOps Engineer - full educational program 👉🏼 https://bit.ly/45mXaer
► High-Quality and Hands-On Courses 👉🏼 https://bit.ly/3BNS8Kv
► Kubernetes 101 - compact and easy-to-read ebook bundle 👉🏼 https://bit.ly/3Ozl28x
detail
{'title': 'Istio Setup in Kubernetes | Step by Step Guide to install Istio Service Mesh', 'heatmap': [{'end': 381.18, 'start': 351.388, 'weight': 0.744}, {'end': 527.609, 'start': 438.983, 'weight': 0.755}, {'end': 807.891, 'start': 789.429, 'weight': 1}, {'end': 895.301, 'start': 871.011, 'weight': 0.862}, {'end': 1406.478, 'start': 1380.343, 'weight': 0.814}], 'summary': "Learn how to install istio service mesh in a kubernetes cluster, deploy it on a mini cube cluster in approximately eight minutes, manage data in kubernetes using kasten's k10 platform, configure istio with kubernetes components, and visualize istio cluster data using jaeger, zipkin, prometheus, and kiali.", 'chapters': [{'end': 105.748, 'segs': [{'end': 51.179, 'src': 'embed', 'start': 0.509, 'weight': 0, 'content': [{'end': 6.014, 'text': "In this video, we're going to learn how to install Istio service mesh in a Kubernetes cluster.", 'start': 0.509, 'duration': 5.505}, {'end': 9.516, 'text': "First, we'll install Istio core in the cluster.", 'start': 6.334, 'duration': 3.182}, {'end': 11.318, 'text': 'The main Istio component.', 'start': 9.917, 'duration': 1.401}, {'end': 15.781, 'text': 'Then we will install Istio add ons for monitoring and tracing.', 'start': 12.058, 'duration': 3.723}, {'end': 24.71, 'text': 'After that, we will configure our cluster so that Istio can automatically inject Envoy proxies in our application pods.', 'start': 16.382, 'duration': 8.328}, {'end': 26.011, 'text': 'And finally,', 'start': 25.25, 'duration': 0.761}, {'end': 38.307, 'text': 'we will deploy an example demo microservices application in the cluster so that we can see all the features and visualization for those microservices in Istio.', 'start': 26.011, 'duration': 12.296}, {'end': 42.671, 'text': "And for this demonstration, we're going to use a local mini cube cluster.", 'start': 38.667, 'duration': 4.004}, {'end': 44.713, 'text': "So let's jump right in.", 'start': 43.131, 'duration': 1.582}, {'end': 51.179, 'text': "Now, if you want to learn what Istio is and what it's used for, you can watch my other video about it,", 'start': 45.153, 'duration': 6.026}], 'summary': 'Learn to install istio service mesh in kubernetes cluster, including core installation, add-ons, and automatic proxy injection for microservices visualization.', 'duration': 50.67, 'max_score': 0.509, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk509.jpg'}], 'start': 0.509, 'title': 'Installing istio service mesh', 'summary': 'Demonstrates the installation of istio service mesh in a kubernetes cluster, covering istio core and add ons installation, automatic envoy proxy injection configuration, and deployment of a microservices application in a local mini cube cluster.', 'chapters': [{'end': 105.748, 'start': 0.509, 'title': 'Installing istio service mesh in kubernetes', 'summary': 'Demonstrates the installation of istio service mesh in a kubernetes cluster, including the installation of istio core and add ons, configuration for automatic envoy proxy injection, and deployment of a microservices application in a local mini cube cluster.', 'duration': 105.239, 'highlights': ['Installing Istio core and add ons for monitoring and tracing in a Kubernetes cluster.', 'Configuring the cluster for automatic Envoy proxy injection in application pods.', 'Deploying a demo microservices application in a local mini cube cluster for feature visualization.']}], 'duration': 105.239, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk509.jpg', 'highlights': ['Configuring the cluster for automatic Envoy proxy injection in application pods.', 'Installing Istio core and add ons for monitoring and tracing in a Kubernetes cluster.', 'Deploying a demo microservices application in a local mini cube cluster for feature visualization.']}, {'end': 561.234, 'segs': [{'end': 155.933, 'src': 'embed', 'start': 130.308, 'weight': 0, 'content': [{'end': 137.549, 'text': 'You can also download the latest Istio release for your specific operating system using this command here.', 'start': 130.308, 'duration': 7.241}, {'end': 141.63, 'text': "But we're going to do this using this Istio release link.", 'start': 137.929, 'duration': 3.701}, {'end': 143.731, 'text': 'And here you have all the releases.', 'start': 142.29, 'duration': 1.441}, {'end': 147.052, 'text': "We're going to install the latest one and I'm using Mac.", 'start': 143.791, 'duration': 3.261}, {'end': 149.092, 'text': "So that's what I'm going to download.", 'start': 147.712, 'duration': 1.38}, {'end': 152.473, 'text': 'Make sure to download the one for your operating system.', 'start': 149.432, 'duration': 3.041}, {'end': 155.933, 'text': 'And as you see, this is a tar file.', 'start': 153.832, 'duration': 2.101}], 'summary': 'Download the latest istio release for your operating system. ensure to use the appropriate version for your system.', 'duration': 25.625, 'max_score': 130.308, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk130308.jpg'}, {'end': 255.347, 'src': 'embed', 'start': 192.793, 'weight': 1, 'content': [{'end': 194.815, 'text': "I'm just going to double click and unpack it.", 'start': 192.793, 'duration': 2.022}, {'end': 198.13, 'text': "And let's actually see what's inside.", 'start': 196.209, 'duration': 1.921}, {'end': 204.092, 'text': 'We have the executable Istio binary folder and some other files.', 'start': 198.47, 'duration': 5.622}, {'end': 213.835, 'text': "And what we're going to need from Istio is actually an Istio control command line which is in this binary folder,", 'start': 204.852, 'duration': 8.983}, {'end': 217.116, 'text': 'and one that command line tool to be executable.', 'start': 213.835, 'duration': 3.281}, {'end': 222.098, 'text': 'And right now, if I do Istio CTL.', 'start': 217.596, 'duration': 4.502}, {'end': 226.595, 'text': 'and execute, you see the command not found.', 'start': 223.672, 'duration': 2.923}, {'end': 230.079, 'text': 'So we need that command, which is here in the binary folder.', 'start': 226.755, 'duration': 3.324}, {'end': 236.205, 'text': "So in order to make that command available, we're going to add it to a path to executable path.", 'start': 230.519, 'duration': 5.686}, {'end': 242.572, 'text': 'And we can do that by adding the path to this binary folder to our path.', 'start': 237.046, 'duration': 5.526}, {'end': 244.254, 'text': 'Right Basically appending it.', 'start': 242.792, 'duration': 1.462}, {'end': 248.759, 'text': 'So right now this is how my path looks like like this.', 'start': 244.794, 'duration': 3.965}, {'end': 255.347, 'text': 'And basically here we just want to append the path to this folder here.', 'start': 249.74, 'duration': 5.607}], 'summary': 'Adding istio control command line to executable path for access.', 'duration': 62.554, 'max_score': 192.793, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk192793.jpg'}, {'end': 313.239, 'src': 'embed', 'start': 284.005, 'weight': 5, 'content': [{'end': 288.187, 'text': 'And now if I do is still CTL and execute.', 'start': 284.005, 'duration': 4.182}, {'end': 288.767, 'text': 'There you go.', 'start': 288.407, 'duration': 0.36}, {'end': 297.419, 'text': 'So we have is still CTL available or is your control command line interface available here because we set the path.', 'start': 289.147, 'duration': 8.272}, {'end': 306.096, 'text': 'Now just note that This only sets that path or appends that executable only in this terminal.', 'start': 297.799, 'duration': 8.297}, {'end': 313.239, 'text': 'So if I open a new window and try to do Istio CTL here, you see command not found.', 'start': 306.777, 'duration': 6.462}], 'summary': 'Istio ctl sets path in terminal but not globally.', 'duration': 29.234, 'max_score': 284.005, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk284005.jpg'}, {'end': 381.18, 'src': 'heatmap', 'start': 344.704, 'weight': 4, 'content': [{'end': 347.367, 'text': 'So no Istio namespace here and.', 'start': 344.704, 'duration': 2.663}, {'end': 351.168, 'text': 'Right now, also nothing running.', 'start': 349.167, 'duration': 2.001}, {'end': 362.611, 'text': "Right So we have an empty cluster and now let's install Istio in our cluster and we can do that very easily using Istio CTL install command.", 'start': 351.388, 'duration': 11.223}, {'end': 363.291, 'text': "That's it.", 'start': 362.971, 'duration': 0.32}, {'end': 367.153, 'text': "I'm going to execute it and I'm going to confirm it here.", 'start': 363.952, 'duration': 3.201}, {'end': 372.313, 'text': 'Yes and everything is successfully installed.', 'start': 367.793, 'duration': 4.52}, {'end': 381.18, 'text': 'We have Istio core, then we have Istio D, which is the main process of Istio or main component and ingress gateway.', 'start': 372.613, 'duration': 8.567}], 'summary': 'Installed istio in empty cluster successfully with core, d, and ingress gateway.', 'duration': 27.609, 'max_score': 344.704, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk344704.jpg'}, {'end': 527.609, 'src': 'heatmap', 'start': 438.983, 'weight': 0.755, 'content': [{'end': 445.767, 'text': 'we need to deploy an application and microservices application, ideally, where the proxies will be injected.', 'start': 438.983, 'duration': 6.784}, {'end': 448.909, 'text': "So that's going to be our next step.", 'start': 446.387, 'duration': 2.522}, {'end': 460.645, 'text': 'And as an example of microservices, I have found actually one from Google Cloud Platform microservices demo project.', 'start': 452.839, 'duration': 7.806}, {'end': 468.451, 'text': "And we're going to use this one to deploy that in the cluster and then use Istio service mesh for these microservices.", 'start': 461.265, 'duration': 7.186}, {'end': 472.794, 'text': 'So in this release folder here, you have Kubernetes manifests.', 'start': 468.931, 'duration': 3.863}, {'end': 484.462, 'text': 'And these are basically Kubernetes configuration files for creating deployments and services for a couple of microservices.', 'start': 474.775, 'duration': 9.687}, {'end': 490.088, 'text': "so you can clone this repository and we're going to be using this specific file.", 'start': 484.462, 'duration': 5.626}, {'end': 500.939, 'text': 'I have cloned the repo and I have that specific file now in this Istio installation folder right here so that I can execute it directly from here.', 'start': 490.929, 'duration': 10.01}, {'end': 505.084, 'text': "So right now I'm inside Istio folder.", 'start': 501.54, 'duration': 3.544}, {'end': 508.837, 'text': 'And this is my manifest file.', 'start': 507.216, 'duration': 1.621}, {'end': 512.198, 'text': 'So obviously, this is just Kubernetes manifest file.', 'start': 509.297, 'duration': 2.901}, {'end': 523.124, 'text': 'So we can do kubectl apply minus F and start our microservices and they will all start in a default namespace.', 'start': 512.239, 'duration': 10.885}, {'end': 527.609, 'text': 'And you see a bunch of them got created.', 'start': 525.128, 'duration': 2.481}], 'summary': 'Deployed microservices using istio, creating multiple services in default namespace.', 'duration': 88.626, 'max_score': 438.983, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk438983.jpg'}, {'end': 484.462, 'src': 'embed', 'start': 452.839, 'weight': 3, 'content': [{'end': 460.645, 'text': 'And as an example of microservices, I have found actually one from Google Cloud Platform microservices demo project.', 'start': 452.839, 'duration': 7.806}, {'end': 468.451, 'text': "And we're going to use this one to deploy that in the cluster and then use Istio service mesh for these microservices.", 'start': 461.265, 'duration': 7.186}, {'end': 472.794, 'text': 'So in this release folder here, you have Kubernetes manifests.', 'start': 468.931, 'duration': 3.863}, {'end': 484.462, 'text': 'And these are basically Kubernetes configuration files for creating deployments and services for a couple of microservices.', 'start': 474.775, 'duration': 9.687}], 'summary': 'Deploy google cloud platform microservices using istio service mesh for kubernetes.', 'duration': 31.623, 'max_score': 452.839, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk452839.jpg'}], 'start': 106.449, 'title': 'Installing and deploying istio on mini cube cluster', 'summary': 'Details the process of installing istio on a mini cube cluster, including downloading and unpacking the istio release package, setting up the executable path, and deploying microservices in approximately eight minutes.', 'chapters': [{'end': 283.525, 'start': 106.449, 'title': 'Installing istio on mini cube cluster', 'summary': 'Details the process of installing istio on a mini cube cluster, including downloading and unpacking the istio release package, setting up the executable path, and verifying the istio control command line availability.', 'duration': 177.076, 'highlights': ['The process begins with downloading the Istio release package from the official documentation page and selecting the appropriate release for the operating system, such as a Mac. Downloading the latest Istio release for a specific operating system.', 'After unpacking the Istio tar file, the executable Istio binary folder and other necessary files are obtained. Obtaining the executable Istio binary folder after unpacking the tar file.', 'The addition of the Istio binary folder path to the executable path is performed to make the Istio control command line available for execution. Adding the path to the Istio binary folder to the executable path.']}, {'end': 561.234, 'start': 284.005, 'title': 'Installing istio and deploying microservices', 'summary': "Demonstrates how to install istio using 'istio ctl' command and deploys microservices in a minikube cluster, creating istio system namespace and deploying istio d pod and ingress gateway pod, followed by deploying microservices from a google cloud platform demo project into the cluster, taking approximately eight minutes for all microservices to be up and running.", 'duration': 277.229, 'highlights': ['Microservices from Google Cloud Platform demo project are deployed into the cluster, taking around eight minutes for all microservices to be up and running. Deployment of microservices from Google Cloud Platform demo project into the cluster, time taken for all microservices to be up and running.', "Istio is installed using 'Istio CTL install' command, successfully creating Istio core, Istio D, and Ingress Gateway components in the cluster. Successful installation of Istio using 'Istio CTL install' command, creation of Istio core, Istio D, and Ingress Gateway components in the cluster.", "The 'export' command is used to set the path for Istio CTL, making it available in the current terminal only, and not globally. Usage of 'export' command to set the path for Istio CTL, limitation of availability to the current terminal only."]}], 'duration': 454.785, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk106449.jpg', 'highlights': ['Downloading the latest Istio release for a specific operating system.', 'Obtaining the executable Istio binary folder after unpacking the tar file.', 'Adding the path to the Istio binary folder to the executable path.', 'Deployment of microservices from Google Cloud Platform demo project into the cluster, time taken for all microservices to be up and running.', "Successful installation of Istio using 'Istio CTL install' command, creation of Istio core, Istio D, and Ingress Gateway components in the cluster.", "Usage of 'export' command to set the path for Istio CTL, limitation of availability to the current terminal only."]}, {'end': 773.524, 'segs': [{'end': 678.629, 'src': 'embed', 'start': 561.835, 'weight': 0, 'content': [{'end': 566.4, 'text': 'So you might have to just wait a little bit for that, and Also, I guess,', 'start': 561.835, 'duration': 4.565}, {'end': 572.783, 'text': "because we are deploying all this in mini cube and because of limited resources, it's also a little bit slower.", 'start': 566.4, 'duration': 6.383}, {'end': 580.846, 'text': "So I assume in a bigger cluster, this should be a little faster when you're deploying complex microservice applications in Kubernetes.", 'start': 572.863, 'duration': 7.983}, {'end': 583.867, 'text': 'Managing your application data will be challenging.', 'start': 581.406, 'duration': 2.461}, {'end': 593.89, 'text': 'However, Kasten, who is sponsoring this video, has made data management in Kubernetes way easier using its K10 data management platform.', 'start': 584.327, 'duration': 9.563}, {'end': 601.552, 'text': 'K10 basically takes off most of the load of doing backup and restore in Kubernetes from the cluster administrators.', 'start': 594.41, 'duration': 7.142}, {'end': 609.334, 'text': "It has a very simple UI, so it's super easy to work with and intelligent logic, which does all the heavy lifting for you.", 'start': 602.012, 'duration': 7.322}, {'end': 614.757, 'text': 'On top of that, Kasten integrates with all major cloud platforms,', 'start': 610.114, 'duration': 4.643}, {'end': 620.101, 'text': 'so you can easily migrate your application from one cluster to another with all of its data.', 'start': 614.757, 'duration': 5.344}, {'end': 624.123, 'text': 'And Kasten does all of that with end to end security in mind.', 'start': 620.521, 'duration': 3.602}, {'end': 626.445, 'text': 'You can check them out at Kasten.io.', 'start': 624.724, 'duration': 1.721}, {'end': 629.684, 'text': 'Now back to our Istio setup.', 'start': 627.802, 'duration': 1.882}, {'end': 635.13, 'text': 'So now we have our Istio core and we have the microservices running as pods.', 'start': 630.365, 'duration': 4.765}, {'end': 642.437, 'text': 'Now note one thing here that each microservice has one container inside the pod.', 'start': 635.53, 'duration': 6.907}, {'end': 650.54, 'text': 'Right And you remember I said that Istio should actually inject these proxy containers in each of those pods.', 'start': 643.098, 'duration': 7.442}, {'end': 654.641, 'text': "So why don't we have two containers inside each pod?", 'start': 651.04, 'duration': 3.601}, {'end': 657.242, 'text': "or basically, why don't we have the proxy containers inside?", 'start': 654.641, 'duration': 2.601}, {'end': 667.335, 'text': "And the reason is because we didn't explicitly tell Istio to inject proxies in the application pods and it doesn't work by default.", 'start': 657.602, 'duration': 9.733}, {'end': 672.021, 'text': "Right It doesn't inject proxies into every pod that starts in the cluster.", 'start': 667.535, 'duration': 4.486}, {'end': 678.629, 'text': 'We actually have to configure that specifically in the configuration for that is actually very simple.', 'start': 672.381, 'duration': 6.248}], 'summary': "Kasten's k10 platform simplifies data management in kubernetes, reducing load on cluster administrators by providing a simple ui and intelligent logic for backup, restore, and migration, with end-to-end security in mind.", 'duration': 116.794, 'max_score': 561.835, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk561835.jpg'}, {'end': 773.524, 'src': 'embed', 'start': 737.475, 'weight': 6, 'content': [{'end': 739.816, 'text': 'A label namespace.', 'start': 737.475, 'duration': 2.341}, {'end': 745.079, 'text': 'default So name of the namespace, basically.', 'start': 741.798, 'duration': 3.281}, {'end': 748.34, 'text': 'And finally, we define that specific label.', 'start': 745.719, 'duration': 2.621}, {'end': 757.463, 'text': "Again, it's a key value pair and the key is Istio injection and value is enabled.", 'start': 748.88, 'duration': 8.583}, {'end': 760.324, 'text': 'So this is something that Istio will understand.', 'start': 757.963, 'duration': 2.361}, {'end': 765.206, 'text': 'So we have to name this exactly that is to injection enabled.', 'start': 761.024, 'duration': 4.182}, {'end': 766.846, 'text': "Let's execute.", 'start': 766.006, 'duration': 0.84}, {'end': 773.524, 'text': 'And now if I do get or show labels again for a namespace right here.', 'start': 767.546, 'duration': 5.978}], 'summary': "Defining 'istio injection enabled' label in default namespace.", 'duration': 36.049, 'max_score': 737.475, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk737475.jpg'}], 'start': 561.835, 'title': 'Kubernetes data management and istio proxy injection', 'summary': "Discusses simplified kubernetes data management using kasten's k10 platform for backup and restore, cloud platform integration, and security. it also explains istio's proxy injection process and the labeling process for enabling istio injection in namespaces.", 'chapters': [{'end': 635.13, 'start': 561.835, 'title': 'Simplified kubernetes data management', 'summary': "Discusses the challenges of managing application data in kubernetes, highlighting how kasten's k10 platform simplifies backup and restore tasks, integrates with major cloud platforms, and ensures end-to-end security.", 'duration': 73.295, 'highlights': ["Kasten's K10 platform simplifies backup and restore in Kubernetes, reducing the load on cluster administrators with a simple UI and intelligent logic.", 'Kasten integrates with major cloud platforms, facilitating easy migration of applications with their data from one cluster to another.', 'Kasten ensures end-to-end security in data management for Kubernetes applications.', 'Deploying complex microservice applications in Kubernetes can be slower in a limited resource environment, but may be faster in a bigger cluster.']}, {'end': 678.629, 'start': 635.53, 'title': 'Istio proxy injection', 'summary': 'Explains how istio injects proxy containers into microservice pods, highlighting the need for explicit configuration and the simplicity of the process.', 'duration': 43.099, 'highlights': ["Istio doesn't inject proxies into every pod that starts in the cluster by default, and explicit configuration is required (Quantifiable data: default behavior of Istio)", 'Each microservice has one container inside the pod, and Istio should inject proxy containers in each of those pods (Quantifiable data: number of containers per pod)']}, {'end': 773.524, 'start': 682.096, 'title': 'Istio injection labeling process', 'summary': "Explains the process of labeling a namespace with istio injection enabled, including checking existing labels, adding the istio injection enabled label, and verifying the label's addition to the namespace.", 'duration': 91.428, 'highlights': ["The process involves labeling a namespace with Istio injection enabled, which is done by adding the label 'Istio injection enabled' to the default namespace. By adding the label 'Istio injection enabled' to the default namespace, the process enables Istio injection for applications or microservices deployed within that namespace.", "The chapter emphasizes the importance of naming the label exactly as 'Istio injection enabled' to ensure Istio understands it. Emphasizing the importance of naming the label as 'Istio injection enabled' ensures that Istio recognizes and processes the label correctly.", "The process includes checking the existing labels for the namespace and adding the 'Istio injection enabled' label with the key value pair. The process includes checking the existing labels using 'kubectl get namespace default' and adding the 'Istio injection enabled' label with the key value pair to enable Istio injection."]}], 'duration': 211.689, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk561835.jpg', 'highlights': ["Kasten's K10 platform simplifies backup and restore in Kubernetes, reducing the load on cluster administrators with a simple UI and intelligent logic.", 'Kasten integrates with major cloud platforms, facilitating easy migration of applications with their data from one cluster to another.', 'Kasten ensures end-to-end security in data management for Kubernetes applications.', 'Deploying complex microservice applications in Kubernetes can be slower in a limited resource environment, but may be faster in a bigger cluster.', "Istio doesn't inject proxies into every pod that starts in the cluster by default, and explicit configuration is required (default behavior of Istio).", 'Each microservice has one container inside the pod, and Istio should inject proxy containers in each of those pods (number of containers per pod).', "The process involves labeling a namespace with Istio injection enabled, which is done by adding the label 'Istio injection enabled' to the default namespace.", "The chapter emphasizes the importance of naming the label exactly as 'Istio injection enabled' to ensure Istio understands it.", "The process includes checking the existing labels for the namespace and adding the 'Istio injection enabled' label with the key value pair to enable Istio injection."]}, {'end': 1234.056, 'segs': [{'end': 866.049, 'src': 'heatmap', 'start': 789.429, 'weight': 0, 'content': [{'end': 794.831, 'text': "So we're going to do Cube City, I'll delete.", 'start': 789.429, 'duration': 5.402}, {'end': 800.167, 'text': "The manifest, let's delete all of them.", 'start': 798.066, 'duration': 2.101}, {'end': 805.53, 'text': "But do you keep city? I'll get partner.", 'start': 803.669, 'duration': 1.861}, {'end': 807.891, 'text': 'I should see all of them terminating.', 'start': 806.31, 'duration': 1.581}, {'end': 812.434, 'text': 'And now all the pods are gone.', 'start': 811.153, 'duration': 1.281}, {'end': 816.756, 'text': 'We can now just reapply this Kubernetes manifest file.', 'start': 812.754, 'duration': 4.002}, {'end': 827.51, 'text': 'like this and note here that I have actually not done anything to the existing Kubernetes configuration files.', 'start': 820.387, 'duration': 7.123}, {'end': 833.933, 'text': "Right. All we did is basically just label the namespace, and we're doing exactly what we did previously,", 'start': 827.55, 'duration': 6.383}, {'end': 837.854, 'text': 'just apply the Kubernetes manifest file without any modification there.', 'start': 833.933, 'duration': 3.921}, {'end': 848.859, 'text': "Right And that's the great thing about Istio that you don't have to reconfigure your existing configuration or the existing Kubernetes configuration files.", 'start': 838.034, 'duration': 10.825}, {'end': 851.521, 'text': 'for the proxies to get injected.', 'start': 849.4, 'duration': 2.121}, {'end': 860.226, 'text': 'And now if I do keep still get part instead of one container per pod, you see two containers which are all initializing.', 'start': 852.061, 'duration': 8.165}, {'end': 863.247, 'text': 'And this will take some time as well.', 'start': 861.706, 'duration': 1.541}, {'end': 864.608, 'text': 'And there you go.', 'start': 863.848, 'duration': 0.76}, {'end': 866.049, 'text': 'All the pods are now running.', 'start': 864.828, 'duration': 1.221}], 'summary': 'Applied istio to kubernetes without modifying existing configuration, resulting in successful deployment of pods.', 'duration': 92.485, 'max_score': 789.429, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk789429.jpg'}, {'end': 898.324, 'src': 'heatmap', 'start': 871.011, 'weight': 0.862, 'content': [{'end': 874.173, 'text': 'And again, as you see, two containers per pod.', 'start': 871.011, 'duration': 3.162}, {'end': 877.755, 'text': "And now I'm actually going to describe one of those pods.", 'start': 874.773, 'duration': 2.982}, {'end': 881.206, 'text': "Let's take the first one.", 'start': 880.165, 'duration': 1.041}, {'end': 887.312, 'text': "And in this describe, we're going to see the containers in that part.", 'start': 882.167, 'duration': 5.145}, {'end': 895.301, 'text': 'So if we scroll up right here, we have any containers is still in it.', 'start': 887.933, 'duration': 7.368}, {'end': 898.324, 'text': 'And this is still proxy image.', 'start': 895.881, 'duration': 2.443}], 'summary': 'Demonstrating two containers per pod, one being a proxy image.', 'duration': 27.313, 'max_score': 871.011, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk871011.jpg'}, {'end': 1178.403, 'src': 'embed', 'start': 1126.532, 'weight': 4, 'content': [{'end': 1134.015, 'text': 'So now we have those four add ons running as pods in Istio system and.', 'start': 1126.532, 'duration': 7.483}, {'end': 1139.725, 'text': 'In order to access those parts, obviously we need services.', 'start': 1136.721, 'duration': 3.004}, {'end': 1141.348, 'text': "So let's check that as well.", 'start': 1140.146, 'duration': 1.202}, {'end': 1151.802, 'text': "Istio system and we're going to quickly go through each one of those services that are deployed as Istio add ons in the cluster.", 'start': 1142.83, 'duration': 8.972}, {'end': 1154.981, 'text': 'First, we have Grafana and Prometheus.', 'start': 1152.659, 'duration': 2.322}, {'end': 1161.367, 'text': "And if you don't know, Prometheus is used for basically monitoring anything in your cluster.", 'start': 1155.802, 'duration': 5.565}, {'end': 1171.636, 'text': 'This could be the servers itself, memory, CPU usage, as well as Kubernetes components themselves like pods and services and all this stuff.', 'start': 1161.547, 'duration': 10.089}, {'end': 1178.403, 'text': 'So this is a monitoring tool and Grafana is a data visualization tool for metrics data.', 'start': 1172.077, 'duration': 6.326}], 'summary': 'Four add-ons running in istio system: grafana, prometheus, used for monitoring and data visualization.', 'duration': 51.871, 'max_score': 1126.532, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1126532.jpg'}, {'end': 1234.056, 'src': 'embed', 'start': 1207.88, 'weight': 6, 'content': [{'end': 1214.228, 'text': 'you basically get a request in your application and then that request goes through multiple microservices.', 'start': 1207.88, 'duration': 6.348}, {'end': 1218.472, 'text': 'Right So the request basically gets forwarded multiple times.', 'start': 1214.308, 'duration': 4.164}, {'end': 1225.394, 'text': 'And that creates a chain of requests for one request that a user initiated,', 'start': 1219.113, 'duration': 6.281}, {'end': 1234.056, 'text': 'and tracing service basically helps you trace that whole chain of requests of microservices from one microservice to another.', 'start': 1225.394, 'duration': 8.662}], 'summary': 'Tracing service helps track chain of requests across microservices.', 'duration': 26.176, 'max_score': 1207.88, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1207880.jpg'}], 'start': 773.564, 'title': 'Kubernetes and istio configuration', 'summary': "Covers labeling kubernetes components, shutting down and recreating microservices, and applying manifest files. it also discusses istio's automatic injection of envoy proxy containers, add-on installation for data visualization and monitoring, and the functionalities of grafana, jaeger, and prometheus.", 'chapters': [{'end': 837.854, 'start': 773.564, 'title': 'Kubernetes manifest labeling', 'summary': 'Demonstrates how to add labels to kubernetes components, shut down and recreate microservices, and apply kubernetes manifest files without modifying existing configuration files.', 'duration': 64.29, 'highlights': ['Labeling allows adding multiple labels to any component, providing flexibility in organizing and managing Kubernetes resources.', 'Demonstrates shutting down and recreating microservices to observe the injection of proxies, enhancing understanding of Kubernetes operations.', 'Highlighting the use of Kubernetes manifest files without modifying existing configuration, emphasizing the simplicity and efficiency of the process.']}, {'end': 1234.056, 'start': 838.034, 'title': 'Istio configuration and add-ons', 'summary': 'Discusses the automatic injection of envoy proxy containers by istio into kubernetes pods, the installation of istio add-ons for data visualization and monitoring, and the functionalities of grafana, jaeger, and prometheus in the istio system.', 'duration': 396.022, 'highlights': ["Istio automatically injects Envoy proxy containers into every pod in the default namespace, eliminating the need for manual configuration, resulting in a quick start time of just two minutes. Istio's automatic injection of Envoy proxy containers into pods in the default namespace reduces manual configuration and significantly decreases the start time to just two minutes.", 'Istio add-ons, including Grafana, Jaeger, and Prometheus, are installed using Kubernetes configuration files in the Istio installation folder to facilitate data visualization, monitoring, and tracing of microservices. The installation of Istio add-ons, such as Grafana, Jaeger, and Prometheus, is achieved by applying Kubernetes configuration files from the Istio installation folder, enabling data visualization, monitoring, and tracing of microservices.', 'Prometheus is utilized for monitoring various aspects within the cluster, including servers, memory, CPU usage, and Kubernetes components, while Grafana serves as a data visualization tool for metrics data. Prometheus is employed for monitoring servers, memory, CPU usage, and Kubernetes components, while Grafana functions as a data visualization tool for metrics data within the cluster.', 'Jaeger collector and tracing service assists in tracing the chain of requests in microservices applications, providing insights into the path of requests through multiple microservices. Jaeger collector and tracing service aid in tracing the chain of requests in microservices applications, offering insights into the path of requests through multiple microservices.']}], 'duration': 460.492, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk773564.jpg', 'highlights': ['Labeling allows adding multiple labels to any component, providing flexibility in organizing and managing Kubernetes resources.', 'Demonstrates shutting down and recreating microservices to observe the injection of proxies, enhancing understanding of Kubernetes operations.', 'Highlighting the use of Kubernetes manifest files without modifying existing configuration, emphasizing the simplicity and efficiency of the process.', 'Istio automatically injects Envoy proxy containers into every pod in the default namespace, reducing manual configuration and significantly decreasing the start time to just two minutes.', 'Istio add-ons, including Grafana, Jaeger, and Prometheus, are installed using Kubernetes configuration files from the Istio installation folder to facilitate data visualization, monitoring, and tracing of microservices.', 'Prometheus is utilized for monitoring various aspects within the cluster, including servers, memory, CPU usage, and Kubernetes components, while Grafana serves as a data visualization tool for metrics data.', 'Jaeger collector and tracing service assists in tracing the chain of requests in microservices applications, providing insights into the path of requests through multiple microservices.']}, {'end': 1645.877, 'segs': [{'end': 1351.707, 'src': 'embed', 'start': 1326.81, 'weight': 0, 'content': [{'end': 1333.295, 'text': 'as well as features to actually configure your microservices set up and communication.', 'start': 1326.81, 'duration': 6.485}, {'end': 1337.878, 'text': "So we're going to take a quick look on Kiali and how it looks.", 'start': 1333.835, 'duration': 4.043}, {'end': 1346.203, 'text': "And basically we have all types of visualization, including the monitoring data in the tracing data, because it's so cool.", 'start': 1338.538, 'duration': 7.665}, {'end': 1350.346, 'text': "Actually, we're going to take a very quick look at Kiali specifically.", 'start': 1346.303, 'duration': 4.043}, {'end': 1351.707, 'text': 'in our demo.', 'start': 1350.986, 'duration': 0.721}], 'summary': 'Kiali offers visualization for monitoring and tracing data in microservices setup.', 'duration': 24.897, 'max_score': 1326.81, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1326810.jpg'}, {'end': 1406.478, 'src': 'heatmap', 'start': 1380.343, 'weight': 0.814, 'content': [{'end': 1385.886, 'text': "So this will configure port forwarding for this internal service, which we can't access from outside.", 'start': 1380.343, 'duration': 5.543}, {'end': 1390.669, 'text': 'So I will be able to access it locally, local host on this port.', 'start': 1386.326, 'duration': 4.343}, {'end': 1392.03, 'text': "So let's execute.", 'start': 1391.129, 'duration': 0.901}, {'end': 1395.992, 'text': "And That's the address.", 'start': 1393.31, 'duration': 2.682}, {'end': 1398.873, 'text': "And let's open it here.", 'start': 1397.593, 'duration': 1.28}, {'end': 1406.478, 'text': 'And there you go, this is actually Kiali dashboard or view.', 'start': 1402.295, 'duration': 4.183}], 'summary': 'Configured port forwarding for internal service, enabling local access to kiali dashboard.', 'duration': 26.135, 'max_score': 1380.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1380343.jpg'}, {'end': 1589.609, 'src': 'embed', 'start': 1559.081, 'weight': 1, 'content': [{'end': 1569.277, 'text': 'We have them in services and deployments and if label actually has a special meaning in Istio.', 'start': 1559.081, 'duration': 10.196}, {'end': 1575.561, 'text': "So whenever you're deploying your microservices in Istio enabled cluster,", 'start': 1569.898, 'duration': 5.663}, {'end': 1582.645, 'text': 'you actually have to have this app label on your deployments and services for the data visualization to work.', 'start': 1575.561, 'duration': 7.084}, {'end': 1584.346, 'text': 'I mean, the pods will still deploy.', 'start': 1582.905, 'duration': 1.441}, {'end': 1589.609, 'text': 'You will not have any errors, but the visualization will not work like this.', 'start': 1584.366, 'duration': 5.243}], 'summary': "In istio, microservices need 'app' label for visualization to work.", 'duration': 30.528, 'max_score': 1559.081, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1559081.jpg'}], 'start': 1234.656, 'title': 'Visualizing istio cluster data', 'summary': 'Explains deploying and utilizing jaeger, zipkin, prometheus, and kiali for visualizing and monitoring istio cluster data, emphasizing the importance of labels in kubernetes configuration files for istio visualization to work.', 'chapters': [{'end': 1645.877, 'start': 1234.656, 'title': 'Visualizing istio cluster data', 'summary': 'Explains how to deploy and utilize jaeger, zipkin, prometheus, and kiali for visualizing and monitoring istio cluster data, emphasizing the importance of labels in kubernetes configuration files for istio visualization to work.', 'duration': 411.221, 'highlights': ['Kiali provides visualization features for microservices and their communication, including monitoring and tracing data. Kiali offers visualization for 12 applications in the default namespace, showcasing the network of microservices and their interactions, and provides metrics, traces, and traffic inbound data.', "The importance of the 'app' label in Kubernetes configuration files for Istio visualization to work is emphasized. The 'app' label is crucial for Istio to visualize the application graph and communication between microservices, without which the visualization will not work effectively.", 'Deployment of additional add-ons like Jaeger, Zipkin, Prometheus, and Kiali for monitoring and visualizing Istio cluster data is explained. The chapter details the deployment process of Jaeger, Zipkin, Prometheus, and Kiali to visualize metrics, tracing data, and communication data between microservices in the Istio cluster.']}], 'duration': 411.221, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/voAyroDb6xk/pics/voAyroDb6xk1234656.jpg', 'highlights': ['Kiali offers visualization for 12 applications in the default namespace, showcasing the network of microservices and their interactions, and provides metrics, traces, and traffic inbound data.', "The 'app' label is crucial for Istio to visualize the application graph and communication between microservices, without which the visualization will not work effectively.", 'The chapter details the deployment process of Jaeger, Zipkin, Prometheus, and Kiali to visualize metrics, tracing data, and communication data between microservices in the Istio cluster.']}], 'highlights': ['Deploying a demo microservices application in a local mini cube cluster for feature visualization.', 'Installing Istio core and add ons for monitoring and tracing in a Kubernetes cluster.', "Learn how to install istio service mesh in a kubernetes cluster, deploy it on a mini cube cluster in approximately eight minutes, manage data in kubernetes using kasten's k10 platform, configure istio with kubernetes components, and visualize istio cluster data using jaeger, zipkin, prometheus, and kiali.", 'Obtaining the executable Istio binary folder after unpacking the tar file.', 'Adding the path to the Istio binary folder to the executable path.', 'Deployment of microservices from Google Cloud Platform demo project into the cluster, time taken for all microservices to be up and running.', "Successful installation of Istio using 'Istio CTL install' command, creation of Istio core, Istio D, and Ingress Gateway components in the cluster.", "Kasten's K10 platform simplifies backup and restore in Kubernetes, reducing the load on cluster administrators with a simple UI and intelligent logic.", 'Kasten integrates with major cloud platforms, facilitating easy migration of applications with their data from one cluster to another.', 'Kasten ensures end-to-end security in data management for Kubernetes applications.', "Istio doesn't inject proxies into every pod that starts in the cluster by default, and explicit configuration is required (default behavior of Istio).", 'Each microservice has one container inside the pod, and Istio should inject proxy containers in each of those pods (number of containers per pod).', "The process involves labeling a namespace with Istio injection enabled, which is done by adding the label 'Istio injection enabled' to the default namespace.", "The chapter emphasizes the importance of naming the label exactly as 'Istio injection enabled' to ensure Istio understands it.", 'Labeling allows adding multiple labels to any component, providing flexibility in organizing and managing Kubernetes resources.', 'Demonstrates shutting down and recreating microservices to observe the injection of proxies, enhancing understanding of Kubernetes operations.', 'Istio automatically injects Envoy proxy containers into every pod in the default namespace, reducing manual configuration and significantly decreasing the start time to just two minutes.', 'Istio add-ons, including Grafana, Jaeger, and Prometheus, are installed using Kubernetes configuration files from the Istio installation folder to facilitate data visualization, monitoring, and tracing of microservices.', 'Prometheus is utilized for monitoring various aspects within the cluster, including servers, memory, CPU usage, and Kubernetes components, while Grafana serves as a data visualization tool for metrics data.', 'Jaeger collector and tracing service assists in tracing the chain of requests in microservices applications, providing insights into the path of requests through multiple microservices.', 'Kiali offers visualization for 12 applications in the default namespace, showcasing the network of microservices and their interactions, and provides metrics, traces, and traffic inbound data.', "The 'app' label is crucial for Istio to visualize the application graph and communication between microservices, without which the visualization will not work effectively.", 'The chapter details the deployment process of Jaeger, Zipkin, Prometheus, and Kiali to visualize metrics, tracing data, and communication data between microservices in the Istio cluster.']}