Organizations depend upon NetBox to manage and automate infrastructure and networks of every size and shape you can imagine, from small branch networks to massive global telecommunications infrastructure, and everything in between. When NetBox is used as part of a modern network automation stack, the volume of requests to NetBox’s APIs and the amount of data flying in and out of NetBox can scale rapidly, and it’s critical to operate NetBox in an elastic, easily scalable, and resilient way.
We’ve long supported these kinds of high scale, mission critical use cases in NetBox Cloud, which was built to eliminate the operational burden and enable teams to focus on high value activities that leverage NetBox instead of worrying about scaling and securing it. However, some organizations are constrained by regulatory or policy requirements, or by tech needs, and must continue to run NetBox in their own environments rather than transitioning to NetBox Cloud. NetBox Enterprise is perfectly suited for these use cases, and is built to be self-managed in your own environment. Many organizations leveraging NetBox Enterprise are operating large scale environments, and we’ve invested in NetBox Enterprise to make it easy to scale up and scale out your environment for performance and high availability.
We recently showcased what the embedded cluster (EC) installation of a NetBox Enterprise environment looks like. In short, it’s simple and easy to get NetBox Enterprise up and running in your environment, even with just a single Linux host. (NetBox Enterprise also supports installation with an existing Kubernetes cluster for even more control and scalability.) In an embedded cluster deployment of NetBox Enterprise, it’s super easy to deploy and scale multi-node NetBox Enterprise clusters to fan out handling large request volumes in automated environments with high rates of change and to ensure always-on reliability. Multi-node clusters and HA are new capabilities in NetBox Enterprise, and we’re still ironing out the rough edges, so we consider these “public preview” capabilities at this time.
Let’s take a look at setting up a multi-node NetBox Enterprise embedded cluster:
There isn’t anything special or different about your first node, and installing it follows the exact same steps as those highlighted in our embedded cluster (EC) installation walkthrough. To summarize, here is that process again:
Download the deployment package, uncompress it, and launch the installation:
node1# curl https://replicated.app/embedded/netbox-enterprise/stable -o netbox-enterprise-stable.tgz
node1# tar -xvzf netbox-enterprise-stable.tgz
node1# ./netbox-enterprise install --license license.yaml
Once the cluster installation is complete, you’ll be prompted to connect to the Admin Console:
Visit the Admin Console to configure and install netbox-enterprise: http://my.netbox-enterprise.host:30000
Open the provided URL in a web browser and login with the credentials you provided during the cluster installation:
You’ll be prompted to select the node where you want to install NetBox Enterprise. As this is the first node, you’ll only have one to select (we’ll be seeing this screen again later):
Finally, you’ll configure the deployment for your environment before launching the NetBox installation:
Voilà, you’re done! You’ve successfully deployed NetBox Enterprise on a single node Kubernetes cluster!
The initial steps of adding a second node are very similar to the first node. Simply download and uncompress the deployment package:
node2# curl https://replicated.app/embedded/netbox-enterprise/stable -o netbox-enterprise-stable.tgz
node2# tar -xvzf netbox-enterprise-stable.tgz
Then, in the Admin Console under Cluster Management, click the Add node button:
Copy the provided command and execute on your second node:
node2# ./netbox-enterprise join 147.182.166.118:30000 aqP8zXkZbG2EJnVRytqYhfsy
You’ll know deploying your new node to the cluster was successful a few minutes later by seeing your new node appear under Cluster Management in the Admin Console:
That’s it! You’ve successfully installed a two-node NetBox Enterprise cluster!
You can add as many nodes as you want to your cluster, but adding a third node allows you to enable high-availability (HA) for your cluster. Again, the initial steps are identical to the installation of the previous nodes. Simply download and uncompress the deployment package:
node3# curl https://replicated.app/embedded/netbox-enterprise/stable -o netbox-enterprise-stable.tgz
node3# tar -xvzf netbox-enterprise-stable.tgz
Again, in the Admin Console under Cluster Management, click the Add node button:
Copy the provided command, but before you run it, add the --enable-ha
parameter to the command:
node3# ./netbox-enterprise join --enable-ha 147.182.166.118:30000 42X7zUPXswu0J1g8gMgb18m8
This time you’ll be prompted to confirm that you want to enable high-availability:
When adding a third controller node, you have the option to enable high availability. This will migrate the data so that it is replicated across cluster nodes. Once enabled, you must maintain at least three controller nodes.
? Do you want to enable high availability? (y/N)
You’ll get confirmation that high-availability was successfully enabled after a few minutes:
✔ High availability enabled!
You’ll also know that your three-node cluster was successfully deployed by viewing all your nodes under Cluster Management in the Admin Console:
That’s it! You’ve successfully installed a high-availability three-node NetBox Enterprise cluster!
Pretty easy, right? If you need to deploy NetBox inside your own environment rather than transitioning to the fully hands-off NetBox Cloud experience, NetBox Enterprise is a great option that makes operating and scaling NetBox much easier, especially as you progress through your automation journey and need to architect for resiliency and volume. And of course, the NetBox Labs team is here to support you every step of the way.
Want to try NetBox Enterprise? Contact us today!