Most Common Kubernetes Deployment Strategies (Examples & Code)

Поділитися
Вставка
  • Опубліковано 18 чер 2024
  • 🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
    ▬▬▬▬▬ Experience & Location 💼 ▬▬▬▬▬
    ► I’m a Senior Software Engineer at Juniper Networks (12+ years of experience)
    ► Located in San Francisco Bay Area, CA (US citizen)
    ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
    ► LinkedIn: / anton-putra
    ► Twitter/X: / antonvputra
    ► GitHub: github.com/antonputra
    ► Email: me@antonputra.com
    ▬▬▬▬▬▬ Related videos 👨‍🏫 ▬▬▬▬▬▬
    👉 [Playlist] Kubernetes Tutorials: • Kubernetes Tutorials
    👉 [Playlist] Terraform Tutorials: • Terraform Tutorials fo...
    👉 [Playlist] Network Tutorials: • Network Tutorials
    👉 [Playlist] Apache Kafka Tutorials: • Apache Kafka Tutorials
    👉 [Playlist] Performance Benchmarks: • Performance Benchmarks
    👉 [Playlist] Database Tutorials: • Database Tutorials
    ▬▬▬▬▬▬▬ Timestamps ⏰ ▬▬▬▬▬▬▬
    0:00 Intro
    1:35 Kubernetes Rolling Update Deployment
    8:12 Kubernetes Recreate Strategy
    10:19 Kubernetes Blue/Green Deployment
    17:05 Kubernetes Canary Deployment
    ▬▬▬▬▬▬▬ Source Code 📚 ▬▬▬▬▬▬▬
    ► GitHub: github.com/antonputra/tutoria...
    #kubernetes #devops #cloud
  • Наука та технологія

