TrueCharts MetalLB
Overview
Install the MetalLB application using TrueCharts and configure it as the system load balancer.
Assumptions
TrueNAS Scale Setup completed.
TrueCharts Setup completed.
Logged in as administrative user.
WARNING: TrueCharts Depreciated
TrueCharts has unfortunately been depreciated with the pending removal of Kubernetes from TrueNAS Scale. Consider another solution, do not start a fresh deployment of TrueCharts applications. Refer to the following resources for more details.
- TrueCharts. “Deprecation of TrueNAS SCALE Apps.” 2024.
- TrueNAS. “The Future of Electric Eel and Apps.” 2024.
Install MetalLB Config
Navigate to the Applications
page in the TrueNAS Scale dashboard, Apps
on the main navigation.
Switch to the Available Applications
tab in the Applications
page.
Using the search tool, find the metallb-config
application. Verify MetalLB Config is from the TrueCharts
catalog and is on the Enterprise
train.
Select Install
to begin configuration and installation of the application. Configuration options not mentioned in this section can be left as default.
Application Name
Setting | Value | Description |
---|---|---|
Application Name | metallb-config | Name for the application. |
Version Number | #.#.# | Version to use, latest by default. |
App Configuration
All MetalLB app configuration is done in the MetalLB Config application. The MetalLB Config app will always be in the STOPPED
state on the TrueNAS Applications
dashboard.
Setting | Value | Description |
---|---|---|
IP Address Pools Object | - | - |
Name | lbpool | Identifier for the IP pool. |
Auto Assign | true | Should MetalLB use this pool when auto assigning IP addresses to applications. |
Avoid Buggy IPs | false | When true, prevents IPs ending in .0 and .255 from being assigned. |
Address Pools | - | - |
Adress Pool Entry | 192.168.1.30-192.168.1.90 | IP range to use for the pool. Modify for the network, and avoid the DHCP range. |
LD Advertisements | - | - |
Name | l2lbpool | Identifier for the L2 advertisement. |
Address Pools | Add | Add an address pool. |
Address Pool Entry | lbpool | IP address pool to use. |
Save
Verify you have checked the TrueCharts documentation for MetalLB Config and Save
. The application will begin installation and deploy. Navigate to the Installed Applications
tab to monitor the status.
Install MetalLB
Navigate to the Applications
page in the TrueNAS Scale dashboard, Apps
on the main navigation.
Switch to the Available Applications
tab in the Applications
page.
Using the search tool, find the metallb
application. Verify MetalLB is from the TrueCharts
catalog and is on the Operators
train.
Select Install
to begin configuration and installation of the application. Configuration options not mentioned in this section can be left as default.
Application Name
Setting | Value | Description |
---|---|---|
Application Name | metallb | Name for the application. |
Version Number | #.#.# | Version to use, latest by default. |
Save
Verify you have checked the TrueCharts documentation for MetalLB and Save
. The application will begin installation and deploy. Navigate to the Installed Applications
tab to monitor the status.
Disable Integrated Load Balancer
Navigate to the Applications
page of the TrueNAS dashboard. In the
Find the configuration value Enable Integrated Loadbalancer
and set it to false
by de-selecting the checkbox.
Select Save
at the bottom of the Kubernetes Settings. The integrated load balancer will be disabled and all applications will be restarted. Once restarted, they will be using MetalLB as their load balancer.
Assign Apps IP Addresses
With MetalLB setup, it is now possible to assign applications IP addresses on the network, instead of using the TrueNAS IP. When assigning an IP to an application, the IP address must be within the configured IP Address Pool range from the MetalLB Config. If no IP is assigned, an unused address from the configured range will be used.
Refer to the Networking and Services
settings for a given application to configure the MetalLB IP address to use. Only do this for applications that should be exposed to the network. Services exposed via ingress should continue to use a ClusterIP.
Setting | Value | Description |
---|---|---|
Service Type | LoadBalancer (Expose Ports) | Must be a LoadBalancer service to use the load balancer. |
LoadBalancer IP | 192.168.1.36 | An IP address within the configured pool range, used for the service. |