Most Common Kubernetes Deployment Strategies (Examples & Code)

แชร์
ฝัง

ความคิดเห็น • 94

  • @AntonPutra
    @AntonPutra  ปีที่แล้ว +4

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

    • @tusharshukla7215
      @tusharshukla7215 7 วันที่ผ่านมา

      Hi Anton, thanks for making this video, but I observed at 9:34minutes, the accessModes shouldn't be "ReadWriteOncePod" as you talked here about the Pod accessibility. Please correct me if I misunderstood something here.

  • @kunalkatdare9799
    @kunalkatdare9799 8 หลายเดือนก่อน +3

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

  • @worldsofgalaxy
    @worldsofgalaxy 9 หลายเดือนก่อน +8

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

    • @AntonPutra
      @AntonPutra  9 หลายเดือนก่อน +1

      thanks a lot!

  • @victors9585
    @victors9585 ปีที่แล้ว +2

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

  • @kayoutube690
    @kayoutube690 ปีที่แล้ว +5

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

  • @agun21st
    @agun21st ปีที่แล้ว +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. 💝

  • @hamidullahmuslih6301
    @hamidullahmuslih6301 11 หลายเดือนก่อน +4

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

    • @AntonPutra
      @AntonPutra  11 หลายเดือนก่อน

      Thank you!

  • @김도형-g2i
    @김도형-g2i 9 หลายเดือนก่อน +3

    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.

    • @AntonPutra
      @AntonPutra  9 หลายเดือนก่อน

      thanks!

  • @milindchavan007
    @milindchavan007 4 หลายเดือนก่อน +1

    This is awesome! please make detailed canary setup videos, its really very helpful.

    • @AntonPutra
      @AntonPutra  4 หลายเดือนก่อน

      Thank you! Will do

  • @chasim1982
    @chasim1982 ปีที่แล้ว +5

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

  • @GabrielPozo
    @GabrielPozo ปีที่แล้ว +3

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

  • @sonadas7213
    @sonadas7213 ปีที่แล้ว +1

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

  • @cristobalzuluaga3065
    @cristobalzuluaga3065 ปีที่แล้ว

    underrated channel

  • @maxmarko5949
    @maxmarko5949 2 หลายเดือนก่อน +1

    awesome! visualization is the key

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน

      thank you!

  • @ladioladeni
    @ladioladeni ปีที่แล้ว +1

    Anton my man! Quality contents as usual

  • @IuliiaFedotchenko-nu8lm
    @IuliiaFedotchenko-nu8lm 6 หลายเดือนก่อน +1

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

    • @AntonPutra
      @AntonPutra  6 หลายเดือนก่อน

      🫡

  • @jeffkirchoff14
    @jeffkirchoff14 3 หลายเดือนก่อน +1

    You've Explained so well sir 🙏
    I'd like to share this on twitter... May I ?

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน +1

      sure :)

  • @dimadiachenko1
    @dimadiachenko1 ปีที่แล้ว +1

    awesome structured video, thanks!

  • @asezen77
    @asezen77 10 หลายเดือนก่อน +1

    Thank you very much for all your content.

    • @AntonPutra
      @AntonPutra  10 หลายเดือนก่อน

      my pleasure

  • @NarendraChennamsetty
    @NarendraChennamsetty 5 หลายเดือนก่อน +2

    These tutorials are amazing

    • @AntonPutra
      @AntonPutra  5 หลายเดือนก่อน +1

      thanks you!!

  • @vipuldepolkar1189
    @vipuldepolkar1189 ปีที่แล้ว +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  ปีที่แล้ว

      Thanks, Azure is coming soon =)

  • @diegonayalazo
    @diegonayalazo 11 หลายเดือนก่อน +1

    Masterclass. Thanks Teacher!

    • @AntonPutra
      @AntonPutra  11 หลายเดือนก่อน

      Thank you!

  • @joobis.b4568
    @joobis.b4568 7 หลายเดือนก่อน +1

    great explanation! thankyou for doing this

    • @AntonPutra
      @AntonPutra  7 หลายเดือนก่อน

      thanks!

  • @swa1211
    @swa1211 5 หลายเดือนก่อน +1

    very nice explanation and helpful , thx a lot

    • @AntonPutra
      @AntonPutra  5 หลายเดือนก่อน

      thank you!

  • @Jaffarnefarious
    @Jaffarnefarious ปีที่แล้ว +2

    Thanks a lot Anton!

  • @wilmarmunoz6212
    @wilmarmunoz6212 8 หลายเดือนก่อน

    this is amazing, well explained!

  • @coveraver
    @coveraver ปีที่แล้ว +2

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

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว

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

    • @coveraver
      @coveraver ปีที่แล้ว

      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.

  • @node_hodler
    @node_hodler ปีที่แล้ว +1

    otlicino, spasibo!

  • @agonzalezo
    @agonzalezo 3 หลายเดือนก่อน +1

    Great content, thanks Anton Putra.
    How could you use blue/green strategy in a cluster that have too many deployments interconnected each other? So If you have to change all service to point to the new deployment all your external client will use it too or not?

    • @AntonPutra
      @AntonPutra  3 หลายเดือนก่อน +1

      I'm not sure if I understood the question, but you can use blue/green deployment. Before providing access to your clients, you can thoroughly test your new "green" deployment. If it looks okay, you can, let's say, change the DNS or Kubernetes (k8s) label.
      You can use other strategies as well. For instance, you might need an additional HTTP header to hit the new version, etc. It's much more difficult for data transformation pipelines that many companies use, such as with Kafka.

    • @agonzalezo
      @agonzalezo 3 หลายเดือนก่อน

      thanks for your reply Anton. suppose you are running an application that has 10 or more micro services in your cluster, if you upgrade one of them and use blue/green is easy to do unit test but if you have to do test more complex like integration or functional it becomes so hard(my point of view). i mean you would have to duplicate all other deployments and make it pointing to the upgraded deployment. again great content 🤜🏼🤛🏼

    • @AntonPutra
      @AntonPutra  3 หลายเดือนก่อน +1

      @@agonzalezo Agreed. Sometimes you have to test all different applications together, let's say, in a staging environment. Instead of using blue-green deployment, you just release them all at once. Since you tested that in staging, you have a good chance of a successful production push.

  • @bobbylelapin
    @bobbylelapin ปีที่แล้ว +1

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

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว +1

      Thanks, yes Apple M1 Pro

  • @Diego_UG
    @Diego_UG ปีที่แล้ว +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  ปีที่แล้ว

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

    • @Diego_UG
      @Diego_UG ปีที่แล้ว

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

  • @asezen77
    @asezen77 10 หลายเดือนก่อน +1

    Thanks

  • @softwareasafun
    @softwareasafun ปีที่แล้ว +1

    Thanks!

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว

      Thank you for support!

  • @LalalL-j4n
    @LalalL-j4n 2 หลายเดือนก่อน +1

    Very good video brother and very nice explanation 🫰

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน

      thank you!

  • @rahulchowdhury279
    @rahulchowdhury279 ปีที่แล้ว +1

    plz make a DETAILED video on Cortex.

    • @rahulchowdhury279
      @rahulchowdhury279 ปีที่แล้ว +1

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

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว +2

      Sure will do!

  • @kayoutube690
    @kayoutube690 ปีที่แล้ว

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

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว

      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/

  • @yogithakakarla1716
    @yogithakakarla1716 ปีที่แล้ว +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  ปีที่แล้ว

      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.

  • @AhmedAymanElSayed-e1i
    @AhmedAymanElSayed-e1i ปีที่แล้ว

    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  ปีที่แล้ว

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

  • @hermanwahyudi6724
    @hermanwahyudi6724 2 หลายเดือนก่อน

    what the diff between rolling update and canary?

    • @AntonPutra
      @AntonPutra  2 หลายเดือนก่อน

      By 'canary,' we mean a controlled rollout of the new application version to a small subset of users, followed by testing that version. If the tests pass, we roll out this version to a wider audience. Kubernetes built in rolling update, gradually replacing the old version with the new one. You can potentially use health checks for testing, but it is not the same.

    • @hermanwahyudi6724
      @hermanwahyudi6724 2 หลายเดือนก่อน

      @@AntonPutra how to set/config the rollout of canary to a small subset of user? just use small percentage? or use sticky session also?

  • @nguyenphu-o5d
    @nguyenphu-o5d 3 หลายเดือนก่อน

    Hi, I successfully deploy some services but having the Nameserver limits were exceeded issue, is it happen due to too many services?

    • @AntonPutra
      @AntonPutra  3 หลายเดือนก่อน

      it's very unlikely, what's your setup and can you paste exact error message

    • @nguyenphu-o5d
      @nguyenphu-o5d 3 หลายเดือนก่อน

      @@AntonPutra I found a way to fix it, I tried systemctl restart systemd-resolved.service and the issue is gone some how.

  • @Diego_UG
    @Diego_UG ปีที่แล้ว

    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  ปีที่แล้ว

      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 :)

  • @domw2391
    @domw2391 ปีที่แล้ว

    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  ปีที่แล้ว +1

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

    • @rahulchowdhury279
      @rahulchowdhury279 ปีที่แล้ว +2

      ArgoRollouts can do canary and bluegreen

  • @devopsRussia
    @devopsRussia 28 วันที่ผ่านมา +1

    Можно помедленнее?

    • @AntonPutra
      @AntonPutra  27 วันที่ผ่านมา

      horosho

  • @bx3556
    @bx3556 3 วันที่ผ่านมา +1

    forget istio, it's chinese stuff. I wouldn't trust it, remember some of the Chinese software that had seriously amateurish vulnerabilities; it's super untrustworthy. Everything else in video is great.

  • @KapitalKashh
    @KapitalKashh 4 หลายเดือนก่อน +1

    Fortnite!!

  • @kingschermann8161
    @kingschermann8161 ปีที่แล้ว

    'Promo SM'

  • @CloudWithUgur
    @CloudWithUgur ปีที่แล้ว +2

    you should enable "join" so we can support you

    • @AntonPutra
      @AntonPutra  ปีที่แล้ว +1

      Thanks will do =)