Getting Started with Crossplane: A Glimpse Into the Future | Tutorial (Part 1)

Поделиться
HTML-код
  • Опубликовано: 13 июл 2024
  • Embark on your journey to Control Plane mastery with the first installment of our Crossplane tutorial series. In this introductory video, "Getting Started with Crossplane: A Glimpse Into the Future", we lay the foundation for creating and managing cloud infrastructure in a cloud-agnostic manner using Kubernetes and Crossplane.
    Whether you're a DevOps enthusiast, a cloud engineer, or a software developer, you'll discover how to unleash the full potential of Crossplane to orchestrate your environment seamlessly.
    By the end of this tutorial, you'll have a clear understanding of some of Crossplane's capabilities, and you'll be ready to dive deeper all aspects of Crossplane as well as its integration with the Kubernetes ecosystem in the upcoming videos of this series.
    Stay tuned for Part 2 where we'll build upon this foundation, exploring more intricate configurations and diving into Crossplane's powerful composition features.
    ▬▬▬▬▬▬ 📖 The Book 📖 ▬▬▬▬▬▬
    Amazon: www.amazon.com/dp/B0CWCYP5CJ
    LeanPub: leanpub.com/crossplane
    ▬▬▬▬▬▬ 📋 Crossplane Tutorial Playlist 📋 ▬▬▬▬▬▬
    • Crossplane Tutorial
    #Crossplane #Kubernetes #DevOps
    Consider joining the channel: / devopstoolkit
    ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
    ➡ Gist with the commands: gist.github.com/vfarcic/732bf...
    🔗 Crossplane: crossplane.io
    🎬 Say Goodbye to Containers - Ephemeral Environments with Nix Shell: • Say Goodbye to Contain...
    ▬▬▬▬▬▬ 💰 Sponsorships 💰 ▬▬▬▬▬▬
    If you are interested in sponsoring this channel, please use calendar.app.google/Q9eaDUHN8... to book a timeslot that suits you, and we'll go over the details. Or feel free to contact me over Twitter or LinkedIn (see below).
    ▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
    ➡ Twitter: / vfarcic
    ➡ LinkedIn: / viktorfarcic
    ▬▬▬▬▬▬ 🚀 Other Channels 🚀 ▬▬▬▬▬▬
    🎤 Podcast: www.devopsparadox.com/
    💬 Live streams: / devopsparadox
    ▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
    00:00 Crossplane Tutorial Intro
    03:15 Setup
    08:32 A Glimpse Into the Future
    17:55 Destroy Everything
  • НаукаНаука

