Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Add support for multi-account #93

Open
iamahgoub opened this issue May 20, 2024 · 0 comments
Open

[FEATURE] Add support for multi-account #93

iamahgoub opened this issue May 20, 2024 · 0 comments

Comments

@iamahgoub
Copy link
Contributor

iamahgoub commented May 20, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant