Installation Profiles

How to use named Verrazzano configurations to simplify an installation

This document describes built-in configuration profiles that you can use to simplify a Verrazzano installation. An installation profile is a well-known configuration of Verrazzano settings that can be referenced by name, which then can be customized as needed.

The following table describes the Verrazzano installation profiles.

Profile Description Characteristics
prod Full installation, production configuration. Default profile:
- Full installation.
- Persistent storage.
- Production OpenSearch cluster topology.
dev Development or evaluation configuration. Lightweight installation:
- For evaluation purposes.
- No persistence.
- Single-node OpenSearch cluster topology.
managed-cluster A specialized installation for managed clusters in a multicluster topology. Minimal installation for a managed cluster:
- Cluster must be registered with an admin cluster to use multicluster features.

Use an installation profile

To specify an installation profile when installing Verrazzano, set the profile name in the profile field of your Verrazzano custom resource.

For example, to use the dev profile:

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: example-verrazzano
spec:
  profile: dev

To use a different profile, replace dev with prod or managed-cluster.

Customize an installation profile

You can override the profile settings for any component regardless of the profile. The following example uses a customized dev profile to configure a small 8 Gi persistent volume for the MySQL instance used by Keycloak to provide more stability for the Keycloak service.

apiVersion: install.verrazzano.io/v1beta1
kind: Verrazzano
metadata:
  name: custom-dev-example
spec:
  profile: dev
  components:
    keycloak:
      mysql:
        volumeSource:
          persistentVolumeClaim:
            claimName: mysql
  volumeClaimSpecTemplates:
  - metadata:
      name: mysql      
    spec:
      resources:
        requests:
          storage: 8Gi

For details on how to customize Verrazzano components, see Customize an Installation.

Profile configurations

The following table lists the Verrazzano components that are installed with each profile. Note that you can customize any Verrazzano installation, regardless of the profile.

Component dev prod managed-cluster
Istio ✔️ ✔️ ✔️
NGINX ✔️ ✔️ ✔️
cert-manager ✔️ ✔️ ✔️
External-DNS
Prometheus ✔️ ✔️ ✔️
OpenSearch ✔️ ✔️
Console ✔️ ✔️
OpenSearch Dashboards ✔️ ✔️
Grafana ✔️ ✔️
Rancher ✔️ ✔️
Keycloak ✔️ ✔️

Prometheus and Grafana configurations

The following table describes the Prometheus and Grafana configurations in each profile.

Profile Prometheus Grafana
prod One replica (128 MB memory, 50 Gi storage) One replica (48 MB memory, 50 Gi storage)
dev One replica (128 MB memory, ephemeral storage) One replica (48 MB memory, ephemeral storage)
managed-cluster One replica (128 MB memory, 50 Gi storage) Not installed

OpenSearch Dashboards and OpenSearch configurations

The following table describes the OpenSearch Dashboards and OpenSearch cluster topology in each profile.

Profile OpenSearch OpenSearch Dashboards
prod Three master replicas (1.4 Gi memory, 50 Gi storage each)
One ingest replica (2.5 Gi memory, no storage)
Three data replicas (4.8 Gi memory, 50 Gi storage each)
One replica (192 MB memory, ephemeral storage)
dev One master/data/ingest replica (1 Gi memory, ephemeral storage) One replica (192 MB memory, ephemeral storage)
managed-cluster Not installed Not installed

Profile-independent defaults

The following table shows the settings for components that are profile-independent (consistent across all profiles unless overridden).

Component Default
DNS Wildcard DNS provider nip.io.
Certificates Uses the cert-manager self-signed ClusterIssuer for certificates.
Ingress-type Defaults to LoadBalancer service type for the ingress.

For details on how to customize Verrazzano components, see Customize an Installation.