There are two ways to change the memory and CPU resources of an NSX Manager node in a cluster.
If you have configured resource allocation reservation for the NSX Manager VMs in vCenter Server, you might need to adjust the reservation. For more information, see the vSphere documentation.
Option 1 (resize a manager node with the same IP address) requires less effort. NSX requires that two managers are available at all times. If you have cluster VIP (virtual IP) configured, there will be a brief outage when the VIP switches to another node in the cluster. You can access the other two nodes directly during the outage if the VIP-assigned node is shut down for resizing. If you have deployed a load balancer for the manager nodes, health checks will be triggered when a manager goes offline. The load balancer should direct traffic to another node. Choose this option if you do not want to change the IP address of the manager nodes.
For option 2 (resize a manager node with a different IP address), you will need IP addresses for the three new managers. If you have cluster VIP configured, there will be a brief outage when the VIP switches to another node in the cluster. You can access the other two nodes directly during the outage in case the VIP-assigned node is deleted. If you have deployed a load balancer for the manager nodes, health checks will be triggered when a manager goes offline. The load balancer should direct traffic to another node. After all the steps are completed, you will need to reconfigure the load balancer (add the new managers and remove the old managers).
When you deploy a new manager node from the NSX Manager UI, if you get the error message "The repository IP address ... is not a part of the current management cluster. Please update the repository IP to the current node by running repository-ip CLI command. (Error code: 21029)," log in to the CLI of one of the existing nodes as admin and run the command set repository-ip. This will resolve the error.
Prerequisites
- Verify that the new size satisfies the system requirements for a manager node. For more information, see "NSX Manager VM and Host Transport Node System Requirements" in the NSX Installation Guide.
- Familiarize yourself with how to run CLI commands. For more information, see the NSX Command-Line Interface Reference. Also familiarize yourself with how to change the memory and CPU resources of a VM. For more information, see the vSphere documentation.
- Familiarize yourself with the requirements of an NSX Manager cluster. For more information, see "NSX Manager Cluster Requirements" in the NSX Installation Guide.
- Familiarize yourself with how to deploy an NSX Manager into a cluster. For more information, see "Deploy NSX Manager Nodes to Form a Cluster from the UI" in the NSX Installation Guide.
Procedure
What to do next
- To check whether the NSX Manager cluster is onboarded to either the NSX+ Intelligence service or the NSX+ NDR service, use the following API request using the IP address of the resized NSX Manager.
GET https://nsx-manager-ip-address/policy/api/v1/infra/sites/agents/intelligence/maintenance
If the NSX Manager site is not onboarded, the API request returns the following message. In this case, no further action is required.{ "enable": true. "agent_error_message"; "Site is not onboarded with Saas. Invalid operation." }
If the NSX Manager site is onboarded, the API request returns the following message. Continue with the next steps below.{ "enable": false }
- After you complete the resizing process for all three NSX Manager nodes in the NSX Manager cluster and you confirmed that the NSX Manager site is onboarded, activate the maintenance mode for the NSX+ Intelligence and the NSX+ NDR agents using the following API request.
PUT https://nsx-manager-ip-address/policy/api/v1/infra/sites/agents/intelligence/maintenance { "enable": true }
- Wait for all the NSX Manager node objects to be in the REALIZED state. Use the following API call to check.
GET https://nsx-manager-ip-address/policy/api/v1/infra/realized-state/realized-entities?intent_path=/infra/sites/agents/intelligence
In the API call output, ensure that the output "state": "REALIZED" exists for all the objects in the list. - Log in to any of the NSX Manager in the cluster and from the command line, clear the NsxiAgentDockerConfig table using the following command.
/opt/vmware/bin/corfu_tool_runner.py -n nsx -o clearTable -t NsxiAgentDockerConfig
- Deactivate the maintenance mode using the following API request.
PUT https://nsx-manager-ip-address/policy/api/v1/infra/sites/agents/intelligence/maintenance { "enable": false }