/
Multi-Cluster Application Definition
Multi-Cluster Application Definition
Applications can span multiple clusters and this requires configuration.
We are introducing a higher level abstraction called Application that will contain multiple Resource Bundles that are then connected to each other.
A service on cluster A needs the Public IP of cluster B and port to access the service
Egress rules and ingress rules need to be configured.
Spec
metadata:
#Valid lowercase name with - and . as the allowed characters
name: distributed-data-analysis
#owner points to the project ID which is deploying this app
owner: ddd81f9ab03f45e09196169abceaec6f
spec:
#Array of Resource Bundles which will be installed
resourceBundles:
#name of the resource bundle
- name: data-collector-1
#version of the resource bundle to install
version: v1
#profile name to be used
profile: profile1
#name of cloud region to install this resource bundle
#needs to be expanded to support criteria as well as
#explicit selection
cloudRegion: collection-region-1
#refer to targets defined in the target section
connections:
- target: storage-target-1
#local dns entry that it will be added as
mount: mongo-write.svc.cluster.local
- name: data-processor-1
version: v1
profile: profile1
cloudRegion: process-region-1
connections:
- target: collector-target-1
mount: collector.svc.cluster.local
- name: data-storage-1
version: v1
profile: profile1
cloudRegion: data-storage-1
#No targets for this as this is a destination
#The orchestrator should make sure any reachability configuration is taken care of automatically.
#Define a list of targets which will be
#referred to in each resourceBundle
targets:
- targetName: storage-target-1
rbName: data-storage-1
serviceName: mongo-read
- targetName: collector-target-1
rbName: data-collector-1
serviceName: collector
status:
ready: bool