Description
Currently the framework supports the provisioning of clusters using ManagedClusterSet, and ClusterPool and ClusterClaim.
The functionality is supported via the managedClusterGroups section described in the values-hub.yaml files. Below is an example of how to describe a ClusterPool associated with a label.
# This section is used by ACM
managedClusterGroups:
- name: resilient
helmOverrides:
- name: clusterGroup.isHubCluster
value: "false"
clusterSelector:
matchLabels:
clusterGroup: resilient
matchExpressions:
- key: vendor
operator: In
values:
- OpenShift
clusterPools:
# example of pool for primary spokes
aws-ca-central-1:
name: aws-region-ca
openshiftVersion: 4.12.49
baseDomain: blueprints.rhecoeng.com
platform:
aws:
region: us-west-2
clusters:
- customspoke1
controlPlane:
platform:
aws:
type: m5.2xlarge
zones:
- us-west-2a
workers:
replicas: 3
platform:
aws:
type: m5.xlarge
zones:
- us-west-2a
# example of pool for secondary spokes
We would like to extend the provisioning functionality in the VP framework to support provisioning clusters using ManagedClusterSet, ClusterDeployment, and Submariner add-on. Similar to how we describe ClusterPools we would like to add how to provision ClusterDeployments. Below is an initial example of what it could look like.
# This section is used by ACM
managedClusterGroups:
- name: resilient
helmOverrides:
- name: clusterGroup.isHubCluster
value: "false"
clusterSelector:
matchLabels:
clusterGroup: resilient
matchExpressions:
- key: vendor
operator: In
values:
- OpenShift
clusterDeployments:
# example of pool for primary spokes
ocp-primary-1:
name: ocp-primary
version: 4.14.15
install_config:
apiVersion: v1
metadata:
name: ocp-primary
baseDomain: blueprints.rhecoeng.com
controlPlane:
name: master
replicas: 3
platform:
aws:
type: m5.2xlarge
zones:
- us-east-1a
compute:
- name: worker
replicas: 5
platform:
aws:
type: m5.2xlarge
zones:
- us-east-1a
networking:
clusterNetwork:
- cidr: 10.128.0.0/14
hostPrefix: 23
machineNetwork:
- cidr: 10.0.0.0/16
networkType: OpenShiftSDN
serviceNetwork:
- 172.30.0.0/16
platform:
aws:
region: us-east-1
userTags:
project: ValidatedPatterns
publish: External
sshKey: ""
pullSecret: ""
# example of pool for secondary spokes
With ClusterDeployment the user can control the name of the clusters which is a requirement in certain environments. ClusterPool cluster names are auto-generated by ACM so there is no control over the cluster name.