Need help with Position/Direction (Beginner)

0 votes
asked May 13 in Question / help by anonymous

So As the image shows, I want that Users can be on the Left Side and package Google Cloud Provider on the right side. Then in BKM GKE Cluser package, I want BKM Domain to be on the left side first. So that, I can draw an arrow between Users to BKM Domain closely. How can I achieve it? Thanks a lot, guys

Here is the code:

commented May 13 by The-Lu (64,960 points)

Hello A.,

  • Could you post your source code?

Regards,
Th.

commented May 13 by anonymous
Yes. here are they
```
@startuml BKM MVP Architecture
!define GCP https://raw.githubusercontent.com/Crashedmind/PlantUML-icons-GCP/master/dist
!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

!define K8S https://raw.githubusercontent.com/dcasati/kubernetes-PlantUML/master/dist

!include K8S/kubernetes_Common.puml
!include K8S/kubernetes_Context.puml
!include K8S/kubernetes_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

/'
The other icons will need to come from other stdlib libraries: backup, users, clients.
'/

!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 {
      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", "")
      }
    }
  }
}
@enduml
```

1 Answer

0 votes
answered May 13 by The-Lu (64,960 points)

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.

commented May 14 by anonymous
Thanks a lot. You're a savior. Can you explain it how together works also plz
...