Skip to content

[FEATURE] Add support for multi-account #93

@iamahgoub

Description

@iamahgoub

As of now, all the workload clusters provisioned by the solution lands on the same account where the management cluster resides. This issue for adding support for multi-cluster.

Changes:
Workload clusters can be provisioned in different accounts by following the steps below:

  1. Create an additional ProviderConfig that points to the account where you want to deploy the workload cluster. Original ProviderConfig can be found at: https://github.com/aws-samples/eks-multi-cluster-gitops/blob/main/repos/gitops-system/tools/crossplane/crossplane-aws-provider-config/aws-providerconfig.yaml. The new ProviderConfig will be a bit different from the original one; a role in the workload cluster account has to be assumed -- refer to the following sample for guidance: https://github.com/crossplane-contrib/provider-aws/blob/master/AUTHENTICATION.md#using-assumerole.
  2. Change the EKS composition to parameterise providerConfigRef.
  3. Pass the name of the new ProviderConfig created at step 1 in the claim of the new cluster at: https://github.com/aws-samples/eks-multi-cluster-gitops/blob/main/repos/gitops-system/clusters-config/template/def/eks-cluster.yaml.

NOTE: the steps above are based on the community AWS provider -- it needs to be validated for the official Upbound AWS providers.

You will have to create an IAM role in the workload cluster account with trust policy that allows assuming it from the IAM role in the management account used for running Crossplane AWS provider; it should have the required IAM permissions for creating EKS clusters, and its dependencies.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions