OpenShift DaemonSet Operations: Difference between revisions
Line 30: | Line 30: | ||
Pods Status: 2 Running / 0 Waiting / 0 Succeeded / 5 Failed | Pods Status: 2 Running / 0 Waiting / 0 Succeeded / 5 Failed | ||
No events. | No events. | ||
=Updating Pods Managed by DaemonSets= | =Updating Pods Managed by DaemonSets= |
Revision as of 01:05, 31 July 2017
External
Internal
Obtaining Information about DaemonSets
The name of the DaemonSet that manages a pod is available in pod's "oc describe pod" output, as value for the "Controllers:" label. That value can be used to get the DaemonSet definition:
oc describe DaemonSet/<daemon-set-name>
Example:
oc describe DaemonSet/logging-fluentd
Name: logging-fluentd Image(s): registry.access.redhat.com/openshift3/logging-fluentd:3.5.0 Selector: component=fluentd,provider=openshift Node-Selector: logging-infra-fluentd=true Labels: component=fluentd logging-infra=fluentd provider=openshift Desired Number of Nodes Scheduled: 7 Current Number of Nodes Scheduled: 7 Number of Nodes Misscheduled: 0 Pods Status: 2 Running / 0 Waiting / 0 Succeeded / 5 Failed No events.
Updating Pods Managed by DaemonSets
As long as a pod managed by a DaemonSet is running, it is impervious to changes in its own template: the DaemonSet won't react and attempt to stop it and recreate it. This behavior is consistent with the static nature of running pods. Moreover, if the definition of a DaemonSet-managed pod is completely deleted, and then recreated based on a new template, but the same label selector, the DaemonSet will recognize any running pod replicas as having matching labels and thus will not update them or create new replicas despite a mismatch in the pod template.
To update the pods managed by a DaemonSet, update the pod's template, and force new pod replica creation by deleting the existing replicas.
Updating the DaemonSet Definition
oc edit daemonset/<daemon-set-name>
Procedure
1. Update the DaemonSet definition, if needed.
2. Update the pod definition, if needed.
3. Delete the existing pods, they will be recreated by the DaemonSet:
oc delete pod/logging-fluentd-3kz30 oc delete pod/logging-fluentd-d150b ...