title
Kubernetes Ingress Tutorial for Beginners | simply explained | Kubernetes Tutorial 22
description
Complete Kubernetes Ingress Tutorial, in which I explain thoroughly what Ingress and Ingress Controller is, when you need Ingress and how to configure Ingress in your cluster.
► Subscribe To Me On Youtube: https://bit.ly/2z5rvTV
► GitLab Link: https://bit.ly/3mJHVFc
In detail the video covers the following topics:
0:00 - Intro
0:16 - What is Ingress? External Service vs. Ingress
1:35 - Example YAML Configuration Files for External Service and Ingress
4:00 - Internal Service Configuration for Ingress
5:27 - How to configure Ingress in your cluster?
6:20 - What is Ingress Controller?
7:37 - Environment on which your cluster is running (Cloud provider or bare metal)
10:48 - Demo: Configure Ingress in Minikube
1) Install Ingress Controller in Minikube
2) Create Ingress Rule
16:15 - Ingress Default Backend
18:30 - Routing Use Cases
18:40 - Multiple paths for same host
20:01 - Multiple sub-domains or domains
20:57 - Configuring TLS Certificate
List of Ingress Controllers you can choose from: https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/
Ingress Controller Bare Metal: https://kubernetes.github.io/ingress-nginx/deploy/baremetal/
▬▬▬▬▬▬ Want to learn more? 🚀 ▬▬▬▬▬▬
Full Kubernetes and Docker tutorial 👉🏼 https://www.youtube.com/playlist?list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb
What is Kubernetes? 👉🏼 https://youtu.be/VnvRFRk_51k
Kubernetes Components explained? 👉🏼 https://youtu.be/Krpb44XR0bk
Complete Application Setup 💪🏼 https://youtu.be/EQNO_kM96Mo
For any questions/issues/feedback, please leave me a comment and I will get back to you as soon as possible. Also please let me know what you want to learn about Docker & Kubernetes or another technology.
#kubernetes #kubernetestutorial #devops #techworldwithnana
▬▬▬▬▬▬ Maybe interesting for you 😎 ▬▬▬▬▬▬
Kubernetes 101 - compact and easy-to-read ebook bundle ► https://bit.ly/3mPIaiU
30% off Udemy course Logging in K8s with EFK stack ► https://bit.ly/35qF26i
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
Join private Facebook group ► https://bit.ly/32UVSZP
Don't forget to subscribe ► https://bit.ly/3mO4jxT
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
Legal Notice:
Kubernetes and the Kubernetes logo are trademarks or registered trademarks of The Linux Foundation in the United States and/or other countries. The Linux Foundation and other parties may also have trademark rights in other terms used herein. This video is not accredited, certified, affiliated with, nor endorsed by Kubernetes or The Linux Foundation.
detail
{'title': 'Kubernetes Ingress Tutorial for Beginners | simply explained | Kubernetes Tutorial 22', 'heatmap': [{'end': 154.784, 'start': 138.039, 'weight': 0.739}, {'end': 250.768, 'start': 235.175, 'weight': 0.79}, {'end': 296.31, 'start': 260.23, 'weight': 1}, {'end': 723.603, 'start': 691.945, 'weight': 0.845}, {'end': 988.383, 'start': 855.422, 'weight': 0.796}], 'summary': 'The tutorial covers ingress in kubernetes, explaining its use cases such as secure connection using https and redirecting requests, kubernetes yaml syntax for defining services and ingress, configuring and setting up ingress, the role of ingress controller, setup of ingress controller in mini cube, handling kubernetes error messages, and configuring tls certificates.', 'chapters': [{'end': 250.768, 'segs': [{'end': 57.727, 'src': 'embed', 'start': 0.666, 'weight': 0, 'content': [{'end': 8.469, 'text': "So in this video, we're going to talk about what Ingress is and how you should use it and also what are different use cases for Ingress.", 'start': 0.666, 'duration': 7.803}, {'end': 24.781, 'text': "So first of all, let's imagine a simple Kubernetes cluster where we have a part of my application and its corresponding service, my service.", 'start': 14.571, 'duration': 10.21}, {'end': 29.606, 'text': 'So the first thing you need for your application is to be accessible through browser.', 'start': 24.881, 'duration': 4.725}, {'end': 34.73, 'text': 'Right So for external, requests to be able to reach your application.', 'start': 29.666, 'duration': 5.064}, {'end': 44.517, 'text': 'So one way to do that an easy way is through an external service where, basically, you can access the application using HTTP protocol,', 'start': 35.37, 'duration': 9.147}, {'end': 47.879, 'text': 'the IP address of the node and the port.', 'start': 44.517, 'duration': 3.362}, {'end': 51.322, 'text': 'However, this is good for test cases.', 'start': 48.4, 'duration': 2.922}, {'end': 54.204, 'text': 'And if you want to try something very fast.', 'start': 51.622, 'duration': 2.582}, {'end': 57.727, 'text': 'But this is not what the final product should look like.', 'start': 54.624, 'duration': 3.103}], 'summary': 'Ingress enables external access to applications in a kubernetes cluster, improving accessibility and usability.', 'duration': 57.061, 'max_score': 0.666, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM666.jpg'}, {'end': 110.441, 'src': 'embed', 'start': 83.428, 'weight': 1, 'content': [{'end': 88.67, 'text': "And now, if the request comes from the browser, it's going to first reach the ingress and ingress,", 'start': 83.428, 'duration': 5.242}, {'end': 93.432, 'text': "then we'll redirect it to the internal service and then it will eventually end up with the pod.", 'start': 88.67, 'duration': 4.762}, {'end': 101.456, 'text': "So now let's actually take a look and see how external service configuration looks like so that you have a practical understanding.", 'start': 93.853, 'duration': 7.603}, {'end': 110.441, 'text': 'So, first of all, if you want to know in more details how crazy Yamo files are written and what the syntax looks like for different components,', 'start': 101.916, 'duration': 8.525}], 'summary': 'Browser requests go through ingress, service, and reach pod. exploring external service configuration.', 'duration': 27.013, 'max_score': 83.428, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM83428.jpg'}, {'end': 154.784, 'src': 'heatmap', 'start': 126.03, 'weight': 2, 'content': [{'end': 131.374, 'text': 'And this is the port number that the user can access the application at.', 'start': 126.03, 'duration': 5.344}, {'end': 137.559, 'text': 'So basically the IP address, the external IP address and the port number that you specify here.', 'start': 131.674, 'duration': 5.885}, {'end': 144.305, 'text': 'Again, if you want to know more details about each attribute, then check out my Kubernetes YAML video.', 'start': 138.039, 'duration': 6.266}, {'end': 148.96, 'text': 'Now, with ingress, of course, it looks differently.', 'start': 145.697, 'duration': 3.263}, {'end': 151.362, 'text': "So let's go through the syntax of ingress.", 'start': 149, 'duration': 2.362}, {'end': 154.784, 'text': 'Basically, you have a kind ingress instead of a service.', 'start': 151.702, 'duration': 3.082}], 'summary': 'The transcript discusses the port number and syntax of ingress in kubernetes.', 'duration': 25.332, 'max_score': 126.03, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM126030.jpg'}, {'end': 268.371, 'src': 'heatmap', 'start': 235.175, 'weight': 0.79, 'content': [{'end': 239.198, 'text': 'So this is actually the second step and not to confuse it with this one.', 'start': 235.175, 'duration': 4.023}, {'end': 244.966, 'text': "And now let's see how the internal service to that ingress will look like.", 'start': 240.305, 'duration': 4.661}, {'end': 250.768, 'text': 'So basically backhand is the target where the request, the incoming request,', 'start': 245.426, 'duration': 5.342}, {'end': 259.87, 'text': 'will be redirected and the service name should correspond to the internal service name, like this, and the port should be internal service port.', 'start': 250.768, 'duration': 9.102}, {'end': 268.371, 'text': "And as you see here, the only difference between the external and internal services is that Here in internal service I don't have the third ports,", 'start': 260.23, 'duration': 8.141}], 'summary': 'Describing internal service configuration for ingress.', 'duration': 33.196, 'max_score': 235.175, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM235175.jpg'}], 'start': 0.666, 'title': 'Ingress and kubernetes yaml', 'summary': 'Covers the concept of ingress in kubernetes, its use cases, including secure connection using https and redirecting requests, and explains kubernetes yaml syntax and concepts for defining services and ingress, such as load balancer type services with external ip addresses and port numbers, ingress rules for routing requests, and configuration of http protocol for https connections.', 'chapters': [{'end': 101.456, 'start': 0.666, 'title': 'Understanding ingress in kubernetes', 'summary': 'Explains the concept of ingress in kubernetes, highlighting its use cases, such as providing a secure connection using https and redirecting requests to internal services, in contrast to using external services with ip addresses and ports, emphasizing the importance of ingress for the final product.', 'duration': 100.79, 'highlights': ['Ingress provides a secure connection using HTTPS and redirects requests to internal services, ensuring that the final product has a domain name for the application and uses HTTPS for secure connections, emphasizing the importance of Ingress for the final product.', 'Describes the limitations of using external services with IP addresses and ports, stating that it is only suitable for test cases and quick trials, but not for the final product.']}, {'end': 250.768, 'start': 101.916, 'title': 'Kubernetes yaml syntax and concepts', 'summary': 'Explains the syntax and concepts of kubernetes yaml for defining services and ingress, covering load balancer type services with external ip addresses and port numbers, ingress rules for routing requests, and the configuration of http protocol for https connections.', 'duration': 148.852, 'highlights': ['Load balancer type services open to public with external IP address and port number, explained in the context of Kubernetes YAML. Explains how load balancer type services are opened to the public by assigning an external IP address and port number, providing an overview of the configuration in Kubernetes YAML.', 'Ingress rules for routing requests and defining mappings, with a focus on URL path configurations. Details the syntax of ingress rules for routing requests and defining mappings, emphasizing the configuration of URL paths for directing requests to internal services.', 'Explanation of configuring HTTP protocol for HTTPS connections using the ingress component. Discusses the configuration of the HTTP protocol for enabling HTTPS connections using the ingress component, highlighting the upcoming demonstration of configuring HTTPS connections.']}], 'duration': 250.102, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM666.jpg', 'highlights': ['Ingress provides secure connection using HTTPS and redirects requests to internal services, ensuring domain name and HTTPS usage.', 'Load balancer type services open to public with external IP address and port number, explained in Kubernetes YAML.', 'Ingress rules for routing requests and defining mappings, focusing on URL path configurations.', 'Describes limitations of using external services with IP addresses and ports, not suitable for final product.']}, {'end': 647.936, 'segs': [{'end': 296.31, 'src': 'heatmap', 'start': 260.23, 'weight': 1, 'content': [{'end': 268.371, 'text': "And as you see here, the only difference between the external and internal services is that Here in internal service I don't have the third ports,", 'start': 260.23, 'duration': 8.141}, {'end': 270.132, 'text': 'which is the node ports, starting from 30000..', 'start': 268.371, 'duration': 1.761}, {'end': 272.314, 'text': "We don't have that attribute here.", 'start': 270.132, 'duration': 2.182}, {'end': 279.279, 'text': 'And the type is a default type, not a load balancer, but internal service type, which is cluster IP.', 'start': 272.874, 'duration': 6.405}, {'end': 282.862, 'text': 'So this should be a valid domain address.', 'start': 279.619, 'duration': 3.243}, {'end': 285.063, 'text': 'So you can just write anything here.', 'start': 283.042, 'duration': 2.021}, {'end': 286.784, 'text': 'It has to be, first of all, valid.', 'start': 285.163, 'duration': 1.621}, {'end': 296.31, 'text': 'And you should map that domain name to IP address of the node that represents an entry point to your Kubernetes cluster.', 'start': 287.245, 'duration': 9.065}], 'summary': 'The internal service lacks node ports and uses cluster ip as the type, representing a valid domain address.', 'duration': 36.08, 'max_score': 260.23, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM260230.jpg'}, {'end': 368.332, 'src': 'embed', 'start': 320.74, 'weight': 0, 'content': [{'end': 328.271, 'text': "So now that we saw what Kubernetes ingress components looks like, let's see how to actually configure ingress in the cluster.", 'start': 320.74, 'duration': 7.531}, {'end': 331.816, 'text': 'So remember this diagram I showed you at the beginning.', 'start': 328.952, 'duration': 2.864}, {'end': 336.242, 'text': 'So basically you have a pod service and corresponding ingress.', 'start': 332.216, 'duration': 4.026}, {'end': 345.911, 'text': "Now, if you create that ingress components alone, that won't be enough for ingress routing rules to work.", 'start': 336.943, 'duration': 8.968}, {'end': 352.897, 'text': 'What you need in addition is an implementation for ingress and that implementation is called ingress controller.', 'start': 346.371, 'duration': 6.526}, {'end': 363.047, 'text': 'So the step one will be to install an ingress controllers, which is basically another pod or another set of pods that run, on your note,', 'start': 353.437, 'duration': 9.61}, {'end': 368.332, 'text': 'in your Kubernetes cluster and does evaluation and processing of ingress rules.', 'start': 363.047, 'duration': 5.285}], 'summary': 'To configure kubernetes ingress, install an ingress controller in the cluster.', 'duration': 47.592, 'max_score': 320.74, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM320740.jpg'}, {'end': 491.338, 'src': 'embed', 'start': 441.738, 'weight': 2, 'content': [{'end': 442.798, 'text': 'But there are others as well.', 'start': 441.738, 'duration': 1.06}, {'end': 447.599, 'text': "So once you install ingress controller in your cluster, you're good to go.", 'start': 443.219, 'duration': 4.38}, {'end': 451.46, 'text': 'Create ingress rules and the whole configuration is going to work.', 'start': 447.879, 'duration': 3.581}, {'end': 456.523, 'text': "So, now that I've shown you how ingress can be used in a Kubernetes cluster,", 'start': 451.98, 'duration': 4.543}, {'end': 464.969, 'text': 'there is one thing that I think is important to understand in terms of setting up the whole cluster to be able to receive external requests.', 'start': 456.523, 'duration': 8.446}, {'end': 471.274, 'text': 'Now, first of all, you have to consider the environment where Kubernetes cluster is running.', 'start': 465.63, 'duration': 5.644}, {'end': 478.035, 'text': 'If you are using some cloud service provider like Amazon Web Services, Google Cloud,', 'start': 471.974, 'duration': 6.061}, {'end': 487.717, 'text': 'we know there are a couple more that have out of the box Kubernetes solutions or they have their own virtualized load balances, et cetera.', 'start': 478.035, 'duration': 9.682}, {'end': 491.338, 'text': 'Your cluster configuration would look something like this.', 'start': 487.937, 'duration': 3.401}], 'summary': 'After installing ingress controller in the kubernetes cluster, you can create ingress rules for external requests, especially on cloud service providers like amazon web services or google cloud.', 'duration': 49.6, 'max_score': 441.738, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM441738.jpg'}], 'start': 250.768, 'title': 'Configuring and setting up ingress in kubernetes', 'summary': "Covers the configuration of ingress in kubernetes, including the difference between internal and external services, the need for an ingress controller, and the role of ingress controller in managing redirections. it also explores setting up ingress in a kubernetes cluster, explaining the installation process, considerations for different environments, and the ingress controller's role in handling external requests.", 'chapters': [{'end': 418.132, 'start': 250.768, 'title': 'Configuring ingress in kubernetes', 'summary': 'Explains the configuration of ingress in kubernetes, including the difference between internal and external services, the need for an ingress controller, and the function of the ingress controller in evaluating and managing redirections.', 'duration': 167.364, 'highlights': ['The difference between the external and internal services is that internal service does not have the node ports attribute, starting from 30000. This highlights the distinction between external and internal services, emphasizing the absence of the node ports attribute in the internal service.', 'The type of internal service is a default type, not a load balancer, but internal service type, which is cluster IP. This detail highlights the type of internal service, emphasizing that it is a cluster IP and not a load balancer.', 'The first step to configure ingress in the cluster is to install an ingress controller, which evaluates and processes ingress rules. This emphasizes the initial step in configuring ingress, highlighting the installation of an ingress controller and its role in evaluating and processing ingress rules.', 'The function of the ingress controller is to evaluate all the rules defined in the cluster and manage redirections as the entry point for requests to the domain or subdomain rules. This highlight explains the critical function of the ingress controller in evaluating and managing redirections for requests to the domain or subdomain rules.']}, {'end': 647.936, 'start': 418.512, 'title': 'Setting up ingress in kubernetes', 'summary': 'Explores setting up ingress in a kubernetes cluster, explaining the installation process, considerations for different environments, and the role of ingress controller in handling external requests.', 'duration': 229.424, 'highlights': ['In a cloud environment, the cluster configuration typically involves a cloud load balancer redirecting external requests to the ingress controller, providing an easy setup with minimal effort on most cloud providers.', 'For bare metal environments, an external proxy server can serve as the entry point to the Kubernetes cluster, ensuring that none of the servers within the cluster have publicly accessible IP addresses for enhanced security.', 'Choosing from various third-party implementations of ingress controllers is essential for setting up Ingress in a Kubernetes cluster, with options including Kubernetes Nginx ingress controller and others.', 'Understanding the environment where the Kubernetes cluster is running, such as cloud service providers like Amazon Web Services or Google Cloud, is crucial for configuring the cluster to receive external requests efficiently.']}], 'duration': 397.168, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM250768.jpg', 'highlights': ['The function of the ingress controller is to evaluate all the rules defined in the cluster and manage redirections as the entry point for requests to the domain or subdomain rules.', 'The first step to configure ingress in the cluster is to install an ingress controller, which evaluates and processes ingress rules.', 'In a cloud environment, the cluster configuration typically involves a cloud load balancer redirecting external requests to the ingress controller, providing an easy setup with minimal effort on most cloud providers.', 'Understanding the environment where the Kubernetes cluster is running, such as cloud service providers like Amazon Web Services or Google Cloud, is crucial for configuring the cluster to receive external requests efficiently.']}, {'end': 1022.496, 'segs': [{'end': 723.603, 'src': 'heatmap', 'start': 648.496, 'weight': 0, 'content': [{'end': 655.96, 'text': "So in my case, since I'm using mini cube to demonstrate all this on my laptop, the setup will be pretty easy.", 'start': 648.496, 'duration': 7.464}, {'end': 663.164, 'text': 'And even though this might not apply exactly to your cluster setting, still you will see in practice how all these things work.', 'start': 656.36, 'duration': 6.804}, {'end': 667.146, 'text': 'So the first thing is to install ingress controller in mini cube.', 'start': 663.564, 'duration': 3.582}, {'end': 674.03, 'text': 'And the way to do that is by executing mini cube add ons, enable ingress.', 'start': 667.586, 'duration': 6.444}, {'end': 683.538, 'text': 'So what this does is automatically configures or automatically starts the Kubernetes engine X implementation of ingress controller.', 'start': 674.95, 'duration': 8.588}, {'end': 691.825, 'text': "So that's one of the many third party implementations which you can also safely use in production environments, not just mini cube.", 'start': 683.718, 'duration': 8.107}, {'end': 695.228, 'text': 'But this is what mini cube actually offers you out of the box.', 'start': 691.945, 'duration': 3.283}, {'end': 700.894, 'text': 'So with one simple command, ingress controller will be configured in your cluster.', 'start': 695.729, 'duration': 5.165}, {'end': 710.258, 'text': 'And if you do kubectl get pod in a cube system namespace, you will see the NGINX ingress controller pod running in your cluster.', 'start': 701.754, 'duration': 8.504}, {'end': 717.04, 'text': 'So once I have ingress controller installed, now I can create an ingress rule that the controller can evaluate.', 'start': 710.358, 'duration': 6.682}, {'end': 723.603, 'text': "So let's actually head over to the command line where I'm going to create ingress rule for Kubernetes dashboard component.", 'start': 717.38, 'duration': 6.223}], 'summary': 'Demonstrating ingress controller setup in mini cube for kubernetes dashboard.', 'duration': 46.732, 'max_score': 648.496, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM648496.jpg'}, {'end': 748.096, 'src': 'embed', 'start': 717.38, 'weight': 2, 'content': [{'end': 723.603, 'text': "So let's actually head over to the command line where I'm going to create ingress rule for Kubernetes dashboard component.", 'start': 717.38, 'duration': 6.223}, {'end': 732.047, 'text': 'So in my mini cube cluster, I have Kubernetes dashboard, which is right now not accessible externally.', 'start': 723.983, 'duration': 8.064}, {'end': 740.492, 'text': "So what I'm going to do is, since I already have internal service for Kubernetes dashboard and a pod for that,", 'start': 732.647, 'duration': 7.845}, {'end': 748.096, 'text': "I'm going to configure an ingress rule for the dashboard so I can exit from a browser using some domain name.", 'start': 740.492, 'duration': 7.604}], 'summary': 'Creating ingress rule for kubernetes dashboard to enable external access.', 'duration': 30.716, 'max_score': 717.38, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM717380.jpg'}, {'end': 988.383, 'src': 'heatmap', 'start': 855.422, 'weight': 0.796, 'content': [{'end': 864.491, 'text': "It's not registered anywhere, and I also didn't configure anywhere which IP address this host name should resolve to.", 'start': 855.422, 'duration': 9.069}, {'end': 867.114, 'text': 'And this is something that you will always have to configure.', 'start': 864.832, 'duration': 2.282}, {'end': 872.98, 'text': "So first of all, let's actually create that ingress rule to keep city apply.", 'start': 867.635, 'duration': 5.345}, {'end': 876.724, 'text': "And it's called dashboard ingress.", 'start': 875.102, 'duration': 1.622}, {'end': 881.539, 'text': 'you see Ingress was created.', 'start': 879.059, 'duration': 2.48}, {'end': 891.981, 'text': 'So if I do get Ingress in the namespace, I should see my Ingress here.', 'start': 881.88, 'duration': 10.101}, {'end': 900.183, 'text': 'And as you see, address is now empty because it takes a little bit of time to assign the address to Ingress.', 'start': 892.841, 'duration': 7.342}, {'end': 906.604, 'text': "So we'll have to wait for that to get the IP address that will map to this host.", 'start': 900.603, 'duration': 6.001}, {'end': 910.415, 'text': "So I'm just going to Watch this.", 'start': 907.264, 'duration': 3.151}, {'end': 913.457, 'text': 'And I see that address was assigned.', 'start': 910.936, 'duration': 2.521}, {'end': 918.999, 'text': "So what I'm going to do now is that I'm going to take that address and in my.", 'start': 913.717, 'duration': 5.282}, {'end': 923.501, 'text': 'It to see hosts file.', 'start': 919.019, 'duration': 4.482}, {'end': 934.526, 'text': "At the end, I'm going to define that mapping so that IP address will be mapped to dashboard.", 'start': 927.483, 'duration': 7.043}, {'end': 936.359, 'text': 'Dot com.', 'start': 935.819, 'duration': 0.54}, {'end': 937.861, 'text': 'And again, this works locally.', 'start': 936.76, 'duration': 1.101}, {'end': 944.006, 'text': "If I'm going to type dashboard dot com in the browser, this will be the IP address that it's going to be mapped to.", 'start': 937.901, 'duration': 6.105}, {'end': 953.902, 'text': 'which basically means that the request will come in to my mini cube cluster, will be handed over to Ingress controller,', 'start': 946.435, 'duration': 7.467}, {'end': 961.188, 'text': "and Ingress controller then will go and evaluate this rule that I've defined here and forward that request to service.", 'start': 953.902, 'duration': 7.286}, {'end': 963.61, 'text': 'So this is all the configuration we need.', 'start': 961.969, 'duration': 1.641}, {'end': 968.675, 'text': "So now I'm going to go and enter dashboard dot com.", 'start': 964.111, 'duration': 4.564}, {'end': 973.613, 'text': 'And I will see my Kubernetes dashboard here.', 'start': 971.451, 'duration': 2.162}, {'end': 978.896, 'text': 'So Ingress also has something called a default back end.', 'start': 974.994, 'duration': 3.902}, {'end': 983.079, 'text': 'So if I do keep CTL describe ingress.', 'start': 979.237, 'duration': 3.842}, {'end': 988.383, 'text': 'The name of the ingress and the namespace.', 'start': 986.101, 'duration': 2.282}], 'summary': 'Configuring ingress to map ip address to host name and access kubernetes dashboard', 'duration': 132.961, 'max_score': 855.422, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM855422.jpg'}], 'start': 648.496, 'title': 'Configuring ingress controllers in kubernetes', 'summary': 'Covers the setup of ingress controller in mini cube and configuring it in a cluster, including the installation and usage of kubernetes engine x implementation. it also demonstrates creating ingress rules for the kubernetes dashboard component for external access and configuring ingress to forward requests to the internal kubernetes dashboard service, along with handling unmapped requests.', 'chapters': [{'end': 695.228, 'start': 648.496, 'title': 'Ingress controller setup in mini cube', 'summary': 'Covers the setup of ingress controller in mini cube, demonstrating the process and its applicability to cluster settings, including the installation and usage of kubernetes engine x implementation of ingress controller.', 'duration': 46.732, 'highlights': ['The setup process for ingress controller in mini cube is demonstrated, offering practical insight into its functionality and applicability to cluster settings.', "Executing 'mini cube add ons, enable ingress' automatically configures the Kubernetes engine X implementation of ingress controller, which is also suitable for production environments."]}, {'end': 796.585, 'start': 695.729, 'title': 'Configuring ingress controller and creating ingress rule', 'summary': 'Explains how to configure an ingress controller in a cluster using a simple command and then create an ingress rule for the kubernetes dashboard component, enabling external access to the dashboard using a domain name.', 'duration': 100.856, 'highlights': ["Ingress controller configured in cluster with a simple command By using a single command, the Ingress controller is configured in the cluster, as observed by running 'kubectl get pod' in a 'kube-system' namespace.", 'Creation of Ingress rule for Kubernetes dashboard component The process of creating an Ingress rule for the Kubernetes dashboard component, which allows external access to the dashboard using a domain name after configuring an internal service and pod for the dashboard.']}, {'end': 1022.496, 'start': 797.826, 'title': 'Configuring ingress for kubernetes dashboard', 'summary': 'Explains the process of configuring ingress to forward requests to the internal kubernetes dashboard service, including creating the ingress rule, waiting for the address assignment, and mapping the ip address to the host name. it also covers the default backend for handling unmapped requests.', 'duration': 224.67, 'highlights': ['The chapter defines the configuration process for Ingress to forward requests to the internal Kubernetes dashboard service, including creating the Ingress rule, waiting for the address assignment, and mapping the IP address to the host name.', 'It explains the utilization of a default backend to handle requests that are not mapped to any backend service within the Kubernetes cluster.']}], 'duration': 374, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM648496.jpg', 'highlights': ["Executing 'mini cube add ons, enable ingress' automatically configures the Kubernetes engine X implementation of ingress controller, suitable for production environments.", "Ingress controller configured in cluster with a simple command, observed by running 'kubectl get pod' in a 'kube-system' namespace.", 'Creation of Ingress rule for Kubernetes dashboard component, allowing external access to the dashboard using a domain name after configuring an internal service and pod for the dashboard.', 'The chapter defines the configuration process for Ingress to forward requests to the internal Kubernetes dashboard service, including creating the Ingress rule, waiting for the address assignment, and mapping the IP address to the host name.']}, {'end': 1389.394, 'segs': [{'end': 1046.42, 'src': 'embed', 'start': 1022.937, 'weight': 0, 'content': [{'end': 1031.625, 'text': "So obviously, if you don't have this service, created or defined in your cluster communities will try to forward it to the service.", 'start': 1022.937, 'duration': 8.688}, {'end': 1036.631, 'text': "It won't find it and you would get some default error response.", 'start': 1031.726, 'duration': 4.905}, {'end': 1044.497, 'text': "So, for example, if I entered some path that I haven't configured, I just get page not found.", 'start': 1036.951, 'duration': 7.546}, {'end': 1046.42, 'text': 'So a good usage,', 'start': 1044.998, 'duration': 1.422}], 'summary': 'Without defined services, errors occur when accessing paths in the cluster.', 'duration': 23.483, 'max_score': 1022.937, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM1022937.jpg'}, {'end': 1090.259, 'src': 'embed', 'start': 1070.063, 'weight': 3, 'content': [{'end': 1081.653, 'text': 'So default should be backhand and the port number and also create a pod or application that sends that error custom error message response.', 'start': 1070.063, 'duration': 11.59}, {'end': 1085.916, 'text': 'So till now, I have shown you what Ingress is and how you can use it.', 'start': 1082.253, 'duration': 3.663}, {'end': 1090.259, 'text': "I've also shown you a demo of how to create an Ingress rule in Minikube,", 'start': 1086.076, 'duration': 4.183}], 'summary': 'Demonstrated ingress usage and rule creation in minikube.', 'duration': 20.196, 'max_score': 1070.063, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM1070063.jpg'}, {'end': 1273.07, 'src': 'embed', 'start': 1245.792, 'weight': 4, 'content': [{'end': 1251.436, 'text': 'So now in the same request setting, you have analytic service and a pod behind it.', 'start': 1245.792, 'duration': 5.644}, {'end': 1256.819, 'text': 'Another request will look like this using the subdomain instead of path.', 'start': 1251.856, 'duration': 4.963}, {'end': 1263.563, 'text': "And one final topic that I mentioned that we'll cover here is configuring TLS certificate.", 'start': 1257.5, 'duration': 6.063}, {'end': 1273.07, 'text': "Till now, we've only seen Ingress configuration for HTTP requests, but it's super easy to configure HTTPS forwarding in Ingress.", 'start': 1263.904, 'duration': 9.166}], 'summary': 'Configuring tls certificate for https forwarding in ingress.', 'duration': 27.278, 'max_score': 1245.792, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM1245792.jpg'}], 'start': 1022.937, 'title': 'Kubernetes error messages and ingress configuration', 'summary': 'Discusses the importance of defining custom error messages in kubernetes services to provide meaningful responses, and covers the use of ingress, including creating rules, defining paths and hosts, and configuring tls certificates.', 'chapters': [{'end': 1069.783, 'start': 1022.937, 'title': 'Handling custom error messages in kubernetes', 'summary': "Discusses the importance of defining custom error messages in kubernetes services to provide meaningful responses to users, highlighting how the absence of defined services leads to default error responses, such as 'page not found', and emphasizes the creation of internal services with the same name to handle requests effectively.", 'duration': 46.846, 'highlights': ["The absence of defined services leads to default error responses, such as 'page not found'.", 'Defining custom error messages in Kubernetes services is important for providing meaningful responses to users.', 'Creating internal services with the same name allows for effective handling of requests.']}, {'end': 1389.394, 'start': 1070.063, 'title': 'Ingress configuration and use cases', 'summary': 'Covers the use of ingress in kubernetes, including the creation of ingress rules in minikube, defining multiple paths and hosts for applications using ingress, and configuring tls certificates for https forwarding.', 'duration': 319.331, 'highlights': ['Defining multiple paths and hosts for applications using Ingress Ingress configuration allows defining multiple paths and hosts for applications, enabling fine-grained routing within Kubernetes cluster.', 'Configuring TLS certificates for HTTPS forwarding in Ingress It is super easy to configure HTTPS forwarding in Ingress by defining a TLS attribute with the host and secret name, referencing a TLS certificate secret in the cluster.', 'Creating Ingress rules in Minikube The chapter demonstrates the creation of Ingress rules in Minikube, showcasing basic forwarding to one internal service with one path.']}], 'duration': 366.457, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/80Ew_fsV4rM/pics/80Ew_fsV4rM1022937.jpg', 'highlights': ['Defining custom error messages in Kubernetes services is important for providing meaningful responses to users.', "The absence of defined services leads to default error responses, such as 'page not found'.", 'Creating internal services with the same name allows for effective handling of requests.', 'Defining multiple paths and hosts for applications using Ingress configuration allows fine-grained routing within Kubernetes cluster.', 'Configuring TLS certificates for HTTPS forwarding in Ingress is super easy by defining a TLS attribute with the host and secret name.', 'The chapter demonstrates the creation of Ingress rules in Minikube, showcasing basic forwarding to one internal service with one path.']}], 'highlights': ['Ingress provides secure connection using HTTPS and redirects requests to internal services, ensuring domain name and HTTPS usage.', 'The function of the ingress controller is to evaluate all the rules defined in the cluster and manage redirections as the entry point for requests to the domain or subdomain rules.', "Executing 'mini cube add ons, enable ingress' automatically configures the Kubernetes engine X implementation of ingress controller, suitable for production environments.", 'Defining custom error messages in Kubernetes services is important for providing meaningful responses to users.', 'Configuring TLS certificates for HTTPS forwarding in Ingress is super easy by defining a TLS attribute with the host and secret name.']}