Hello A.,
Here is a proposal, using `together` and `dummy white link`, as:
@startuml BKM MVP Architecture
!include <GCP/GCPCommon.puml>
!include <GCP/Compute/Cloud_Functions.puml>
!include <GCP/Networking/Cloud_Firewall_Rules.puml>
!include <GCP/Compute/Compute_Engine.puml>
!include <GCP/Storage/Cloud_Storage.puml>
!include <K8S/Common.puml>
!include <K8S/Context.puml>
!include <K8S/Simplified.puml>
!include <K8S/OSS/KubernetesSvc.puml>
!include <K8S/OSS/KubernetesIng.puml>
!include <K8S/OSS/KubernetesPod.puml>
!include <K8S/OSS/KubernetesRs.puml>
!include <K8S/OSS/KubernetesDeploy.puml>
!include <K8S/OSS/KubernetesHpa.puml>
!include <awslib/AWSCommon>
!include <awslib/AWSSimplified.puml>
!include <awslib/Compute/all.puml>
!include <awslib/general/all.puml>
!include <material/common>
skinparam package {
BorderColor #4285F4
FontColor #4285F4
}
skinparam linetype ortho
Client(users, "Users", "")
package "Google Cloud Provider" as gcp {
package "Anthos Service Mesh - Istio" as asm {
package "BKM GKE Cluster" as bkm_gke {
together {
KubernetesIng(ingress, "BKM Domain", "")
}
Cluster_Boundary(fe, "Front End") {
KubernetesSvc(fe_svc, "service", "")
KubernetesPod(fe_pod1, "instance 1", "")
KubernetesPod(fe_pod2, "instance 2", "")
}
Cluster_Boundary(bff, "BFF") {
KubernetesSvc(bff_svc, "service", "")
KubernetesPod(bff_pod1, "instance 1", "")
KubernetesPod(bff_pod2, "instance 2", "")
}
Cluster_Boundary(be, "Back End") {
KubernetesSvc(be_svc, "service", "")
KubernetesPod(be_pod1, "instance 1", "")
KubernetesPod(be_pod2, "instance 2", "")
}
}
}
}
users -r[#white]-> gcp
@enduml
Enjoy,
Regards,
Th.