Metal Type
This type is intended for service clusters available only in a private network, for example a database or monitoring cluster.
When to Use Metal
In a fault-tolerant configuration with three or more system nodes, it provides high service availability through MetalLB technologies and the ARP protocol (Layer 2 mode (ARP/NDP)).
Virtual Address Requirements
This type requires one virtual address routed in the cluster VPC. For example, if a cluster has three system nodes with IP addresses 10.10.6.11, 10.10.6.12, and 10.10.6.13 in a VPC with CIDR 10.10.6.0/24, you can use 10.10.6.100 as the virtual address if no server in the network has this IP address.
If the cluster uses only one system node, that is, it runs in cost-saving mode, you can specify its real private address as the virtual address, for example 10.10.6.11 from the example above. Alternatively, use the Dedicated type and specify this private address as public (see Dedicated Type).
MetalLB configuration guides usually use an example with a pool of virtual IP addresses. However, SHIPOPS uses only one address. This is because all Kubernetes objects are created and fully controlled by SHIPOPS, and one LoadBalancer-type service is enough for it to work. All other services usually have the ClusterIP type.
If you do not make changes to the cluster directly, bypassing SHIPOPS, additional IP addresses for the pool are not needed. If you manually create another LoadBalancer, you will have to manually change the IPAddressPool manifest created by SHIPOPS. This requires appropriate Kubernetes expertise and is done at your own risk.