When upgrading nodes, why does kubernetes terminate pods before the new pod is in a ready state?Exposing service in KubernetesIntermittent DNS failures in Google Container EngineAny way to delay termination of an older pod, to “wait” for the new pod to be ready to serve requests?What makes a kubernetes node unhealthy?kubernetes flannel daemonset not starting (Clean Ubuntu 16 and 18)GKE lost nodes and Google Console shows different number of nodesGKE lost node tag and static ip after auto-upgradeKubernetes node breaks on restarting containerdGoogle Cloud Kuberbetes run-away systemd 100% CPU usageSetup Local Persistent Volume on physical machines with Kubernetes

70s Sci-Fi Story including/describing Conway's solitaire game "life"

The most secure way to handle someone forgetting to verify their account?

Why are flying carpets banned while flying brooms are not?

To what extent does asymmetric cryptography secure bitcoin transactions?

Extract the attribute names from a large number of Shapefiles

Discontinuous Tube visualization

What's a German word for »Sandbagger«?

Deleting a point in METAFONT

You have no, but can try for yes

Is encryption still applied if you ignore the SSL certificate warning for self-signed certs?

How should I interpret a promising preprint that was never published in a peer-reviewed journal?

Why don't humans perceive sound waves as twice the frequency they are?

Get Chord Name From a Given Set of Notes

Why is this guy handcuffed censored?

How do you name this compound using IUPAC system (including steps)?

How did Jayne know when to shoot?

Does a hash function have a Upper bound on input length?

Transistor power dissipation rating

Applying for jobs with an obvious scar

Is "repository" pronounced /rɪˈpɒzɪt(ə)ri/ or ri-ˈpä-zə-ˌtȯr-ē or /rəˈpäzəˌtôrē/?

A spacecraft is travelling at X units per hour. But relative to what exactly? Does it depend on orbit? How?

Why teach C using scanf without talking about command line arguments?

A "Replace" sort problem. Basic but haunts me

Are there foods that astronauts are explicitly never allowed to eat?



When upgrading nodes, why does kubernetes terminate pods before the new pod is in a ready state?


Exposing service in KubernetesIntermittent DNS failures in Google Container EngineAny way to delay termination of an older pod, to “wait” for the new pod to be ready to serve requests?What makes a kubernetes node unhealthy?kubernetes flannel daemonset not starting (Clean Ubuntu 16 and 18)GKE lost nodes and Google Console shows different number of nodesGKE lost node tag and static ip after auto-upgradeKubernetes node breaks on restarting containerdGoogle Cloud Kuberbetes run-away systemd 100% CPU usageSetup Local Persistent Volume on physical machines with Kubernetes






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















As you can see in the picture below, when upgrading nodes to a new version of Kubernetes, the pods on each node are recreated on a new node with a newer version of Kubernetes.



However, it seems that the old pods are being destroyed (Terminating) without waiting for the new pods to be in a Ready state, leading to downtime as the new pods are still in a ContainerCreating state.



Is there an explanation for this, or am I doing something wrong?



enter image description here










