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.
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!
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!
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! 👏
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
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! th-cam.com/video/2T86xAtR6Fo/w-d-xo.htmlsi=SSbsVBwBixrjJhv3
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 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.
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😅
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.
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!
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 :)
th-cam.com/video/2T86xAtR6Fo/w-d-xo.htmlsi=SSbsVBwBixrjJhv3
I hope to see more videos like this on the internet! Explaining everything not just parts of it! Thanks!
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!
th-cam.com/video/2T86xAtR6Fo/w-d-xo.htmlsi=SSbsVBwBixrjJhv3
@@DevOpsDirective Thank you so much, I've gone through the video and it is so much informative and helpful!!!! ❤
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!
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!
Simple and brilliant content. Helped me to understand better about K8S. Thank you :)
This is super helpful! Also the mini-debug you showed towards the end was helping me lots.
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!
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!
Awesome video , really found something good after searching a lot . Hope your channel grows.
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`.
Excellent content Sid, keep uploading CI/CD integrated pipeline, it will be really, really helpful.
lovely and succinct! Very nicely done.
This is fantastic! Huge help!
Thanks for this. Very straughtforward
Clean and Great content bro,
next time please create some content about autoscaling in kubernetes environment, Kudos 🔥
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! 👏
How can I figure out the public ip address of cluster using rancher ?
I'm new to Kubernetes. Maybe I missed something, but how does your local environment know to push to dockerhub?
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, that was a great explanation. Can you recommend similar for terraform, helm and ansible?
Great one, Thank you
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!
th-cam.com/video/2T86xAtR6Fo/w-d-xo.htmlsi=SSbsVBwBixrjJhv3
Thanks for the video Sid.. You made it very easy. Love watching it and implemented
Awesome work. Thanks for putting this on TH-cam
How do i get the external IP, if my cluster is running on minikube ?
Thanks a lot. Does the video you mentionned at 36:56 already exists?
Not yet!
Awesome video for getting started with k8s. 👏
35:50 lol :p the variable name is not dollar-hostname, just hostname ;)
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.
Very good explanation 👏
Amazingly incredibile tutorial ❤
Thanks, this was very helpful.
Thank you boss, keep it going with DevOPS
🚀🚀🚀
Excellent content 👍🏽 to the point!!
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
Fantastic
Commenting for though algorithm
"Thank you for your input. I will recommend this video to many more potential viewers" - The YT Algorithm
wow Sid, What is this terminal called
github.com/romkatv/powerlevel10k
WOW!!!!!!!!!!!!!!!!!!!!!!!
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😅
hexelent!
nice
Create session Sid!
Thanks, Engin! Probably a bit elementary for you, but wanted to put together an end to end example!
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..
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.
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