apiVersion: v1
kind: Pod
metadata:
creationTimestamp: '2026-09-19T17:01:27Z'
generateName: metallb-speaker-
generation: 1
labels:
app.kubernetes.io/component: speaker
app.kubernetes.io/instance: metallb
app.kubernetes.io/name: metallb
controller-revision-hash: 7c88ccf678
pod-template-generation: '1'
managedFields:
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:generateName: {}
f:labels:
.: {}
f:app.kubernetes.io/component: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/name: {}
f:controller-revision-hash: {}
f:pod-template-generation: {}
f:ownerReferences:
.: {}
k:{"uid":"410369ba-a383-4d22-a908-7d953610b1e3"}: {}
f:spec:
f:affinity:
.: {}
f:nodeAffinity:
.: {}
f:requiredDuringSchedulingIgnoredDuringExecution: {}
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:imagePullPolicy: {}
f:livenessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:host: {}
f:path: {}
f:port: {}
f:scheme: {}
f:initialDelaySeconds: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:name: {}
f:ports:
.: {}
k:{"containerPort":7946,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:hostPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":7946,"protocol":"UDP"}:
.: {}
f:containerPort: {}
f:hostPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":9120,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:hostPort: {}
f:name: {}
f:protocol: {}
f:readinessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:host: {}
f:path: {}
f:port: {}
f:scheme: {}
f:initialDelaySeconds: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:resources: {}
f:securityContext:
.: {}
f:allowPrivilegeEscalation: {}
f:capabilities:
.: {}
f:add: {}
f:drop: {}
f:readOnlyRootFilesystem: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
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:dnsPolicy: {}
f:enableServiceLinks: {}
f:hostNetwork: {}
f:nodeSelector: {}
f:restartPolicy: {}
f:schedulerName: {}
f:securityContext: {}
f:serviceAccount: {}
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:defaultMode: {}
f:name: {}
f:optional: {}
f:name: {}
k:{"name":"metallb-excludel2"}:
.: {}
f:configMap:
.: {}
f:defaultMode: {}
f:name: {}
f:name: {}
manager: kube-controller-manager
operation: Update
time: '2026-09-19T17:01:27Z'
- apiVersion: v1
fieldsType: FieldsV1
fieldsV1:
f:status:
f:conditions:
k:{"type":"ContainersReady"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:observedGeneration: {}
f:status: {}
f:type: {}
k:{"type":"Initialized"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:observedGeneration: {}
f:status: {}
f:type: {}
k:{"type":"PodReadyToStartContainers"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:observedGeneration: {}
f:status: {}
f:type: {}
k:{"type":"PodScheduled"}:
f:observedGeneration: {}
k:{"type":"Ready"}:
.: {}
f:lastProbeTime: {}
f:lastTransitionTime: {}
f:observedGeneration: {}
f:status: {}
f:type: {}
f:containerStatuses: {}
f:hostIP: {}
f:hostIPs: {}
f:observedGeneration: {}
f:phase: {}
f:podIP: {}
f:podIPs:
.: {}
k:{"ip":"172.29.21.249"}:
.: {}
f:ip: {}
f:resources: {}
f:startTime: {}
manager: kubelet
operation: Update
subresource: status
time: '2026-09-19T17:01:40Z'
name: metallb-speaker-shfz4
namespace: metallb-system
ownerReferences:
- apiVersion: apps/v1
blockOwnerDeletion: true
controller: true
kind: DaemonSet
name: metallb-speaker
uid: 410369ba-a383-4d22-a908-7d953610b1e3
resourceVersion: '173850'
uid: 3157236f-925a-487d-a56c-a83531e70225
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchFields:
- key: metadata.name
operator: In
values:
- csfarm-worker-02
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
hostPort: 9120
name: metricshttps
protocol: TCP
- containerPort: 7946
hostPort: 7946
name: memberlist-tcp
protocol: TCP
- containerPort: 7946
hostPort: 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
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: kube-api-access-kcjfn
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
hostNetwork: true
nodeName: csfarm-worker-02
nodeSelector:
kubernetes.io/os: linux
preemptionPolicy: PreemptLowerPriority
priority: 0
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
- effect: NoExecute
key: node.kubernetes.io/not-ready
operator: Exists
- effect: NoExecute
key: node.kubernetes.io/unreachable
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/disk-pressure
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/memory-pressure
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/pid-pressure
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/unschedulable
operator: Exists
- effect: NoSchedule
key: node.kubernetes.io/network-unavailable
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
- name: kube-api-access-kcjfn
projected:
defaultMode: 420
sources:
- serviceAccountToken:
expirationSeconds: 3607
path: token
- configMap:
items:
- key: ca.crt
path: ca.crt
name: kube-root-ca.crt
- downwardAPI:
items:
- fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
path: namespace
status:
conditions:
- lastProbeTime: null
lastTransitionTime: '2026-09-19T17:01:30Z'
observedGeneration: 1
status: 'True'
type: PodReadyToStartContainers
- lastProbeTime: null
lastTransitionTime: '2026-09-19T17:01:27Z'
observedGeneration: 1
status: 'True'
type: Initialized
- lastProbeTime: null
lastTransitionTime: '2026-09-19T17:01:40Z'
observedGeneration: 1
status: 'True'
type: Ready
- lastProbeTime: null
lastTransitionTime: '2026-09-19T17:01:40Z'
observedGeneration: 1
status: 'True'
type: ContainersReady
- lastProbeTime: null
lastTransitionTime: '2026-09-19T17:01:27Z'
observedGeneration: 1
status: 'True'
type: PodScheduled
containerStatuses:
- containerID: containerd://ffc638c0e9fb628e0cccd0fc878aeedfeefed3e4438949d0470637708a03b085
image: quay.io/metallb/speaker:v0.16.1
imageID: quay.io/metallb/speaker@sha256:16561e96531e1852d5c229ad7fae6e994dcfa983ff7f4de6b6208b34a4e2ddbc
lastState: {}
name: speaker
ready: true
resources: {}
restartCount: 0
started: true
state:
running:
startedAt: '2026-09-19T17:01:30Z'
user:
linux:
gid: 0
supplementalGroups:
- 0
uid: 0
volumeMounts:
- mountPath: /etc/metallb/memberlist
name: memberlist-config
readOnly: true
recursiveReadOnly: Disabled
- mountPath: /etc/ml_secret_key
name: memberlist
- mountPath: /etc/metallb
name: metallb-excludel2
- mountPath: /var/run/secrets/kubernetes.io/serviceaccount
name: kube-api-access-kcjfn
readOnly: true
recursiveReadOnly: Disabled
hostIP: 172.29.21.249
hostIPs:
- ip: 172.29.21.249
observedGeneration: 1
phase: Running
podIP: 172.29.21.249
podIPs:
- ip: 172.29.21.249
qosClass: BestEffort
resources: {}
startTime: '2026-09-19T17:01:27Z'