OpenShift DaemonSet Operations: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 41: Line 41:


To update the pods managed by a DaemonSet, update the pod's template, and force new pod replica creation by deleting the existing replicas.
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==
==Procedure==

Revision as of 23:26, 30 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.

Creating Daemon Sets

TODO: https://docs.openshift.com/container-platform/3.5/dev_guide/daemonsets.html#dev-guide-creating-daemonsets


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. Stop the existing pods.