<p>How to reproduce no pod is ready when deploying a daemonset?</p>
<p>I try a small example:</p>
<pre><code>apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: logging
  labels:
    app: fluentd-logging
spec:
  selector:
    matchLabels:
      name: fluentd
  template:
    metadata:
      labels:
        name: fluentd
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: varlog
          mountPath: /var/log
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
        hostPath:
          path: /var/log

</code></pre>
<p>A follow-up question is how to use field-selector to get events for daemonset error?</p>
<p>involvedObject.kind=Daemonset,involvedObject.name=&quot;{daemonset-name}&quot;</p>

susanna
<p>To set to a not ready pod of your DaemonSet, you can simply add a readiness probe that will never be ready.</p>
<pre class="lang-yaml prettyprint-override"><code>apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: fluentd
  namespace: default
  labels:
    app: fluentd-logging
spec:  
  selector:
    matchLabels:
      name: fluentd
  template:
    metadata:
      labels:
        name: fluentd
    spec:
      containers:
      - name: fluentd-elasticsearch
        image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
        # here the readinessProbe
        readinessProbe:
          initialDelaySeconds: 5
          httpGet:
            host: www.dominiochenonesiste.com
            port: 80       
        resources:
          limits:
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 200Mi
        volumeMounts:
        - name: varlog
          mountPath: /var/log
      terminationGracePeriodSeconds: 30
      volumes:
      - name: varlog
        hostPath:
          path: /var/log
</code></pre>
<p>To check the pod status, you can use the <code>kubetcl describe pod &lt;nameofyourdaemonsetpodcreated&gt;</code></p>
<p>Within the output you will have:</p>
<pre class="lang-bash prettyprint-override"><code>Conditions:
  Type              Status
  Initialized       True 
  Ready             False 
  ContainersReady   False 
  PodScheduled      True 
</code></pre>
<p>Hope it helps!</p>
<p>Cose belle!</p>
