---
schema_version: "1"
id: d2757510e9a273a53e14f86c252120983f43f7cd35c61c083a8eb080d4a4fb78
title: Installing or Upgrading Anypoint Platform Private Cloud Edition (Anypoint Platform PCE)
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/private-cloud/4.2/install-workflow.md
canonical_url: https://docs.mulesoft.com/private-cloud/4.2/install-workflow
source_site: docs.mulesoft.com
content_type: documentation
content_hash: e0e37f66a8a7f97c0cc6acc7d047c2660df6d4b9a1fd60c09b3cf7581f59d574
description: MuleSoft Documentation Site
release: "4.2"
latest: false
---
---
product: Anypoint Platform Private Cloud Edition
version: 4.2
---

# Installing or Upgrading Anypoint Platform Private Cloud Edition (Anypoint Platform PCE)

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The process to install Anypoint Platform Private Cloud Edition (Anypoint Platform PCE), consist of
the following steps:

1.  Obtaining your Anypoint PCE installation distribution

2.  Setting up and verifying your infrastructure

3.  Performing a pre-installation verification

4.  Installing or Upgrading Anypoint Platform PCE

> [!NOTE] Contract Mulesoft Processional Services or your Anypoint PCE Certified Partner to obtain
> your Anypoint PCE installation distribution and before performing the pre-installation
> verification and installation or upgrade of the Anypoint PCE Platform to ensure they are involved
> in these procedures.

> [!NOTE] To install Anypoint Platform PCE on OpenShift, see
> [Installing Anypoint Platform PCE on OpenShift](https://docs.mulesoft.com/private-cloud/4.2/install-openshift).

## Set Up and Verify your Infrastructure

Before you install Anypoint Platform PCE, ensure your infrastructure team installed and configured
correctly the infrastructure for your organization following the requirements as described in
[Anypoint Platform PCE Prerequisites](https://docs.mulesoft.com/private-cloud/4.2/install-checklist).

## Perform a Pre-installation Verification

To perform the pre-installation healthcheck verification for the Kubernetes (K8s) cluster, follow
these steps:

1.  Confirm your Kubernetes cluster version is 1.34.x or 1.33.x.

2.  Create an `input.yaml` file using this template and update it with your environment details:

```json
# Container Registry configuration to upload PCE images
containerRegistry:
  endpoint: "" # Container Registry Endpoint
  username: "" # Provide either Username/Password OR Certificate to authenticate with container registry
  password: ""
  certificate: "/etc/registry/certificate/ca.crt"
  subproject: "mulesoft" # Container registry subproject under which all the PCE images will be part of.
  tlsSkipVerify: True  # True or False.
# Platform configuration using CSI driver for filesystem access
platformConfiguration:
  platformDNS: ""
  fileSystemCsiDriverName: "" # CSI driver name (e.g., nfs.csi.k8s.io, efs.csi.aws.com)
  # Provide NFS DNS and path (not required if using EFS CSI Driver)
  # fileSystemDNS: ""
  # fileSystemPath: ""
  # Provide individual NFS volume handles (all 4 are required if using EFS CSI Driver. You'll need to create 4 access points pointing to the same dir in the EFS)
  fileSystemWcCsiVolumeHandle: "" # CSI volume handle for wc filesystem. E.g.: fs-0835b0d1eb7588eb1::fsap-03f6c68563ceb5acf
  fileSystem01CsiVolumeHandle: "" # CSI volume handle for 01 filesystem
  fileSystemBareCsiVolumeHandle: "" # CSI volume handle for bare filesystem
  fileSystemBackupRestoreCsiVolumeHandle: "" # CSI volume handle for backup-restore filesystem
  platformCertificate: /path/to/platform/certificate/cert.crt
  platformCertificateKey: path/to/platform/certificate/cert.key
  firstUserAccount:
    organizationName: 'Test Org'
    username: 'username'
    email: 'username@mulesoft.com'
    password: '<a-valid-password>'
# Storage class configuration for persistent data services
storageConfiguration:
  pceobjectstore:
    type: "persistentVolumeClaim"
    storageClass: "<storage-class-name>"
    controlPlaneSize: "10Gi" # Optional. Defaults to 10Gi
    volumeSize: "100Gi" # Optional. Defaults to 100Gi
    volumeIndexSize: "10Gi" # Optional. Defaults to 10Gi
  stolon:
    type: "persistentVolumeClaim"
    storageClass: "<storage-class-name>"
    size: "100Gi" # Optional. Defaults to 100Gi
  backupRestoreTmp:
    storageClass: "<storage-class-name>" # Storage class for backup/restore temporary storage
# 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

## The following section is used to configure Grafana for an Openshift cluster. It is recommended to disable the monitoring stack as OpenShift includes Prometheus by default.
#  grafana:
#    enabled: False # Defaults to False.
#    values: |
#      datasources:
#        datasources.yaml:
#          apiVersion: 1
#          datasources:
#          - name: Prometheus
#            type: prometheus
#            url: https://prometheus-k8s.openshift-monitoring.svc:9091
#            access: proxy
#            isDefault: true
#            jsonData:
#              tlsSkipVerify: true
#              httpHeaderName1: 'Authorization'
#            secureJsonData:
#              httpHeaderValue1: 'Bearer <Token>'
```

3.  Obtain the `license.lic` file from the MuleSoft Professional Services team.

4.  Set the `KUBECONFIG` environment variable to the path to the `kubeconfig` file of the cluster.

5.  Verify that the cluster satisfies the prerequisites by running the following command against
    your `input.yaml` file and the `license.lic` file:

    `./pcectl pre-install-check --input-file/path/to/input.yaml --license-file /path/to/license.lic`

6.  For Anypoint Platform PCE workload to be scheduled on designated nodes, apply the following
    labels to all worker nodes:

    - `mulesoft-role=node`

    - `redis-role=node`

7.  Apply the following labels to any three worker nodes. These do not need to be the same three
    nodes:

    - `stolon-keeper=yes`

    - `pce-data-nodes=yes`

8.  (Optional) Apply taints to controlplane nodes to ensure that no Anypoint Platform PCE workload
    is scheduled on the control plane. This also affects any other workload your organization may
    want to run on control plane nodes. Consult with your Kubernetes cluster admin to perform this
    step:

    `mulesoft.pce/controlplane-node=true:NoSchedule`

## Install Anypoint Platform PCE

After your infrastructure is correctly set up and you performed a pre-installation verification,
MuleSoft Professional Services or your Anypoint PCE Certified Partner will assist you with the
installation of Anypoint Platform PCE.

To install Anypoint Platform PCE, run this command:

`./pcectl install --input-file /path/to/input.yaml --license-file /path/to/license.lic`

## Upgrade Anypoint Platform PCE

After you have completed a pre-installation/upgrade verification, MuleSoft Professional Services or
your Anypoint PCE Certified Partner will assist you with the upgrade of Anypoint Platform PCE.

To upgrade Anypoint Platform PCE, run this command:

`./pcectl upgrade /path/to/input.yaml --license-file /path/to/license.lic`

## See Also

- [Anypoint Platform PCE Prerequisites](https://docs.mulesoft.com/private-cloud/4.2/install-checklist).
