Adding a node to a VMware cluster for Developer Portal subsystem

When scaling your deployment, you can add a node to an existing VMware cluster. Use this topic to add a node for a Portal

About this task

These instructions assume you have an appliance installed with a single node and a development profile.

To support switching to a production profile, use the following steps to add a minimum of 2 more nodes by setting up hosts and ifaces.

Procedure

  1. Add your hosts.
    apicup hosts create port hostname.domainname hd_password
    Where the following are true:
    • hostname.domainname is the fully qualified name of the server where you are hosting your Developer Portal, including the domain information.
    • hd_password is the password of the Linux Unified Key Setup uses to encrypt the storage for your Developer Portal. This password is hashed when it is stored on the server or in the ISO. Note that the password is base64 encoded when stored in apiconnect-up-v10.yml.

      Repeat this command for each host that you want to add.

      Note: Host names and DNS entries may not be changed on a cluster after the initial installation.
  2. Create your interfaces.
    apicup iface create port hostname.domainname physical_network_id host_ip_address/subnet_mask gateway_ip_address
    Where physical_network_id is the network interface ID of your physical server. The value is most often eth0. The value can also be ethx, where x is a number identifier.

    The format is similar to this example: apicup iface create port myHostname.domain eth0 192.0.2.1/255.255.1.1 192.0.2.1

    Note: You can optionally configure a second network interface (NIC) card for use with Developer Portal. In this scenario, one NIC is used for internal traffic between the Portal and APIM, and the second is used as a public interface. If you are creating multiple network interfaces, each one must be on a different subnet with a different gateway. For information on configuring two NICs for Developer Portal, see Configuring two NICs on the Developer Portal.
  3. Optional: You can specify a range of allowable client IP addresses.

    You can optionally restrict which IP addresses can access any of the ingresses by creating an allowlist annotation, which then will only allow the specified IP addresses to access the ingress and will deny all other source IP addresses. See Specifying a range of allowable client IP addresses for Developer Portal.

    Note: One usage of this restriction is the scenario where you split traffic between your private and public networks in 2 NIC configuration.
  4. Optional: Use apicup to view the configured hosts:
    apicup hosts list port
    apimdev0232.hursley.ibm.com
     Device  IP/Mask                     Gateway
     eth0    1.2.152.232/255.255.254.0   1.2.152.1
  5. Leave multi-site-ha-enabled set to false.
  6. Optional: Verify that the configuration settings are valid.
    apicup subsys get port --validate

    The output lists each setting and adds a check mark after the value once the value is validated. If the setting lacks a check mark and indicates an invalid value, reconfigure the setting.

  7. Create your ISO file.
    apicup subsys install port --out portplan2

    The --out parameter and value are required. In this example, the ISO file is created in the myProject/portplan_new-out directory.

    Note: Use a directory name that is different than the directory name you used on fresh install for --out when generating new ISOs. The installer checks for the existence of the directory name.
  8. Generate ISOs for the new nodes:
  9. After some time a cluster of 3 nodes is formed. Use apicup subsys health-check to verify that the addition of new nodes to the cluster was successful.
    Important: Do not change the deployment profile until the new nodes have been added to the cluster and apicup subsys health-check is successful.
  10. You can add additional nodes. For example, to add a fourth node:
    Note: Any nodes added to a cluster with 3 nodes or more are added as worker nodes.
    1. Add one more host and interface. Repeat Step 1 through Step 6.
    2. Generate an ISO file. Be sure to use a different name for the directory name. For example:
      apicup subsys install port --out portplan3
    3. Deploy a new VM node using the fourth ISO. See Deploying the Developer Portal subsystem OVA file.

    After a while the Kubernetes cluster shows with a fourth node of type worker.

  11. To switch profiles, continue with Step 2.b in Changing deployment profiles on VMware.