Crossplane Tutorial (vs Terraform): Create AWS VPC - EKS - IRSA - Cluster Autoscaler - CSI Driver #1

Ғылым және технология

🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com
▬▬▬▬▬ Experience & Location 💼 ▬▬▬▬▬
► I’m a Senior Software Engineer at Juniper Networks (12+ years of experience)
► Located in San Francisco Bay Area, CA (US citizen)
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
► LinkedIn: / anton-putra
► Twitter/X: / antonvputra
► GitHub: github.com/antonputra
► Email: me@antonputra.com
▬▬▬▬▬▬ Related videos 👨‍🏫 ▬▬▬▬▬▬
👉 [Playlist] Kubernetes Tutorials: • Kubernetes Tutorials
👉 [Playlist] Terraform Tutorials: • Terraform Tutorials fo...
👉 [Playlist] Network Tutorials: • Network Tutorials
👉 [Playlist] Apache Kafka Tutorials: • Apache Kafka Tutorials
👉 [Playlist] Performance Benchmarks: • Performance Benchmarks
👉 [Playlist] Database Tutorials: • Database Tutorials
▬▬▬▬▬▬▬ Timestamps ⏰ ▬▬▬▬▬▬▬
0:00 Intro
3:48 Install Crossplane on Kubernetes
5:44 Create S3 Bucket using Crossplane
14:02 Create AWS VPC using Crossplane
24:44 Create EKS Cluster using Crossplane
32:12 Create OpenID Connect Provider (OIDC)
34:18 Deploy EBS CSI driver
40:56 Deploy Cluster Autoscaler
▬▬▬▬▬▬▬ Source Code 📚 ▬▬▬▬▬▬▬
► GitHub: github.com/antonputra/tutoria...
#Crossplane #AWS #EKS

Пікірлер: 57

  • @AntonPutra
    @AntonPutra8 ай бұрын

    🔴 - To support my channel, I’d like to offer Mentorship/On-the-Job Support/Consulting - me@antonputra.com

  • @prashlovessamosa
    @prashlovessamosa8 ай бұрын

    You put so much effort to teach us Hats off to your hardwork.

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thank you, Prashant!❤

  • @GabrielPozo
    @GabrielPozo8 ай бұрын

    The best KZread channel for these kinds of topics!!!

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    ❤️

  • @mhmdbahja
    @mhmdbahja8 ай бұрын

    I was waiting for this video

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    working on another one: compositions, import existing infra and some other more advanced features

  • @mhmdbahja

    @mhmdbahja

    8 ай бұрын

    Thrilled to watch tutorials on cutting-edge technologies! Your content is invaluable. Keep up the amazing work!@@AntonPutra

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    @@mhmdbahja Thank you! Appreciate it!

  • @twizzoe
    @twizzoe8 ай бұрын

    @AntonPutra, thank you very much for this content. I have searched for a detailed video on the usage of crossplane on youtube, You actually nailed it.

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thank you, Taiwo Lawal. I think nowadays most people would like to provision Kubernetes and use all the features and integrations that it provides.

  • @sujithsurendran7686
    @sujithsurendran76867 ай бұрын

    Thank you! Can you continue the crossplane video series? Like Composition, convert the existing code you used to the Helm chart.

  • @XRoydX
    @XRoydX8 ай бұрын

    First of all thanks for yet another great video - looking forward to learn a lot from it. Looking at the possibilities I get goosebumps. Being able to not only associate a service account with iam roles but to also create the trust relationships, create a s3 bucket, setup rds credentials store them in secrets manager and reference them with external secrets operator all managed in argocd. Brings us close to a internal developer platform. All what is left is a easy to use UI

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thanks Thomas!

  • @MohitVerma-cf2ke
    @MohitVerma-cf2ke8 ай бұрын

    Excellent tutorial . Thank you teacher , Guru 🙏🏻

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    THank you, Mohit!❤

  • @mukeshdhiman81
    @mukeshdhiman814 күн бұрын

    Thank you!

  • @AntonPutra

    @AntonPutra

    4 күн бұрын

    My pleasure! I'll update this lesson soon to incorporate pod identities and refresh the rest of it with new API versions.

  • @Bl4nk0_
    @Bl4nk0_2 ай бұрын

    Thank you so much! It helped a lot!

  • @AntonPutra

    @AntonPutra

    2 ай бұрын

    welcome!

  • @user-hv3hg9gp5o
    @user-hv3hg9gp5o8 ай бұрын

    You are great! I recommend your channel to everyone 😊 great videos! Does crossplane support all same resources and their settings that are available in Terraform AWS provider? What about other providers? Or it supports only a small set?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thank you Юрий! Well, my understanding that Crossplane AWS provider is based on the official Terraform provider, so I think there is a small lag between new feature in AWS -> implementation in AWS terraform provider -> Adoption in Crossplane provider as a custom resource

  • @fburon_
    @fburon_8 ай бұрын

    Excellent video. I have a question, how do you create those animated diagrams?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thanks! Adobe suite

  • @viswaviswa8616
    @viswaviswa86168 ай бұрын

    Thank you so much for your lovely efforts, do you have any basic tutorial about cross plane use cases how to use and when to use?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    You can use it to manage your cloud and not only infrastructure; essentially, anything you can do with Terraform, you can do with Crossplane.

  • @viswaviswa8616

    @viswaviswa8616

    8 ай бұрын

    @@AntonPutra so we can provision the entire infrastructure, manage the kubernetes objects using corssplane as well?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    @@viswaviswa8616 You can manage Kubernetes objects with helm Crossplane provider but I would recommend to use ArgoCD or Flux for that purpose

  • @devplatformoon
    @devplatformoon8 ай бұрын

    Hi Anton Putra, nice video! TY! I have a question:What would be a best practice for using AWS Admin credentials in production? Use IAM Role?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thanks you! The best practise never use admin anywhere😊 Always follow the least privilege principle. For production create multiple IAM roles with different access such as read/write/destroy and use them in different parts of pipeline or grant them to different users. Only few selected users should be able to "write" and "destroy". Ideally everything must be under git control and Terraform runs only on PRs or merges. Take a look on Atlantis.

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    I forgot that it's about Crossplane but you get a point lol

  • @nikolaibarinov8660
    @nikolaibarinov86608 ай бұрын

    So, to create a Kubernetes cluster you need an another cluster 😀 By the way, what the benefits do to use Crossplane to compare with Terraform/Terragrunt or AWS CDK?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Yes, it's a chicken and egg problem. Moreover, I wouldn't place all my environments in a single Kubernetes cluster; meaning, for production, I would use different host Kubernetes clusters, each with different levels of access. The biggest benefit is the reconciliation loop of Kubernetes. Compared to Terraform, Crossplane will detect any drift if someone manually updates the infrastructure and will reapply it to match your YAML.

  • @abessesmahi4888
    @abessesmahi48888 ай бұрын

    @AntonPutra How to use Crossplane with K8S on Bare metal? Thank you so much for your efforts.

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Thank you. If you are referring to a host, it functions the same as Minikube. However, if you are asking about managing bare metal clusters or VMware, you need to search for the specific provider here: marketplace.upbound.io/providers or build one.

  • @bohdanzelmanovych4827
    @bohdanzelmanovych48276 ай бұрын

    You added providerConfigRef (name: default) only one time for the s3 bucket and didn't do it for other resources. Is it because you created "ProviderConfig" with "default" name and it will be used automatically, or there is another reason?

  • @AntonPutra

    @AntonPutra

    6 ай бұрын

    Yes, it defaults to "default". "If providerConfigRef isn’t applied, Providers use the ProviderConfig named default." Here is a link - docs.crossplane.io/latest/concepts/managed-resources/#providerconfigref

  • @nltemp
    @nltemp8 ай бұрын

    It looks cool at first, but I see several hardcoded IDs retrieved manually from the AWS console: - account ID - OIDC fingerprint I'm wondering how could those be fetched dynamically. Another thing i don't get right now: In terraform i can factorize common code in modules; Achieving the same with those plain yaml manifests would require the usage of some kind of templating system: Helm, kustomize. Correct?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    1. As I mentioned in the video, not everything can be automated with Crossplane yet; some steps are manual, and if you need 1-click deployment, Terraform is the better choice. 2. Crossplane has a notion of Compositions that allow you to combine multiple Managed Resources such as VPC & Subnets into one, which is somewhat similar to a Terraform module. 3. You can also use Helm and Kustomize to combine multiple resources and share values.

  • @nltemp

    @nltemp

    8 ай бұрын

    @@AntonPutra thx for the hints!

  • @vitaliihirenko8200
    @vitaliihirenko82008 ай бұрын

    Is it possible here to do something that we could do with terraform outputs? Like get output fin another resource and use it in the current one?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Not yet, they use different mechanism for cross reference - github.com/crossplane/crossplane/blob/master/design/one-pager-cross-resource-referencing.md

  • @austinloveless5171
    @austinloveless51718 ай бұрын

    Which video shows how to update the aws-auth config map to allow more users to access the cluster. i can't find one on your channel.

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    Sure, this one - kzread.info/dash/bejne/k32kqruSk7Wdn7g.html

  • @akhbornabikhodjaev4193
    @akhbornabikhodjaev41938 ай бұрын

    In which use cases or scenarios do you think Crossplane offers significant advantages over Terraform?

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    1. Detects the drift and corrects it. 2. Simpler and easier to use, especially for those without experience with Terraform. 3. Avoids team disputes over what to include in a Terraform module and how to structure the code.

  • @user-hv3hg9gp5o

    @user-hv3hg9gp5o

    8 ай бұрын

    ​@@AntonPutraregarding p.3, would not the team dispute what to include in crossplane now? 😅

  • @AntonPutra

    @AntonPutra

    8 ай бұрын

    @@user-hv3hg9gp5o Well, crossplane compositions are much simpler then Tf modules. In the future I guess😊

  • @vigneshselvakumar4984
    @vigneshselvakumar49842 ай бұрын

    I have repeated the same steps with provider version 0.40 but I'm unable to create a cluster. It's shows the sync status as false.

  • @AntonPutra

    @AntonPutra

    2 ай бұрын

    try to get logs from crossplane components/provider, you may get more info. They to "kubectl describe ..." as well

  • @Daveooooooooooo0
    @Daveooooooooooo0Ай бұрын

    Audio bug at 29:45...here you just define x2

  • @AntonPutra

    @AntonPutra

    Ай бұрын

    thanks, probably missed it

  • @Daveooooooooooo0

    @Daveooooooooooo0

    Ай бұрын

    @@AntonPutra 💪keep on rocking!

  • @AntonPutra

    @AntonPutra

    Ай бұрын

    @@Daveooooooooooo0 will do :)

  • @josephwagner6682
    @josephwagner66824 ай бұрын

    very good video!

  • @AntonPutra

    @AntonPutra

    4 ай бұрын

    thanks!

  • @josephwagner6682

    @josephwagner6682

    4 ай бұрын

    I checked your GitHub but didn’t find this lesson 176. Do you mind making it public after removing your AWS secrets ?

Келесі