Changing deployment profiles on VMware

You can change an API Connect installation to use different deployment profiles.

About this task

After you complete initial installation of the API Connect subsystems, you can change to another of the deployment profiles that are supported for the subsystem.

Important considerations:

  • If you are changing from a development profile to a production profile, ensure that you have production profile hardware (3 nodes).
  • While it is possible to use a development profile installation in a production deployment, it is not recommended.
    • For the management subsystem and the portal subsystem, the development profiles do not provide the failover resiliency nor the downtime guarantee that is needed to maintain high availability (HA) production deployments.
    • For the analytics subsystem, the development deployment option was designed to have a small impact on your hardware and as such it will not scale, and it will not perform as well as the production profile.
  • Based on the resources configured for each microservice in the profile, there might be downtime during the profile change.
  • If you enabled the analytics message queue feature, you must disable it before changing to another deployment profile. You can re-enable the message queue feature after the profile change is complete.

    To disable the message queue:

    1. Edit the analytics-extra-value.yaml file.
    2. Locate the mq subsection and change the enabled setting to false.
          mq:
            enabled: false
    3. Apply the change:
      apicup subsys install <subsystem_name>

    To re-enable the message queue:

    1. Edit the analytics-extra-value.yaml file.
    2. Locate the mq subsection and change the enabled setting to true.
    3. Apply the change:
      apicup subsys install <subsystem_name>

Supported profiles:

Management subsystem
  • Development profile
    profile: n1xc4.m16

    Describes a hardware profile of 1 node, 4 cores, and 16 GB memory. Deploys a subsystem with the scale of one; a single node, non-HA subsystem. Recommended for development and testing.

  • Production profile
    profile: n3xc4.m16

    Describes a hardware profile of 3 nodes, 4 cores, and 16 GB memory. Deploys in HA mode for a production environment. Not supported for fewer than three nodes.

Portal subsystem
  • Development profiles deploy a subsystem with the scale of one; a single node, non-HA subsystem. Development profiles are recommended for development or testing.
  • Production profiles deploys in HA mode for a production environment. Not supported for fewer than three nodes.
  • Development profile
    profile: n1xc8.m16

    Describes a hardware profile of 1 node, 8 cores, and 16 GB memory

  • Development profile (reduced CPU)
    profile: n1xc4.m16

    Describes a hardware profile of 1 node, 4 cores, and 16 GB memory. For use when the deployment environment has limited CPU resources.

  • Development profile (reduced CPU and Memory)
    profile: n1xc2.m8

    Describes a hardware profile of 1 node, 2 cores, and 8 GB memory. For use when the deployment environment has limited CPU and Memory resources.

  • Production profile
    profile: n3xc8.m16

    Describes a hardware profile of 3 nodes, 8 cores, and 16 GB memory.

  • Production profile (reduced CPU and Memory)
    profile: n3xc4.m8

    Describes a hardware profile of 3 nodes, 4 cores, and 8 GB memory. For use when the deployment environment has limited CPU and Memory resources.

Analytics subsystem
  • Development profile
    n1xc2.m16

    Describes a hardware profile of 1 node, 2 cores, and 16 GB memory. Deploys a single-node, non-HA, non-scalable Analytics solution. The development profile is only recommend for development and test environments.

  • Production profile
    n3xc4.m16

    Describes a hardware profile of 3 nodes, 4 cores, and 16 GB memory. Deploys a three-node, HA, scalable Analytics solution. The production profile requires at least 3 nodes to work properly, and is the recommended option for production environments.

Procedure

  • Switching from a development profile to a production profile
    1. Management subsystem:
      1. Workaround for deployments that upgraded to Version 10.0.1.5-eus from a previous version of API Connect

        If you upgraded to 10.0.1.5-eus, you must first patch role secret to add permissions. Otherwise, proceed directly to Step 1.b.

        1. Log in to the appliance as root:
          sudo su
        2. Patch the role secret to add permissions:
          kubectl -n <namespace> patch secret pgorole-pgoadmin --type='json' -p='[{"op" : "replace" ,"path" : "/data/permissions" ,"value" : "Kg=="}]' 
      2. Add 2 more nodes by setting up hosts and ifaces using the apicup installer. See Configuring the management subsystem
      3. Generate ISOs for the new nodes. See Deploying the management subsystem OVA file
      4. Configure the project to the desired production profile:
        apicup subsys set <subsystem_name> deployment-profile=<prod-profile> 
      5. Use the new profile
        apicup subsys install <subsystem_name>
    2. Portal subsystem:
      1. Add 2 more nodes by setting up hosts and ifaces using the apicup installer. See Configuring the Developer Portal subsystem
      2. Generate ISOs for the new nodes. See Deploying the Developer Portal subsystem OVA file
      3. Configure the project to the desired production profile:
        apicup subsys set <subsystem_name> deployment-profile=<prod-profile> 
      4. Use the new profile
        apicup subsys install <subsystem_name>
    3. Analytics subsystem:
      1. To avoid data loss for analytics, it is recommended that data collection be stopped while the profile switch is in progress. See Stopping Analytics data collection.
      2. Add 2 more nodes by setting up hosts and ifaces using the apicup installer. See Configuring the Analytics subsystem
      3. Generate ISOs for the new nodes. See Deploying the Analytics subsystem OVA file
      4. Configure the project to the desired production profile:
        apicup subsys set <subsystem_name> deployment-profile=<prod-profile> 
      5. Use the new profile
        apicup subsys install <subsystem_name>
      6. Restart analytics data collection as explained in the topic, Restarting Analytics pods and data collection.
  • Switching from production profile to development profile
    1. Analytics only: To avoid data loss for analytics, it is recommended that data collection be stopped while the profile switch is in progress. See Stopping Analytics data collection.
    2. Workaround for deployments that upgraded to Version 10.0.1.5-eus from a previous version of API Connect

      For the management subsystem, if you upgraded to 10.0.1.5-eus, you must first patch role secret to add permissions. Otherwise, move straight to Step 3.

      1. Log in to the appliance as root:
        sudo su
      2. Patch role secret to add permissions:
        kubectl -n <namespace> patch secret pgorole-pgoadmin --type='json' -p='[{"op" : "replace" ,"path" : "/data/permissions" ,"value" : "Kg=="}]' 
    3. For each subsystem:
      1. Configure the project to the desired production profile:
        apicup subsys set <subsystem_name> deployment-profile=<dev-profile> 
      2. Use the new profile
        apicup subsys install <subsystem_name>
    4. Analytics only: Restart analytics data collection as explained in the topic, Restarting Analytics pods and data collection.