Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 1.52 KB

README.md

File metadata and controls

61 lines (43 loc) · 1.52 KB

Example crossplane config for AWS EKS IRSA

vRelevant blog post: https://vrelevant.net/crossplane-all-the-patches-with-aws-irsa-config/

Note: To keep this setup simple,I'm using Kustomize to apply the Crossplane Provider-aws, XRDs, and Compositions. Using a Crossplane Configuration would be the best practice for production use. See the Crossplane docs for more info on Configuration.

Prerequisites

  1. K8s cluster
  2. kubectl cli
  3. AWS account
  4. aws cli

(All steps assume you are working from the root of the repo clone.)

1. Install Crossplane

kubectl create namespace crossplane-system
helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update
helm install crossplane --namespace crossplane-system crossplane-stable/crossplane

2. Install XRDs and Compositions

kubectl apply -k config/. 

3. Create credential secret for provider-aws and configure provider

AWS_PROFILE=default && echo -e "[default]\naws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)\naws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf
kubectl create secret generic aws-creds -n crossplane-system --from-file=credentials=./creds.conf
kubectl apply -f config/provider/aws-providerConfig.yaml

4. Deploy

kubectl create -f examples/cluster-claim.yaml
watch kubectl get managed