/
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