apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
config.k8s.io/owning-inventory: talos-bootstrap-manifests-inventory
deployment.kubernetes.io/revision: '1'
creationTimestamp: '2026-09-18T20:54:00Z'
generation: 1
labels:
k8s-app: kube-dns
kubernetes.io/name: CoreDNS
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
f:config.k8s.io/owning-inventory: {}
f:labels:
f:k8s-app: {}
f:kubernetes.io/name: {}
f:spec:
f:replicas: {}
f:selector: {}
f:strategy:
f:rollingUpdate:
f:maxUnavailable: {}
f:type: {}
f:template:
f:metadata:
f:labels:
f:k8s-app: {}
f:spec:
f:affinity:
f:podAntiAffinity:
f:preferredDuringSchedulingIgnoredDuringExecution: {}
f:containers:
k:{"name":"coredns"}:
.: {}
f:args: {}
f:env:
k:{"name":"GOMEMLIMIT"}:
.: {}
f:name: {}
f:value: {}
f:image: {}
f:imagePullPolicy: {}
f:livenessProbe:
f:failureThreshold: {}
f:httpGet:
f:path: {}
f:port: {}
f:scheme: {}
f:initialDelaySeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:name: {}
f:ports:
k:{"containerPort":53,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":53,"protocol":"UDP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":9153,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
f:readinessProbe:
f:httpGet:
f:path: {}
f:port: {}
f:scheme: {}
f:resources:
f:limits:
f:memory: {}
f:requests:
f:cpu: {}
f:memory: {}
f:securityContext:
f:allowPrivilegeEscalation: {}
f:capabilities:
f:add: {}
f:drop: {}
f:readOnlyRootFilesystem: {}
f:volumeMounts:
k:{"mountPath":"/etc/coredns"}:
.: {}
f:mountPath: {}
f:name: {}
f:readOnly: {}
f:dnsPolicy: {}
f:nodeSelector: {}
f:priorityClassName: {}
f:serviceAccountName: {}
f:tolerations: {}
f:volumes:
k:{"name":"config-volume"}:
.: {}
f:configMap:
f:items: {}
f:name: {}
f:name: {}
manager: talos
operation: Apply
time: '2026-09-18T20:54:00Z'
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
f:deployment.kubernetes.io/revision: {}
f:status:
f:availableReplicas: {}
f:conditions:
.: {}
k:{"type":"Available"}:
.: {}
f:lastTransitionTime: {}
f:lastUpdateTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
k:{"type":"Progressing"}:
.: {}
f:lastTransitionTime: {}
f:lastUpdateTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
f:observedGeneration: {}
f:readyReplicas: {}
f:replicas: {}
f:terminatingReplicas: {}
f:updatedReplicas: {}
manager: kube-controller-manager
operation: Update
subresource: status
time: '2026-09-18T20:54:31Z'
name: coredns
namespace: kube-system
resourceVersion: '749'
uid: 18990e92-01c0-4fec-80dc-995ef52b0b1e
spec:
progressDeadlineSeconds: 600
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: kube-dns
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
k8s-app: kube-dns
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: k8s-app
operator: In
values:
- kube-dns
topologyKey: kubernetes.io/hostname
weight: 100
containers:
- args:
- -conf
- /etc/coredns/Corefile
env:
- name: GOMEMLIMIT
value: 161MiB
image: registry.k8s.io/coredns/coredns:v1.14.7
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
httpGet:
path: /health
port: 8080
scheme: HTTP
initialDelaySeconds: 60
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: coredns
ports:
- containerPort: 53
name: dns
protocol: UDP
- containerPort: 53
name: dns-tcp
protocol: TCP
- containerPort: 9153
name: metrics
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /ready
port: 8181
scheme: HTTP
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources:
limits:
memory: 170Mi
requests:
cpu: 100m
memory: 70Mi
securityContext:
allowPrivilegeEscalation: false
capabilities:
add:
- NET_BIND_SERVICE
drop:
- ALL
readOnlyRootFilesystem: true
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/coredns
name: config-volume
readOnly: true
dnsPolicy: Default
nodeSelector:
kubernetes.io/os: linux
priorityClassName: system-cluster-critical
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: coredns
serviceAccountName: coredns
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
- effect: NoSchedule
key: node.cloudprovider.kubernetes.io/uninitialized
operator: Exists
volumes:
- configMap:
defaultMode: 420
items:
- key: Corefile
path: Corefile
name: coredns
name: config-volume
status:
availableReplicas: 2
conditions:
- lastTransitionTime: '2026-09-18T20:54:31Z'
lastUpdateTime: '2026-09-18T20:54:31Z'
message: Deployment has minimum availability.
reason: MinimumReplicasAvailable
status: 'True'
type: Available
- lastTransitionTime: '2026-09-18T20:54:00Z'
lastUpdateTime: '2026-09-18T20:54:31Z'
message: ReplicaSet "coredns-5595ddfdbc" has successfully progressed.
reason: NewReplicaSetAvailable
status: 'True'
type: Progressing
observedGeneration: 1
readyReplicas: 2
replicas: 2
terminatingReplicas: 0
updatedReplicas: 2