КОМЕНТАРІ • 71

  • @AntonPutra
    @AntonPutra  9 місяців тому +3

    🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com

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

    Thanks! Usually all videos show these deployment strategies conceptually, but you demonstrated how it's actually done! Big thanks!

  • @worldsofgalaxy
    @worldsofgalaxy 4 місяці тому +5

    Never seen before such clear explanation..Hatts off 👍👍

  • @victors9585
    @victors9585 10 місяців тому +1

    В нетленку!!!! 🔥🌟🔥🌟🔥🌟🔥Сердечно благодарю, Антон!!! 🙏❤🙏❤🙏❤🙏

  • @wilmarmunoz6212
    @wilmarmunoz6212 3 місяці тому

    this is amazing, well explained!

  • @GabrielPozo
    @GabrielPozo 10 місяців тому +3

    This is always an exciting topic, a fantastic video, thanks for sharing this quality of content!!!

  • @hamidullahmuslih6301
    @hamidullahmuslih6301 6 місяців тому +3

    I love your explanations, very clear, awesome examples, and straight to the point. Thank you for your hard work!!

  • @dmitriydiachenko5648
    @dmitriydiachenko5648 10 місяців тому +1

    awesome structured video, thanks!

  • @sonadas7213
    @sonadas7213 10 місяців тому +1

    Thanks for sharing your knowledge, your explanation is up to the mark.

  • @chasim1982
    @chasim1982 10 місяців тому +5

    Great Content, Thanks Sir, best IT teacher, learned a lot from You! ❤

  • @agun21st
    @agun21st 10 місяців тому +1

    Wow! this is really very help full K8s Deployment contents for when we call a service api and it show "Service Upstream problem". Sir your content is Unique on the k8s Tutorials. 💝

  • @asezen77
    @asezen77 5 місяців тому +1

    Thank you very much for all your content.

  • @cristobalzuluaga3065
    @cristobalzuluaga3065 7 місяців тому

    underrated channel

  • @Jaffarnefarious
    @Jaffarnefarious 10 місяців тому +2

    Thanks a lot Anton!

  • @kayoutube690
    @kayoutube690 10 місяців тому +4

    you deserve lots of subscribers, thank you for sharing your knowledge.

  • @ladioladeni
    @ladioladeni 10 місяців тому +1

    Anton my man! Quality contents as usual

  • @diegonayalazo
    @diegonayalazo 6 місяців тому +1

    Masterclass. Thanks Teacher!

  • @joobis.b4568
    @joobis.b4568 2 місяці тому +1

    great explanation! thankyou for doing this

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

    otlicino, spasibo!

  • @IuliiaFedotchenko-nu8lm
    @IuliiaFedotchenko-nu8lm Місяць тому +1

    very good explained as always. thanks a lot for all your videos

  • @user-qk4tx9jc4m
    @user-qk4tx9jc4m 4 місяці тому +2

    This is so well explained.
    You also added in examples that we can understand and apply in the real world.
    Great thanks for sharing such knowledge. subscribed.

  • @asezen77
    @asezen77 5 місяців тому +1

    Thanks

  • @swa1211
    @swa1211 5 днів тому +1

    very nice explanation and helpful , thx a lot

  • @NarendraChennamsetty
    @NarendraChennamsetty 7 днів тому +1

    These tutorials are amazing

  • @softwareasafun
    @softwareasafun 10 місяців тому +1

    Thanks!

    • @AntonPutra
      @AntonPutra  10 місяців тому

      Thank you for support!

  • @vipuldepolkar1189
    @vipuldepolkar1189 10 місяців тому +1

    Hi, i m fron india, and your teaching style is very good. I'm waiting for more videos for kubernates and terraform with azure

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

      Thanks, Azure is coming soon =)

  • @bobbylelapin
    @bobbylelapin 10 місяців тому +1

    Love your content! What workstation you have? ARM MacBook laptop?

    • @AntonPutra
      @AntonPutra  10 місяців тому +1

      Thanks, yes Apple M1 Pro

  • @coveraver
    @coveraver 10 місяців тому +2

    Thank you! Can we balance traffic between services in the different namespaces by istio with flagger or something?

    • @AntonPutra
      @AntonPutra  10 місяців тому

      It's not common, what's your use case? I'll see if I can test istio with cross namespace virtual service

    • @coveraver
      @coveraver 10 місяців тому

      it would be great. There are three services in different namespaces stage, prod and green. I need to balance traffic between them. this can be done using ingress canary, but in this case, if the application crashes, it is not excluded from balancing and the user will receive either 200 or 503.

  • @Diego_UG
    @Diego_UG 10 місяців тому +1

    thanks for the video, question: what is a deployment strategy like when there are database migrations and how do you plan a rollback in this type of situation?

    • @AntonPutra
      @AntonPutra  10 місяців тому

      it's case by case but in general try to make migration backward compatible

    • @Diego_UG
      @Diego_UG 10 місяців тому

      Yes, although as the company grows and technology teams are formed, it becomes necessary to implement policies to ensure that these methodologies are followed by everyone on the team. So, in the case of databases, what would the policies be like? One policy could be: modifying a field in the database involves the following steps: 1) Create a new field with a different name, migrate, run a test; 2) Ensure new information is recorded in the new table, keeping new records in both tables, run a test; 3) Migrate data from one table to another, run a test; 4) Ensure new information only enters the row, run a test; 5) Delete the old table; 6) End.?

  • @kayoutube690
    @kayoutube690 10 місяців тому

    sir do you have video about kubernetes pod termination and sig term? how the pod gracefully terminated specially in prod?

    • @AntonPutra
      @AntonPutra  10 місяців тому

      I don't, but there is a hook that you can use and provide a custom command to execute before terminating the pod - kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/

  • @rahulchowdhury279
    @rahulchowdhury279 10 місяців тому +1

    plz make a DETAILED video on Cortex.

    • @rahulchowdhury279
      @rahulchowdhury279 10 місяців тому +1

      Love your videos. Both prometheus operator videos helped me out a lot

    • @AntonPutra
      @AntonPutra  10 місяців тому +2

      Sure will do!

  • @yogithakakarla1716
    @yogithakakarla1716 10 місяців тому +1

    So, in canary deployment as we can forward 10% of traffic to new version. Can we make sure that only our team users can access this new version 10% . And end-users or customer should access 90% of old version.
    Is it possible

    • @AntonPutra
      @AntonPutra  10 місяців тому

      Sure, if you use native K8s objects, you would add an additional label to the deployment, for example, "deployment: canary". Then, you'd create another service that selects only canary pods, similar to the blue/green example. In Flagger, this is already implemented, and when you run a test, it will target only the canary.

  • @Diego_UG
    @Diego_UG 10 місяців тому

    another question: how do we deploy a pod if its task or actions are executed internally and not by a request from a user?

    • @AntonPutra
      @AntonPutra  10 місяців тому

      do you mean like a data pipeline (kafka consumer/producer), you can automate and it's much harder and that's why most examples focused on request based apps :)

  • @user-yt5tc9fz7s
    @user-yt5tc9fz7s 7 місяців тому

    I have a question, why are there 2 pods being created in 5:08 minute while the specified maxSurge is 25% from 4 replicas which should be 1

    • @AntonPutra
      @AntonPutra  7 місяців тому

      yes, 25% is 1 pod (4 total), but k8s terminated at the same time 1, so total 5

  • @domw2391
    @domw2391 10 місяців тому

    I’m using argocd rollout but I don’t know what’s the main difference between native k8s deployment strategy and Argo d rollout

    • @AntonPutra
      @AntonPutra  10 місяців тому +1

      It uses default rolling-update unless you explicitly update it in the yaml

    • @rahulchowdhury279
      @rahulchowdhury279 10 місяців тому +2

      ArgoRollouts can do canary and bluegreen

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

    'Promo SM'

  • @CloudWithUgur
    @CloudWithUgur 10 місяців тому +1

    you should enable "join" so we can support you