Installing Anypoint Platform Private Cloud Edition (Anypoint Platform PCE) | MuleSoft Documentation
# Installing Anypoint Platform Private Cloud Edition (Anypoint Platform PCE)
The process to install Anypoint Platform Private Cloud Edition (Anypoint Platform PCE), consist of the following steps:
  1. Setting up and verifying your infrastructure
  2. Performing a pre-installation verification
  3. Installing Anypoint Platform PCE


Contact MuleSoft Professional Services before performing the pre-installation verification and installation of Anypoint Platform PCE because they are involved in these processes.   
---  
To install Anypoint Platform PCE on OpenShift, see Installing Anypoint Platform PCE on 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.
## 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.32.x or 1.31.x.
  2. Create an `input.yaml` file using the following template and update it with your environment details:


```
# 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.
# All the fields in `platformConfiguration` are required.
platformConfiguration:
 platformDNS: ""
 fileSystemDNS: ""
 fileSystemPath: ""
 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
# 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 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`
## See Also
  * Anypoint Platform PCE Prerequisites.