share|improve this question




























    1















    As you can see in the picture below, when upgrading nodes to a new version of Kubernetes, the pods on each node are recreated on a new node with a newer version of Kubernetes.



    However, it seems that the old pods are being destroyed (Terminating) without waiting for the new pods to be in a Ready state, leading to downtime as the new pods are still in a ContainerCreating state.



    Is there an explanation for this, or am I doing something wrong?



    enter image description here










    share|improve this question
























      1












      1








      1








      As you can see in the picture below, when upgrading nodes to a new version of Kubernetes, the pods on each node are recreated on a new node with a newer version of Kubernetes.



      However, it seems that the old pods are being destroyed (Terminating) without waiting for the new pods to be in a Ready state, leading to downtime as the new pods are still in a ContainerCreating state.



      Is there an explanation for this, or am I doing something wrong?



      enter image description here










      share|improve this question














      As you can see in the picture below, when upgrading nodes to a new version of Kubernetes, the pods on each node are recreated on a new node with a newer version of Kubernetes.



      However, it seems that the old pods are being destroyed (Terminating) without waiting for the new pods to be in a Ready state, leading to downtime as the new pods are still in a ContainerCreating state.



      Is there an explanation for this, or am I doing something wrong?



      enter image description here







      kubernetes google-kubernetes-engine






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jul 11 at 2:32









      NickNick

      1033 bronze badges




      1033 bronze badges




















          1 Answer
          1






          active

          oldest

          votes


















          5














          When a node is upgraded, GKE will first drain the pods from the node before removing the deleting the virtual machine and removing from the node from the cluster. The process for terminating a pod is explained in detail here and what you should realize is that this process starts before the new pods is created, scheduled, or starts running.



          If you have a deployment and want to keep a specific number of replicas up during the node upgrade process, you should configure pod disruption budgets, with which you can ensure that the node upgrade process will proceed at a slow enough rate to keep enough containers running for your service to handle traffic without any downtime.






          share|improve this answer























          • Thanks! I wonder why Kubernetes doesn't do this by default.

            – Nick
            Jul 11 at 6:25











          • Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

            – Robert Bailey
            Jul 12 at 3:18













          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "2"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f974771%2fwhen-upgrading-nodes-why-does-kubernetes-terminate-pods-before-the-new-pod-is-i%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          When a node is upgraded, GKE will first drain the pods from the node before removing the deleting the virtual machine and removing from the node from the cluster. The process for terminating a pod is explained in detail here and what you should realize is that this process starts before the new pods is created, scheduled, or starts running.



          If you have a deployment and want to keep a specific number of replicas up during the node upgrade process, you should configure pod disruption budgets, with which you can ensure that the node upgrade process will proceed at a slow enough rate to keep enough containers running for your service to handle traffic without any downtime.






          share|improve this answer























          • Thanks! I wonder why Kubernetes doesn't do this by default.

            – Nick
            Jul 11 at 6:25











          • Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

            – Robert Bailey
            Jul 12 at 3:18















          5














          When a node is upgraded, GKE will first drain the pods from the node before removing the deleting the virtual machine and removing from the node from the cluster. The process for terminating a pod is explained in detail here and what you should realize is that this process starts before the new pods is created, scheduled, or starts running.



          If you have a deployment and want to keep a specific number of replicas up during the node upgrade process, you should configure pod disruption budgets, with which you can ensure that the node upgrade process will proceed at a slow enough rate to keep enough containers running for your service to handle traffic without any downtime.






          share|improve this answer























          • Thanks! I wonder why Kubernetes doesn't do this by default.

            – Nick
            Jul 11 at 6:25











          • Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

            – Robert Bailey
            Jul 12 at 3:18













          5












          5








          5







          When a node is upgraded, GKE will first drain the pods from the node before removing the deleting the virtual machine and removing from the node from the cluster. The process for terminating a pod is explained in detail here and what you should realize is that this process starts before the new pods is created, scheduled, or starts running.



          If you have a deployment and want to keep a specific number of replicas up during the node upgrade process, you should configure pod disruption budgets, with which you can ensure that the node upgrade process will proceed at a slow enough rate to keep enough containers running for your service to handle traffic without any downtime.






          share|improve this answer













          When a node is upgraded, GKE will first drain the pods from the node before removing the deleting the virtual machine and removing from the node from the cluster. The process for terminating a pod is explained in detail here and what you should realize is that this process starts before the new pods is created, scheduled, or starts running.



          If you have a deployment and want to keep a specific number of replicas up during the node upgrade process, you should configure pod disruption budgets, with which you can ensure that the node upgrade process will proceed at a slow enough rate to keep enough containers running for your service to handle traffic without any downtime.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jul 11 at 5:11









          Robert BaileyRobert Bailey

          5093 silver badges6 bronze badges




          5093 silver badges6 bronze badges












          • Thanks! I wonder why Kubernetes doesn't do this by default.

            – Nick
            Jul 11 at 6:25











          • Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

            – Robert Bailey
            Jul 12 at 3:18

















          • Thanks! I wonder why Kubernetes doesn't do this by default.

            – Nick
            Jul 11 at 6:25











          • Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

            – Robert Bailey
            Jul 12 at 3:18
















          Thanks! I wonder why Kubernetes doesn't do this by default.

          – Nick
          Jul 11 at 6:25





          Thanks! I wonder why Kubernetes doesn't do this by default.

          – Nick
          Jul 11 at 6:25













          Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

          – Robert Bailey
          Jul 12 at 3:18





          Which part? Graceful termination periods and disruption budgets are application specific settings and need to be customized for each application / system separately.

          – Robert Bailey
          Jul 12 at 3:18

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Server Fault!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f974771%2fwhen-upgrading-nodes-why-does-kubernetes-terminate-pods-before-the-new-pod-is-i%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

          Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

          Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form