apiVersion: apps/v1
kind: DaemonSet
metadata:
annotations:
deprecated.daemonset.template.generation: '1'
meta.helm.sh/release-name: metallb
meta.helm.sh/release-namespace: metallb-system
creationTimestamp: '2026-09-19T17:01:27Z'
generation: 1
labels:
app.kubernetes.io/component: speaker
app.kubernetes.io/instance: metallb
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: metallb
app.kubernetes.io/version: v0.16.1
helm.sh/chart: metallb-0.16.1
managedFields:
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
f:meta.helm.sh/release-name: {}
f:meta.helm.sh/release-namespace: {}
f:labels:
f:app.kubernetes.io/component: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/managed-by: {}
f:app.kubernetes.io/name: {}
f:app.kubernetes.io/version: {}
f:helm.sh/chart: {}
f:spec:
f:selector: {}
f:template:
f:metadata:
f:labels:
f:app.kubernetes.io/component: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/name: {}
f:spec:
f:containers:
k:{"name":"speaker"}:
.: {}
f:args: {}
f:env:
k:{"name":"METALLB_HOST"}:
.: {}
f:name: {}
f:valueFrom:
f:fieldRef: {}
k:{"name":"METALLB_ML_BIND_ADDR"}:
.: {}
f:name: {}
f:valueFrom:
f:fieldRef: {}
k:{"name":"METALLB_ML_BIND_PORT"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"METALLB_ML_LABELS"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"METALLB_ML_SECRET_KEY_PATH"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"METALLB_NODE_NAME"}:
.: {}
f:name: {}
f:valueFrom:
f:fieldRef: {}
k:{"name":"METALLB_POD_NAME"}:
.: {}
f:name: {}
f:valueFrom:
f:fieldRef: {}
f:image: {}
f:livenessProbe:
f:failureThreshold: {}
f:httpGet:
f:host: {}
f:path: {}
f:port: {}
f:initialDelaySeconds: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:name: {}
f:ports:
k:{"containerPort":7946,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":7946,"protocol":"UDP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":9120,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:readinessProbe:
f:failureThreshold: {}
f:httpGet:
f:host: {}
f:path: {}
f:port: {}
f:initialDelaySeconds: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:securityContext:
f:allowPrivilegeEscalation: {}
f:capabilities:
f:add: {}
f:drop: {}
f:readOnlyRootFilesystem: {}
f:volumeMounts:
k:{"mountPath":"/etc/metallb"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/etc/metallb/memberlist"}:
.: {}
f:mountPath: {}
f:name: {}
f:readOnly: {}
k:{"mountPath":"/etc/ml_secret_key"}:
.: {}
f:mountPath: {}
f:name: {}
f:hostNetwork: {}
f:nodeSelector: {}
f:serviceAccountName: {}
f:terminationGracePeriodSeconds: {}
f:tolerations: {}
f:volumes:
k:{"name":"memberlist"}:
.: {}
f:name: {}
f:secret:
f:defaultMode: {}
f:secretName: {}
k:{"name":"memberlist-config"}:
.: {}
f:configMap:
f:name: {}
f:optional: {}
f:name: {}
k:{"name":"metallb-excludel2"}:
.: {}
f:configMap:
f:defaultMode: {}
f:name: {}
f:name: {}
f:updateStrategy:
f:type: {}
manager: helm
operation: Apply
time: '2026-09-19T17:01:27Z'
- apiVersion: apps/v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:currentNumberScheduled: {}
f:desiredNumberScheduled: {}
f:numberAvailable: {}
f:numberReady: {}
f:observedGeneration: {}
f:updatedNumberScheduled: {}
manager: kube-controller-manager
operation: Update
subresource: status
time: '2026-09-19T17:01:42Z'
name: metallb-speaker
namespace: metallb-system
resourceVersion: '173859'
uid: 410369ba-a383-4d22-a908-7d953610b1e3
spec:
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/component: speaker
app.kubernetes.io/instance: metallb
app.kubernetes.io/name: metallb
template:
metadata:
labels:
app.kubernetes.io/component: speaker
app.kubernetes.io/instance: metallb
app.kubernetes.io/name: metallb
spec:
containers:
- args:
- --port=9120
- --log-level=info
env:
- name: METALLB_NODE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: spec.nodeName
- name: METALLB_HOST
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.hostIP
- name: METALLB_ML_BIND_ADDR
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: status.podIP
- name: METALLB_ML_LABELS
value: app.kubernetes.io/name=metallb,app.kubernetes.io/component=speaker
- name: METALLB_ML_BIND_PORT
value: '7946'
- name: METALLB_ML_SECRET_KEY_PATH
value: /etc/ml_secret_key
- name: METALLB_POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
image: quay.io/metallb/speaker:v0.16.1
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
host: 127.0.0.1
path: /healthz
port: 17472
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: speaker
ports:
- containerPort: 9120
name: metricshttps
protocol: TCP
- containerPort: 7946
name: memberlist-tcp
protocol: TCP
- containerPort: 7946
name: memberlist-udp
protocol: UDP
readinessProbe:
failureThreshold: 3
httpGet:
host: 127.0.0.1
path: /readyz
port: 17472
scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
securityContext:
allowPrivilegeEscalation: false
capabilities:
add:
- NET_RAW
drop:
- ALL
readOnlyRootFilesystem: true
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /etc/metallb/memberlist
name: memberlist-config
readOnly: true
- mountPath: /etc/ml_secret_key
name: memberlist
- mountPath: /etc/metallb
name: metallb-excludel2
dnsPolicy: ClusterFirst
hostNetwork: true
nodeSelector:
kubernetes.io/os: linux
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
serviceAccount: metallb-speaker
serviceAccountName: metallb-speaker
terminationGracePeriodSeconds: 0
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
operator: Exists
volumes:
- name: memberlist
secret:
defaultMode: 420
secretName: metallb-memberlist
- configMap:
defaultMode: 256
name: metallb-excludel2
name: metallb-excludel2
- configMap:
defaultMode: 420
name: metallb-memberlist-config
optional: true
name: memberlist-config
updateStrategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
status:
currentNumberScheduled: 5
desiredNumberScheduled: 5
numberAvailable: 5
numberMisscheduled: 0
numberReady: 5
observedGeneration: 1
updatedNumberScheduled: 5