Kubernetes 101: Deploying Your First Application!

Поділитися
Вставка
  • Опубліковано 19 тра 2024
  • Create a hello world API with Python using FastAPI, bundle it up as a container image, and then deploy it to a Kubernetes cluster on Civo Cloud!
    This is the fifth episode in a new content series in which I plan to build an application platform with Kubernetes. This is the same type of thing that I have helped multiple startup companies build over the past 4 years!
    kubernetesplatform.com
    github.com/sidpalas/kubernete...
    devopsdirective.com/static/im...
    --
    Timestamps:
    00:00 - Introduction
    01:20 - Fast API setup
    05:15 - Containerize the application
    11:23 - Push to DockerHub
    13:05 - Create Kubernetes cluster
    15:18 - Define Kubernetes resources
    21:52 - Authenticating to cluster
    24:00 - Deploy into cluster
    27:44 - Setting up ingress
    30:30 - Setting up DNS
    32:10 - Deploying a new version to demo loadbalancing
    35:00 - Debugging
    38:19 - Recap
    ---
    Join the Community:
    💬 Discord: / discord
    💻 GitHub: github.com/sidpalas/devops-di...
    🐥 Twitter: / sidpalas
    👨‍💼 LinkedIn: / sid-palas
    🌐 Website: devopsdirective.com
    ---
    Community size at time of posting:
    - Subscribers: 26909
    - Channel Views: 840395
  • Наука та технологія

КОМЕНТАРІ • 51

  • @BryceYoder-tj3qg
    @BryceYoder-tj3qg 13 днів тому +3

    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.

  • @iam_mz
    @iam_mz 4 місяці тому +3

    Pls make more video contents about Kubernetes. Your courses are so industry standard and helped me to improve so much to industry standard.

  • @umwhathowmany
    @umwhathowmany 3 місяці тому +4

    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!

  • @kylep4991
    @kylep4991 9 місяців тому +1

    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!

  • @hesamkashefi
    @hesamkashefi Місяць тому

    I hope to see more videos like this on the internet! Explaining everything not just parts of it! Thanks!

  • @TannerBarcelos
    @TannerBarcelos 9 місяців тому +1

    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!

  • @berkantay790
    @berkantay790 11 місяців тому +1

    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!!

  • @nokzeo2777
    @nokzeo2777 4 місяці тому

    Excellent content Sid, keep uploading CI/CD integrated pipeline, it will be really, really helpful.

  • @parveenpandit168
    @parveenpandit168 Рік тому

    Thanks for the video Sid.. You made it very easy. Love watching it and implemented

  • @lukesemail6980
    @lukesemail6980 11 місяців тому +1

    When you said, "Hopefully that was helpful." I yelled, 'YES" at the screen.
    Thank you for the help!

  • @anmolarora885
    @anmolarora885 Рік тому

    Awesome work. Thanks for putting this on UA-cam

  • @zekorts
    @zekorts Рік тому

    Awesome video for getting started with k8s. 👏

  • @chris0628
    @chris0628 9 місяців тому

    Excellent content 👍🏽 to the point!!

  • @PetritK10
    @PetritK10 Рік тому

    Thank you boss, keep it going with DevOPS

  • @jessekumbaine9857
    @jessekumbaine9857 7 днів тому

    Thanks, this was very helpful.

  • @sakibsaki4916
    @sakibsaki4916 4 місяці тому

    Very good explanation 👏

  • @imagineabout4153
    @imagineabout4153 Місяць тому

    Amazingly incredibile tutorial ❤

  • @simon_smale
    @simon_smale 5 місяців тому

    Thanks, that was a great explanation. Can you recommend similar for terraform, helm and ansible?

  • @ShivangShandilyaa
    @ShivangShandilyaa Рік тому

    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😅

  • @haarishk2302
    @haarishk2302 8 місяців тому

    How do i get the external IP, if my cluster is running on minikube ?

  • @alphabetbrumby
    @alphabetbrumby 3 місяці тому +1

    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.

    • @DevOpsDirective
      @DevOpsDirective  3 місяці тому +1

      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! 👏

  • @rushikeshnaik779
    @rushikeshnaik779 Місяць тому

    WOW!!!!!!!!!!!!!!!!!!!!!!!

  • @thibaultvandamme2750
    @thibaultvandamme2750 Рік тому

    Thanks a lot. Does the video you mentionned at 36:56 already exists?

  • @youtubeoneverything4581
    @youtubeoneverything4581 Рік тому

    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

    • @DevOpsDirective
      @DevOpsDirective  Рік тому +3

      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

    • @youtubeoneverything4581
      @youtubeoneverything4581 Рік тому

      @@DevOpsDirective ok will look into it. Is this setup recommend for production deployment ?

    • @DevOpsDirective
      @DevOpsDirective  Рік тому +1

      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.

    • @youtubeoneverything4581
      @youtubeoneverything4581 Рік тому

      @@DevOpsDirective understood. Thanks

  • @CasperWest
    @CasperWest 5 місяців тому

    How can I figure out the public ip address of cluster using rancher ?

  • @MrYassineSalhi
    @MrYassineSalhi Рік тому

    Commenting for though algorithm

    • @DevOpsDirective
      @DevOpsDirective  Рік тому

      "Thank you for your input. I will recommend this video to many more potential viewers" - The YT Algorithm

  • @vikaskanojia2015
    @vikaskanojia2015 Рік тому

    wow Sid, What is this terminal called

  • @dirien
    @dirien Рік тому

    Create session Sid!

    • @DevOpsDirective
      @DevOpsDirective  Рік тому

      Thanks, Engin! Probably a bit elementary for you, but wanted to put together an end to end example!

  • @VrashabhSontakke
    @VrashabhSontakke Рік тому +1

    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. 🙏

    • @DevOpsDirective
      @DevOpsDirective  Рік тому +3

      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!

    • @VrashabhSontakke
      @VrashabhSontakke Рік тому +1

      @@DevOpsDirective Yeah, sounds better than personal mentorship. Let me hop into the server. And thank you so much that you subscribed.

  • @alexc7289
    @alexc7289 2 місяці тому +3

    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.

    • @GlassHouseBiking
      @GlassHouseBiking 2 місяці тому

      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.

    • @alexc7289
      @alexc7289 2 місяці тому +1

      @@GlassHouseBiking 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.

    • @GlassHouseBiking
      @GlassHouseBiking 2 місяці тому

      @@alexc7289 because this is just a simple tutorial to help folks get started..

  • @arthurDAGREAT
    @arthurDAGREAT Рік тому

    Great vid ! but a layman with no under of k8 will not understand anything

    • @DevOpsDirective
      @DevOpsDirective  Рік тому

      Yeah, need a theory session first… maybe this should be called “Kubernetes 102” 😅

  • @kramprabhu
    @kramprabhu 2 місяці тому

    Sorry to say, You need to learn "How to Teach". You might be good subject skilled but lacking the teaching skill.

  • @mateussarmento7692
    @mateussarmento7692 5 місяців тому

    Thank you, van gogh