Replicated runs a default set of preflight checks to ensure it can install an application.
You can specify additional cluster requirements for your application in the kubernetes.requirements section of your release YAML.
Preflight checks are run automatically during the application lifecyle and can be manually run for an existing installation by visiting /run-checks in the Replicated admin console.
Default Preflight Checks
Replicated will always run preflight checks to ensure that its own PersistentVolumeClaims have been bound. For non-airgap installs, it will also ping Replicated’s API to verify HTTP access. If your app has configured PVCs for snapshotting, Replicated will run a check to ensure that no restore is in progress.
Custom Preflight Checks
The kubernetes.requirements section of your Replicated yaml can be used to specify preflight checks against your customers’ Kubernetes cluster as a whole.
For more flexibility, raw commands may be run in a Pod on any node.
Server Version
Use the server_vesion property to pin your application to a range of Kubernetes versions.
kubernetes:
requirements:
server_version: ">=1.11.5"
API Versions
Use the api_versions property to specify a list of Kubernetes API Groups and Versions that must be supported by the cluster.
kubernetes:
requirements:
api_versions: ["apps/v1", "batch/v1beta1"]
Cluster Size
Use the cluster_size property to require a minimum number of nodes in a cluster.
kubernetes:
requirements:
cluster_size: "1"
CPU & Memory
Use the total_cores and total_memory properties to enforce cummulative minimum resource levels.
kubernetes:
requirements:
total_cores: "2"
total_memory: 11.25GB