Wow! at 40min you certainly covered a lot and didn't waste a second. I am an HPC engineer kicking the tires on Kubernetes. I set up OpenStack in my home lab and RKE2 Kubernetes with Rancher and Longhorn. This was exactly what I needed to put it to work. Thanks!
I don't comment frequently, but I need you to know that I have watched/read a fair number of K8s tutorials before and none of them were as clear as this one by a mile. You do an excellent job of just showing the whole process, beginning to end, explaining each concept simply in a way that brings it all together. Kudos.
Excellent video! While working on your Docker tutorial course, I decided to watch this video as we used Kubernetes instead of shipyard where I work. This was a great way to the general idea of what Kubernetes does to help manage and deploy your docker containers!
Crazy how all this was confusing and made no sense to me before. After watching this, for whatever reason, so many blockers are gone. Thank you so much! Still gotta go through the tutorial properly / further practice my Docker and Linux skills, but this opened up a lot of those blockers!
By faR the best 40 minute video I have ever watched to learn something new in one sitting. I seriously mean it, this was about 90% of what I needed to get my AI project on the web! Thank you so much!
If you're using a more recent version of fastapi, and seeing an error along the lines of "To use the fastapi command, please install "fastapi[standard]": pip install "fastapi[standard]" ", then change the requirements.txt file to instead import `fastapi[standard]~=`. For example, `fastapi[standard]~=0.112`.
This is still awesome content, thanks Sid. I hope you keep going.. I did have one issue. The deployment went in error: 'MinimumReplicasUnavailable'. The Pod logs showed: 'exec /usr/local/bin/uvicorn: exec format error'. Turned out this happened because I built my docker image on my M1 mac. I needed to include '--platform=linux/amd64' in order to build for the Civo amd64 Nodes. Thanks again.
Thanks! I've been in a bit of a content hibernation recently focused on some consulting work, but hoping to pick back up soon(ish)! It's a shame there is not a clearer error for "image built for the wrong platform" errors. I remember losing a couple of hours the first time I encountered that one! Nice job figuring out the root cause! 👏
Amazing amazing. Thank you so much for this tutorial. This has been one major confusion in my mind, while trying to learn k8. Do you have any corresponding paid courses?
@@softcoda just last week I released a comprehensive 6hr k8s course that goes way more in depth than this video! ruclips.net/video/2T86xAtR6Fo/видео.htmlsi=SSbsVBwBixrjJhv3
Why Port forward after creating the pods. I thought that was already defined within the deployment file. Also, thh hi ought the service configuration was supposed to provide similar functionality
@@softcoda port forwarding is just a quick way to validate it is working as expected. You are correct that you would expose via a service for actually communicating with the pods on an ongoing basis
Likely due to my office/recording space being crammed into a tiny bedroom with lots of hard surfaces causing the audio to bounce around and echo. Sorry for your experience, SuperNugget.
Thanks a lot for this Sid😁. I'm new to K8's and before moving to new tech I want to get my hands dirty with some projects on K8's so can you please guide me to some beginner friendly projects? Appreciate all the hard work😅
thanks for this nice & easy tutorial. I have questions 1. did you already have wildcart TLS certs generated for your domain ? 2. How did you validate the sub-domain with ingress ? you didn't pass the certs in your yaml file
Hello -- I kind of glossed passed this in the video. I am using CloudFlare with "Flexible SSL mode" turned on developers.cloudflare.com/ssl/origin-configuration/ssl-modes/#flexible In this configuration, TLS is terminated at Cloudflare and then the request is sent to the Kubernetes ingress over HTTP
It makes things simple, but is less secure (since traffic is unencrypted from cloudflare's servers to your own). If you are dealing with sensitive data I would opt for a solution where you terminate TLS in your cluster (or at least at the loadbalancer within your VPC). I don't think the Civo load balancer has an option to terminate TLS there, I think the best bet for Civo would be to use cert-manager.io/ to manage them.
Hey Sid, you are my biggest inspiration. Would you please be my mentor while I learn operations ? I am planning to post my learning journey on youtube from the very beginning as an example for the community. I have come a long way to this point and I would be really grateful if you please mentor me on my further journey. 🙏
Thanks for the kind words! 🙏 I just subscribed to your channel and look forward to seeing your progress! As far as mentorship, I would suggest you join the DevOps Directive discord server discord.devopsdirective.com/. I'm always happy to have discussions there about learning, career, growth, etc! I prefer to have discussions in public so that others can participate and potentially benefit from the dialog!
The part where you create a kubernetes cluster seems a bit off to me. Isn't the point of a kubernetes cluster to be highly available when nodes fail? Chances are, if one node fails, ALL your nodes/pods are experiencing the same issue and your entire cluster is useless. If your datacenter has an outage/dns problem/whatever your entire kubernetes cluster goes down. What's the point? Shouldn't you have multiple control planes, loadbalancers, etcd, nodes and whatever else across multiple geographic locations? Seems like kubernetes solves nothing and adds complexity. The whole "restart bad pods inside nodes" thing seems pretty bad because all pods are in the same place/environment experiencing the same issues as every other pod. No amount of restarting will create high availability.
In an enterprise yes where you personally aren’t paying the cloud costs - but for this guys example it wouldn’t make sense to have geographical points of presence.
@@GlassFamFishing It doesn't make sense to install kubernetes here then. What's the point? Kubernetes is supposed to be for "high availability". Either it is or isn't.
Wow! at 40min you certainly covered a lot and didn't waste a second.
I am an HPC engineer kicking the tires on Kubernetes. I set up OpenStack in my home lab and RKE2 Kubernetes with Rancher and Longhorn. This was exactly what I needed to put it to work.
Thanks!
I don't comment frequently, but I need you to know that I have watched/read a fair number of K8s tutorials before and none of them were as clear as this one by a mile. You do an excellent job of just showing the whole process, beginning to end, explaining each concept simply in a way that brings it all together. Kudos.
@@BryceYoder-tj3qg you should check out the real course :)
ruclips.net/video/2T86xAtR6Fo/видео.htmlsi=SSbsVBwBixrjJhv3
I hope to see more videos like this on the internet! Explaining everything not just parts of it! Thanks!
Excellent video! While working on your Docker tutorial course, I decided to watch this video as we used Kubernetes instead of shipyard where I work. This was a great way to the general idea of what Kubernetes does to help manage and deploy your docker containers!
Crazy how all this was confusing and made no sense to me before. After watching this, for whatever reason, so many blockers are gone. Thank you so much!
Still gotta go through the tutorial properly / further practice my Docker and Linux skills, but this opened up a lot of those blockers!
These topics were used to seem blended and unclear for me before, but after watching this video it all shaped in my mind. Thanks a lot!!
That's great! Go forth and build!
This is super helpful! Also the mini-debug you showed towards the end was helping me lots.
Pls make more video contents about Kubernetes. Your courses are so industry standard and helped me to improve so much to industry standard.
@@iam_mz here ya go!
ruclips.net/video/2T86xAtR6Fo/видео.htmlsi=SSbsVBwBixrjJhv3
@@DevOpsDirective Thank you so much, I've gone through the video and it is so much informative and helpful!!!! ❤
Awesome video , really found something good after searching a lot . Hope your channel grows.
Simple and brilliant content. Helped me to understand better about K8S. Thank you :)
This is fantastic! Huge help!
lovely and succinct! Very nicely done.
Excellent content Sid, keep uploading CI/CD integrated pipeline, it will be really, really helpful.
Thanks for this. Very straughtforward
By faR the best 40 minute video I have ever watched to learn something new in one sitting. I seriously mean it, this was about 90% of what I needed to get my AI project on the web! Thank you so much!
If you're using a more recent version of fastapi, and seeing an error along the lines of "To use the fastapi command, please install "fastapi[standard]": pip install "fastapi[standard]" ", then change the requirements.txt file to instead import `fastapi[standard]~=`. For example, `fastapi[standard]~=0.112`.
Awesome work. Thanks for putting this on RUclips
Thanks for the video Sid.. You made it very easy. Love watching it and implemented
Great one, Thank you
Amazingly incredibile tutorial ❤
Very good explanation 👏
Clean and Great content bro,
next time please create some content about autoscaling in kubernetes environment, Kudos 🔥
Excellent content 👍🏽 to the point!!
Awesome video for getting started with k8s. 👏
This is still awesome content, thanks Sid. I hope you keep going..
I did have one issue. The deployment went in error: 'MinimumReplicasUnavailable'. The Pod logs showed: 'exec /usr/local/bin/uvicorn: exec format error'. Turned out this happened because I built my docker image on my M1 mac. I needed to include '--platform=linux/amd64' in order to build for the Civo amd64 Nodes. Thanks again.
Thanks! I've been in a bit of a content hibernation recently focused on some consulting work, but hoping to pick back up soon(ish)!
It's a shame there is not a clearer error for "image built for the wrong platform" errors. I remember losing a couple of hours the first time I encountered that one! Nice job figuring out the root cause! 👏
Thanks, this was very helpful.
I'm new to Kubernetes. Maybe I missed something, but how does your local environment know to push to dockerhub?
Thank you boss, keep it going with DevOPS
🚀🚀🚀
How can I figure out the public ip address of cluster using rancher ?
Thanks, that was a great explanation. Can you recommend similar for terraform, helm and ansible?
Amazing amazing. Thank you so much for this tutorial. This has been one major confusion in my mind, while trying to learn k8.
Do you have any corresponding paid courses?
@@softcoda just last week I released a comprehensive 6hr k8s course that goes way more in depth than this video!
ruclips.net/video/2T86xAtR6Fo/видео.htmlsi=SSbsVBwBixrjJhv3
Why Port forward after creating the pods. I thought that was already defined within the deployment file. Also, thh hi ought the service configuration was supposed to provide similar functionality
@@softcoda port forwarding is just a quick way to validate it is working as expected.
You are correct that you would expose via a service for actually communicating with the pods on an ongoing basis
Thanks a lot. Does the video you mentionned at 36:56 already exists?
Not yet!
Fantastic
How do i get the external IP, if my cluster is running on minikube ?
35:50 lol :p the variable name is not dollar-hostname, just hostname ;)
Commenting for though algorithm
"Thank you for your input. I will recommend this video to many more potential viewers" - The YT Algorithm
How did you manage to make the audio quality worse while using a standalone microphone when even your phone could pick up better sound?
Likely due to my office/recording space being crammed into a tiny bedroom with lots of hard surfaces causing the audio to bounce around and echo.
Sorry for your experience, SuperNugget.
Thanks a lot for this Sid😁. I'm new to K8's and before moving to new tech I want to get my hands dirty with some projects on K8's so can you please guide me to some beginner friendly projects? Appreciate all the hard work😅
thanks for this nice & easy tutorial. I have questions
1. did you already have wildcart TLS certs generated for your domain ?
2. How did you validate the sub-domain with ingress ? you didn't pass the certs in your yaml file
Hello -- I kind of glossed passed this in the video.
I am using CloudFlare with "Flexible SSL mode" turned on developers.cloudflare.com/ssl/origin-configuration/ssl-modes/#flexible
In this configuration, TLS is terminated at Cloudflare and then the request is sent to the Kubernetes ingress over HTTP
@@DevOpsDirective ok will look into it. Is this setup recommend for production deployment ?
It makes things simple, but is less secure (since traffic is unencrypted from cloudflare's servers to your own).
If you are dealing with sensitive data I would opt for a solution where you terminate TLS in your cluster (or at least at the loadbalancer within your VPC). I don't think the Civo load balancer has an option to terminate TLS there, I think the best bet for Civo would be to use cert-manager.io/ to manage them.
@@DevOpsDirective understood. Thanks
wow Sid, What is this terminal called
github.com/romkatv/powerlevel10k
WOW!!!!!!!!!!!!!!!!!!!!!!!
nice
hexelent!
Create session Sid!
Thanks, Engin! Probably a bit elementary for you, but wanted to put together an end to end example!
Hey Sid, you are my biggest inspiration. Would you please be my mentor while I learn operations ? I am planning to post my learning journey on youtube from the very beginning as an example for the community. I have come a long way to this point and I would be really grateful if you please mentor me on my further journey. 🙏
Thanks for the kind words! 🙏
I just subscribed to your channel and look forward to seeing your progress!
As far as mentorship, I would suggest you join the DevOps Directive discord server discord.devopsdirective.com/. I'm always happy to have discussions there about learning, career, growth, etc! I prefer to have discussions in public so that others can participate and potentially benefit from the dialog!
@@DevOpsDirective Yeah, sounds better than personal mentorship. Let me hop into the server. And thank you so much that you subscribed.
The part where you create a kubernetes cluster seems a bit off to me. Isn't the point of a kubernetes cluster to be highly available when nodes fail? Chances are, if one node fails, ALL your nodes/pods are experiencing the same issue and your entire cluster is useless. If your datacenter has an outage/dns problem/whatever your entire kubernetes cluster goes down. What's the point? Shouldn't you have multiple control planes, loadbalancers, etcd, nodes and whatever else across multiple geographic locations? Seems like kubernetes solves nothing and adds complexity. The whole "restart bad pods inside nodes" thing seems pretty bad because all pods are in the same place/environment experiencing the same issues as every other pod. No amount of restarting will create high availability.
In an enterprise yes where you personally aren’t paying the cloud costs - but for this guys example it wouldn’t make sense to have geographical points of presence.
@@GlassFamFishing It doesn't make sense to install kubernetes here then. What's the point? Kubernetes is supposed to be for "high availability". Either it is or isn't.
@@alexc7289 because this is just a simple tutorial to help folks get started..
Great vid ! but a layman with no under of k8 will not understand anything
Yeah, need a theory session first… maybe this should be called “Kubernetes 102” 😅
Sorry to say, You need to learn "How to Teach". You might be good subject skilled but lacking the teaching skill.
Thank you, van gogh