Комментарии • 100

  • @DevOpsToolkit
    @DevOpsToolkit  4 месяца назад +61

    What do you think about series of tutorial videos like this one? Is that something I should focus on in this channel?

    • @NoNickeDGR
      @NoNickeDGR 4 месяца назад +4

      Will be nice :)

    • @annusingh4694
      @annusingh4694 4 месяца назад +2

      I like this a lot. We get deep dives from an expert 💯

    • @IshitaPatil-uf4lh
      @IshitaPatil-uf4lh 4 месяца назад +1

      Series of tutorials will go a long way for us to implement and learn. It will be very helpful

    • @autohmae
      @autohmae 4 месяца назад +1

      Good introduction, looking forward to the rest.

    • @jcog84
      @jcog84 4 месяца назад +1

      Excellent

  • @bjugdbjk
    @bjugdbjk 3 месяца назад +6

    This is insane, Most valuable playlist it gonna be in Devops perspective.
    Thanks a ton for your efforts!
    your channel deserves lot of traction, hope this playlist will get you 100k soon! Thaks again brother.

  • @user-km4ts7qr3x
    @user-km4ts7qr3x 4 месяца назад +2

    Again Victor amazing job ! You truly showcase the value and the potential once again ! Keep up the great work !!!!

  • @edwardpius5367
    @edwardpius5367 4 месяца назад +2

    I really love your videos. I got started not too long ago in Crossplane thanks to your previous videos. I was also looking for some training in Crossplane. So, this video (series) will help me a lot in getting to know more about the nitty gritty about Crossplane (especially creating XRDs).
    Merci Beaucoup!

  • @CTWilliams89
    @CTWilliams89 4 месяца назад +2

    This is awesome found my project for this weekend and it helps me solve a problem I recognized at a new job. Thank you!

  • @ofemi
    @ofemi 4 месяца назад +1

    I've been expecting some like this.
    Looking forward to next video

  • @vimalneha
    @vimalneha 4 месяца назад +1

    Excellent work Viktor!

  • @Andreybishevsky
    @Andreybishevsky 4 месяца назад +1

    Great video thanks you so much Viktor!🎉

  • @zubairhaque2706
    @zubairhaque2706 4 месяца назад +1

    Learn by doing! Hands on great job viktor

  • @parimalaprao
    @parimalaprao 4 месяца назад +3

    Previously, I had asked you for a book on Crossplane and you got us Tutorial Series, Thanks a lot

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +2

      There's a book based on the same material. I published it few days ago. I'll publish a link to it tomorrow in a post.

    • @M79L
      @M79L 4 месяца назад +1

      @@DevOpsToolkitHi Victor, I've already bought the book, but on the leanpub it is still saying, that it is only 80% finished. When do you expect it be finished? Thanks!

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      @M79L i do not plan to finish it any time soon. The idea is to keep adding chapters as crossplane features graduate from alpha to beta (stable). Think of it as a project with updates...

    • @parimalaprao
      @parimalaprao 4 месяца назад +1

      What is name of the book?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      @parimalaprao Crossplane: Cloud Native Control Plane.

  • @SiCrip09
    @SiCrip09 4 месяца назад +2

    I can totally see this future coming 🚀, but I still didn't start with Crossplane. Would be nice to see a tutorial on how to create XRDs the easy way 😸

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +4

      That's coming. XRDs will be covered in the third part.

  • @IvanRizzante
    @IvanRizzante 4 месяца назад +1

    Thanks for another great video! I like the idea of a Crossplane tutorial like this. I find there's confusion around some Crossplane base concepts (like Compositions, Claims, CompositeResource...) so I would spend some time on those. Also Crossplane Functions are good candidates for a tutorial, even though I see you have a dedicated video for those.

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      Each of the videos will go into one of the concepts behind Crossplane, just as it's in the book. The next one is about Managed Resources, the one after that about Compositions, then Configurations, and, finally (for now), about Functions. That's what's in it for now and that should cover all important concepts. One rule I established is NOT to cover alpha features. As they graduate to beta, I will be adding them as new chapters in the book and additional videos here. On top of that, I might cover non-Crossplane things that integrate well with Crossplane, but I cannot promise those just yet.

    • @hophop521
      @hophop521 4 месяца назад +1

      these are the topics that I am looking for as well! Thank you, Viktor!@@DevOpsToolkit

  • @xaviermillot2433
    @xaviermillot2433 4 месяца назад +2

    Amazing, and happy to see CrossPlane getting attention! When I first saw CrossPlane I had an aha moment - clearly the future. Curious: your thoughts on CrossPlane vs TF?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      I have a rule to avoid talking about projects that might be competitors of those I'm involved in. That's the best way for me to avoid being branded as subjective. So, since I started working activelly on Crossplane, I stopped talking about Terraform, Pulumi, and similar tools. I don't see them as direct competitors (I think Crossplane is a different category), but others do.

  • @cybersholt
    @cybersholt 4 месяца назад +1

    Sounds like NixOS for cloud platforms. Which makes a lot of sense.

  • @morozov_official
    @morozov_official 4 месяца назад +2

    Victor, greetings! You need to describe how to create your own provider "on premise". In the simplest example.

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      I'll add "how to create your own provider" to my TODO list. I can't guarantee that it will be on-prem and, even if it is, it'll still depend on a specific API that you might or might not have running in your data center. What matters are the pronciples and logic so you should be able to adapt it to whatever you use.

    • @harahara200812
      @harahara200812 4 месяца назад +1

      +1
      Victor, it would be great how it can be hooked up to an existing k8s cluster. For tutorial purposes, it is ok to use a database running on the cluster itself. This way this tutorial would be more useful and won't require much expense.

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад

      @harahara200812 that's true but that would not allow me to show all the features of crossplane that I'll show.
      I did my best to keep the costs to a minimum. You'll see that each chapter/video destroys everything at the end so you will run resources for a limited time.

  • @pavelpikat8950
    @pavelpikat8950 4 месяца назад +1

    Victor, Crossplane is great, but can you help me with one thing here - since I also know you are a big fan of Kustomize. We use Kustomize, and it's very convinient to update an image in the overlay with 'kustomize image edit'. If we abstract Deployment into a Claim, won't we lose that piece of tooling? How would a team easily update their image tag in the Claim? (other than going to Git and updating it manually every time)

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      `kustomize image edit` is not designed to anything but `Deployment` resources so that would not work. You would need to change YAML without Kustomize just as you would need to change any aspect of Kustomize but image. You can still use overlays though.
      Personally, since those changes typically happen in pipelines, I don't think it's big of a problem to execute `yq --inplace "..." something.yaml`.
      Also, there are many tools besides Kustomize to template or overlay YAML. Helm, ytt, CUE, Pkl, Jsonnet, etc.

  • @remi2215
    @remi2215 3 месяца назад +2

    It seems like a crossplane is also running in a k8s cluster but where is the latter ? Does your nix env install it in local ?
    Ho I saw on your GitHub your using kind.

    • @DevOpsToolkit
      @DevOpsToolkit  3 месяца назад +1

      I use Nix only for tooling I need to work on a project. The apps, including Crossplane, are running in a similar way as production, and that, in my case, means Kubernetes. In the case of that video, I'm using Nix to install the CLIs (including `kind`) and then spin up a local cluster (KinD in Docker) where Crossplane and other apps are installed. In a real-world scenario, it would be a "real" cluster but for demo purposes KinD is good enough.

  • @marceloaguero
    @marceloaguero 4 месяца назад +1

    Hi! Is it possible to do everything that this tutorial implies in any of the free services of cloud providers (for example AWS free tier)?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      It's been a while since i got free credits from cloud providers. If I remember correctly, google gives $250 that can be spent on any services and what we're doing probably won't pass $10-30. Not sure whether azure and AWS give credits like that or force you to use specific services and specific sizes.

  • @romosa25
    @romosa25 4 месяца назад +2

    What happen to resources created by Crossplane when cluster cluster is deployed to experienced some issues?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад

      If for some reason Crossplane Is not operational, resources it create keep running. They are just not managed by crossplane until it becomes operational again.

  • @lhxperimental
    @lhxperimental 3 месяца назад +1

    Does it require a Hyperscaler? What about on prem clusters?

    • @DevOpsToolkit
      @DevOpsToolkit  3 месяца назад

      The capabilities depend on which providers you apply. There is a bigger focus on hyperscalers than onprem, especially since onprem can be many different things. In the worst case scenario you can create a provider that fits your needs.

  • @oleksandrsimonov9200
    @oleksandrsimonov9200 4 месяца назад +1

    What is don’t like is that license can be changed. So why I’m using direct service controllers from AWS and Azure

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +4

      Crossplane licence cannot change. It is owned by CNCF.

  • @memo.i.garcia
    @memo.i.garcia 4 месяца назад +1

    My only problems with "jack of all trades" solutions is that as soon as you leave the happy path shown in demos, you need to resort to all sorts of esoteric workarounds to make things work.

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      I would not say that it is jack of all trades. Crossplane is focused on managing resources. That's what it does.
      Do you have an example of something that required esoteric workarounds?

  • @hophop521
    @hophop521 4 месяца назад +1

    something that I am missing from the videos and upbound documentation is how to describe the type of map[string] string like resourceGroupNameSelector in the CRD schema - as a string or map or map(string) ?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад

      If you open the spec of the API you're using you should see the type of each field (e.g. object, string, array, etc.). Specs for all the providers are in marketplace.upbound.io and for the core APIs in the docs in crossplane.io.

    • @hophop521
      @hophop521 4 месяца назад +1

      @@DevOpsToolkit thank you for the hint :)

  • @AndrewWeed
    @AndrewWeed 4 месяца назад +1

    I'm new to NixOS and to Crossplane. I am curious why there does not seem to be a crossplane-cli nix package, even though it is in shell.nix. How would I declaratively get the crossplane-cli (which is currently called crank, I guess)?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +1

      It is available, but in the "unstable" channel. If you go to search.nixos.org and search for it, you'll have to click the "unstable" button to see it.
      search.nixos.org is not very intuitive and has quite a few things missing (e.g., list of versions). nixhub.io might be a better place to search for packages (even though it suffers from some other problems).

    • @AndrewWeed
      @AndrewWeed 4 месяца назад +1

      @@DevOpsToolkit Thanks so much! Being new to NixOS was not helping! Now running the whole OS on nixos-unstable.

    • @AndrewWeed
      @AndrewWeed 3 месяца назад +1

      You may want to make a note that the SSH key cannot have a passphrase protecting it for ArgoCD to use it. This was a source of significant troubleshooting on my part.

  • @dandogamer
    @dandogamer 4 месяца назад +1

    Is there any plans for control plane to support civo?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад

      Unfortinately, Civo provider has not been updated since the initial release so their managed database is not in it. Some would need to add it first.

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад

      ...or raise an issue in the provider repo to show interest in it and, maybe, motivate them to update it.

  • @devopsjockey
    @devopsjockey 4 месяца назад +1

    Prerequisites

  • @anupamojha1896
    @anupamojha1896 Месяц назад +1

    Victor , I am kind of stuck in the setup section. can I get some help?

    • @anupamojha1896
      @anupamojha1896 Месяц назад +1

      Should I create a kubeconfig.yaml file in the crossplane-tutorial directory ?

    • @DevOpsToolkit
      @DevOpsToolkit  Месяц назад

      Yes. That's what the setup script is doing.

    • @DevOpsToolkit
      @DevOpsToolkit  Месяц назад

      Pick a time from calendar.app.google/MRbyC9Q44DUF4bWZ9 and we can go through it together.

    • @anupamojha1896
      @anupamojha1896 Месяц назад +1

      @@DevOpsToolkit Hi Victor , I cant thank you enough for this. I have blocked some time for us on the 17th . but meanwhile , i want to unblock myself . is there a forum I can post my question with whatever error I am getting ?

    • @DevOpsToolkit
      @DevOpsToolkit  Месяц назад +1

      @anupamojha1896 looking forward to the chat. In the meantime, crossplane slack is probably the best place to get a quick answer. I'm there under vfarcic (but can't guarantee when I'll answer).

  • @bules12
    @bules12 4 месяца назад +1

    I thought about using crossplane but then my client told me: Hey I need this application to scale automatically
    So I learnt about Karpenter and Fargate and thought: well, I shouldn’t need Crossplane if I’m using those tools right?

    • @DevOpsToolkit
      @DevOpsToolkit  4 месяца назад +2

      Crossplane serves Bety different purpose from Fargate and Karpenter. You would use Crossplane to create and manage Fargate cluster and networking and everything else.

    • @bules12
      @bules12 4 месяца назад +1

      @@DevOpsToolkit great to know! Didn’t thought about mixing everything 😊

  • @soulspirit86
    @soulspirit86 3 месяца назад +1

    nice tutorial. but spinning up a db.m5.large for over 100$ a month just for this demo is a bit silly.

    • @DevOpsToolkit
      @DevOpsToolkit  3 месяца назад

      You're right. I'll change it to a smaller size.

    • @DevOpsToolkit
      @DevOpsToolkit  3 месяца назад

      As a side note... I assume that people following those videos will not run clusters more than for a few hours in total. I made sure that each ends up with total destruction.

    • @soulspirit86
      @soulspirit86 3 месяца назад +1

      yes, that destruction script is pretty nice. as I said, I really appreciate what you created here. will for sure follow the whole series@@DevOpsToolkit