Contact Us 1-800-596-4880

Anypoint Platform PCE Prerequisites

You can install Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) version 4.x and later in the Kubernetes (K8s) cluster that you provision and manage.

MuleSoft performed installations on popular K8s providers, which are listed in the following sections. The hardware and software requirements for installing Anypoint Platform PCE on your chosen provider are dictated by that provider, unless otherwise specified in this document.

Before you begin, make sure that your organization’s operations, networking, and security teams review the listed infrastructure prerequisites. These include the K8s cluster, hardware, software, networking, NFS storage, container registry, installer node, and storage requirements.

Contact MuleSoft Professional Services prior to installing Anypoint Platform PCE, as they are involved with your installation.

Installing Anypoint Platform PCE requires specific versions of operating systems, NFS, and other software. Most issues experienced with Anypoint Platform PCE occur because the required environment was not set up prior to installing or upgrading.

Kubernetes Cluster Requirements

  • Supported Kubernetes providers:

    • Rancher Kubernetes Engine (RKE2)

    • Red Hat OpenShift

    • Amazon EKS Anywhere

    • Amazon EKS

  • Cluster configurations:

    • Run Kubernetes control plane components on dedicated nodes. Preferably, allocate three nodes for the Kubernetes control plane.

    • Have cluster worker nodes exclusively dedicated to Anypoint Platform PCE workloads. Don’t run any Anypoint Platform PCE pods on the K8s control plane nodes. Check the prerequisites to make sure that PCE workloads can be scheduled and run on worker nodes.

Running Anypoint Platform PCE workloads on K8s control plane nodes can degrade both Anypoint Platform PCE and cluster performance.

Hardware Requirements

Anypoint Platform PCE runs as a Kubernetes application and these are the minimum required hardware for all services to be scheduled and running:

  • 32 vCPUs

  • 128 GiB Memory

  • x86_64 Architecture

You can provision and distribute these resources across a minimum of four worker nodes. PCE requires at least three worker nodes as hosts for data services that are deployed and configured in a cluster setup with three replicas. Make sure these three replicas run on three separate nodes to honor the anti-affinity rules.

These are the minimum requirements for cluster nodes:

Number of Nodes Node Composition Total Resources

4

8 vCPU and 32 GiB memory

32 vCPU and 128 GiB memory

10

4 vCPU and 16 GiB memory

40 vCPU and 160 GiB memory

Load Balancer Configuration

You can configure your load balancer to use any method for distributing client requests. Use a a round robin strategy for better results in most contexts. Make sure the load balancer is accessible through an IP address that is available to all machines on your network.

Make sure your load balancer routes these TCP ports:

Table 1. TCP Port Routing Requirements
Load Balancer Port Instance Port Internal Usage

80

30080

HTTP redirects to HTTPs

443

30443

HTTPS port

8083

30883

HTTPS port for Mule runtimes to authenticate and renew certificates

8889

30889

WebSocket port for Mule runtimes to connect

In each case, configure your load balancer to listen on the load balancer port and redirect incoming requests to the instance port. Your Anypoint Platform PCE installation includes an internal NGINX server that listens on each of the configured instance ports, and then performs the action listed in the Internal Usage column.

Make sure your load balancer polls the address HTTP:10256/healthz to run a health check on your platform servers and confirm that they are accessible.

Don’t configure SSL certificates in your load balancer. The platform handles the TLS termination with the certificates configured using Access Management. See Configure Anypoint Platform PCE.

For more information, see the provider specific requirements:

Software Requirements

These are the requirements:

  • Operating system: RHEL 8.10, 9.4

For more information, see the provider specific requirements:

Networking Requirements

Use the following ports to communicate with Anypoint Platform PCE:

Protocol Port / Range Purpose Source Destination

TCP/UDP

53

Internal cluster DNS

localhost

localhost

TCP

2379, 2380, 4001, 7001

etcd distributed database

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

4242

Installer

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

6443

Kubernetes API Server

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

9443

HAProxy to load balance Kubernetes API Server

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

9100

Prometheus node-exporter

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

10248, 10250

Kubernetes Kubelet

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

10249

Kubernetes kube-proxy

localhost

localhost

TCP

10251-10252

Kubernetes controller-manager and scheduler

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

10257-10259

