Skip to content

Commit c9cc586

Browse files
Merge pull request #48549 from xenolinux/event-logs
BZ2039509: Adds the instruction to read the pod logs
2 parents b258117 + 137097a commit c9cc586

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

modules/nw-metallb-software-components.adoc

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,28 @@
55
[id="nw-metallb-software-components_{context}"]
66
= MetalLB software components
77

8-
When you install the MetalLB Operator, the `metallb-operator-controller-manager` deployment starts a pod.
9-
The pod is the implementation of the Operator.
10-
The pod monitors for changes to all the relevant resources.
8+
When you install the MetalLB Operator, the `metallb-operator-controller-manager` deployment starts a pod. The pod is the implementation of the Operator. The pod monitors for changes to all the relevant resources.
119

1210
When the Operator starts an instance of MetalLB, it starts a `controller` deployment and a `speaker` daemon set.
1311

1412
`controller`::
15-
The Operator starts the deployment and a single pod.
16-
When you add a service of type `LoadBalancer`, Kubernetes uses the `controller` to allocate an IP address from an address pool.
13+
The Operator starts the deployment and a single pod. When you add a service of type `LoadBalancer`, Kubernetes uses the `controller` to allocate an IP address from an address pool.
14+
In case of a service failure, verify you have the following entry in your `controller` pod logs:
15+
+
16+
.Example output
17+
[source,terminal]
18+
----
19+
"event":"ipAllocated","ip":"172.22.0.201","msg":"IP address assigned by controller
20+
----
1721

1822
`speaker`::
19-
The Operator starts a daemon set for `speaker` pods.
20-
By default, a pod is started on each node in your cluster.
21-
You can limit the pods to specific nodes by specifying a node selector in the `MetalLB` custom resource when you start MetalLB.
23+
The Operator starts a daemon set for `speaker` pods. By default, a pod is started on each node in your cluster. You can limit the pods to specific nodes by specifying a node selector in the `MetalLB` custom resource when you start MetalLB. If the `controller` allocated the IP address to the service and service is still unavailable, read the `speaker` pod logs. If the `speaker` pod is unavailable, run the `oc describe pod -n` command.
2224
+
2325
For layer 2 mode, after the `controller` allocates an IP address for the service, the `speaker` pods use an algorithm to determine which `speaker` pod on which node will announce the load balancer IP address.
24-
The algorithm involves hashing the node name and the load balancer IP address.
25-
See the section about external traffic policy for more information.
26+
The algorithm involves hashing the node name and the load balancer IP address. For more information, see "MetalLB and external traffic policy".
2627
// IETF treats protocol names as proper nouns.
2728
The `speaker` uses Address Resolution Protocol (ARP) to announce IPv4 addresses and Neighbor Discovery Protocol (NDP) to announce IPv6 addresses.
2829

29-
For BGP mode, after the `controller` allocates an IP address for the service, each `speaker` pod advertises the load balancer IP address with its BGP peers.
30-
You can configure which nodes start BGP sessions with BGP peers.
30+
For Border Gateway Protocol (BGP) mode, after the `controller` allocates an IP address for the service, each `speaker` pod advertises the load balancer IP address with its BGP peers. You can configure which nodes start BGP sessions with BGP peers.
3131

32-
Requests for the load balancer IP address are routed to the node with the `speaker` that announces the IP address.
33-
After the node receives the packets, the service proxy routes the packets to an endpoint for the service.
34-
The endpoint can be on the same node in the optimal case, or it can be on another node.
35-
The service proxy chooses an endpoint each time a connection is established.
32+
Requests for the load balancer IP address are routed to the node with the `speaker` that announces the IP address. After the node receives the packets, the service proxy routes the packets to an endpoint for the service. The endpoint can be on the same node in the optimal case, or it can be on another node. The service proxy chooses an endpoint each time a connection is established.

0 commit comments

Comments
 (0)