Kubernetes controller-manager and scheduler (secure)

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

30000-32767

Internal services port range

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

8472

Overlay VXLAN network

Anypoint Platform PCE nodes

Anypoint Platform PCE nodes

TCP

30080

HTTP public access

Load balancer

Anypoint Platform PCE nodes

TCP

30443

HTTP public access

Load balancer

Anypoint Platform PCE nodes

TCP

30889

Mule Runtime Websocket

Load balancer

Anypoint Platform PCE nodes

TCP

30883

Mule Runtime Authentication Service (for certificate renewals)

Load balancer

Anypoint Platform PCE nodes

For more information, see the provider specific requirements:

NFS Storage Requirements

Container Registry Requirements

These are the requirements:

  • Must be secured over TLS.

  • Must be accessible from installer nodes and Kubernetes clusters.

  • Must be secured with either a username and password, or Certificate-based authentication. Make sure that the new or updated certificates are distributed to all nodes to facilitate uninterrupted TLS communication.

Installer Node Requirements

These are the requirements:

  • Operating system: RHEL, Ubuntu, or any Linux-based systems.

  • Storage required a minimum 100GB.

  • Access to Kubernetes cluster using kubeconfig.yaml

    • The cluster needs cluster:admin access, as Anypoint Platform PCE installer needs to create resources of different types.

    • The cluster needs read/write access in the pce-core namespace to run Anypoint Platform PCE installer jobs and other supporting services.

  • Access and connectivity to private container registry

  • For OpenShift use SecurityContextConstraints for installing Anypoint Platform PCE.

Before executing the pcectl binary for Anypoint Platform PCE 4.1, make sure that you follow these requirements:

  • Use a Linux based operating system

  • Use glibc (GNU C library) version 2.28 or higher
    To check the glibc version, run this command:

    ldd --version
  • Use Python version 3.12 or newer
    To check your Python version, run this command:

    python --version
  • Use gpg (GnuPG) version 2.1 or higher
    To check your gpg version, run this command:

    gpg --version

Storage Requirements

These are the requirements:

In Anypoint Platform PCE version 4.1 and later, all the persistent data is stored in the Persistent Volume Claims (PVCs). Kubernetes Storage Class commands the PVCs.

These services use PVCs with minimum and default storage size:

  • SeaweedFS - S3 Object Store service - Total 120Gi

  • Stolon - PostgreSQL HA database - Total 100 Gi

  • Prometheus - TSDB for k8s metrics (optional) - Default 50Gi

The storage class for the previous services can be the same. Depending on the type of underlying infrastructure or storage solution you select, the storage class configuration can vary.

You can update the PVC storage size during the installation by updating the input.yaml file. See these sections to update the storage size:

# Storage class configuration for persistent data services
storageConfiguration:
 pceobjectstore:
   type: "persistentVolumeClaim"
   storageClass: "<storage-class-name>"
   controlPlaneSize: "20Gi" # Optional. Defaults to 10Gi
   volumeSize: "200Gi" # Optional. Defaults to 100Gi
   volumeIndexSize: "20Gi" # Optional. Defaults to 10Gi
 stolon:
   type: "persistentVolumeClaim"
   storageClass: "<storage-class-name>"
   size: "300Gi" # Optional. Defaults to 100Gi
json

In the previous example, you can see the storage for SeaweedFS that is Object Store has increased to 240GiB and stolon has increased to 300 Gi.

Similarly, to set the storage size for monitoring stack, use this configuration:

# Configuration options for monitoring stack
monitoringAppConfiguration:
 monitoringStack:
   enabled:  True # Defaults to True. Must be set to False for Openshift clusters.
   values: | # Optional. If not provided, the default values will be used.
      prometheus:
        prometheusSpec:
          storageSpec:
            volumeClaimTemplate:
              spec:
                storageClassName: 'local-path',
                accessModes: ["ReadWriteOnce"]
                resources:
                  requests:
                    storage: 50Gi
json

Platform Configuration

To make Anypoint Platform PCE accessible, configure these specifications in the input configuration file before installing Anypoint Platform PCE:

  • Platform DNS

  • File System DNS

  • First User Account details

    • Org Name

    • Username

    • Email

    • Password

  • Platform certificate and certificate key with the Subject Alternative Name (SAN) of the platform DNS.