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

Поделиться
HTML-код
  • Опубликовано: 30 ноя 2024

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

  • @DevOpsToolkit
    @DevOpsToolkit  9 месяцев назад +65

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

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

      Will be nice :)

    • @annusingh4694
      @annusingh4694 9 месяцев назад +3

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

    • @IshitaPatil-uf4lh
      @IshitaPatil-uf4lh 9 месяцев назад +2

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

    • @autohmae
      @autohmae 9 месяцев назад +2

      Good introduction, looking forward to the rest.

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

      Excellent

  • @bjugdbjk
    @bjugdbjk 8 месяцев назад +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.

  • @daver94
    @daver94 22 дня назад +1

    Victor, thank u so much for this video! Your effort is inspiring. We are currently reviewing crossplane at work and it looks amazing. Thank u!

  • @CTWilliams89
    @CTWilliams89 8 месяцев назад +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!

  • @edwardpius5367
    @edwardpius5367 9 месяцев назад +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!

  • @victory-eze
    @victory-eze 2 месяца назад +1

    I love the quality of your videos, they are simply amazing. your gears are really great and the lightening is perfect. and the way you teach is awesome. Thank you

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

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

    • @DevOpsToolkit
      @DevOpsToolkit  9 месяцев назад +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 9 месяцев назад +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  9 месяцев назад +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 9 месяцев назад +1

      What is name of the book?

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

      @parimalaprao Crossplane: Cloud Native Control Plane.

  • @GiorgosFiotakis
    @GiorgosFiotakis 9 месяцев назад +2

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

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

    Excellent work Viktor!

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

    Learn by doing! Hands on great job viktor

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

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

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

    Great video thanks you so much Viktor!🎉

  • @remi2215
    @remi2215 8 месяцев назад +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  8 месяцев назад +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.

  • @SiCrip09
    @SiCrip09 9 месяцев назад +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  9 месяцев назад +4

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

  • @IvanRizzante
    @IvanRizzante 9 месяцев назад +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  9 месяцев назад +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 8 месяцев назад +1

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

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

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

    • @DevOpsToolkit
      @DevOpsToolkit  9 месяцев назад +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 9 месяцев назад +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  9 месяцев назад

      @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.

  • @xaviermillot2433
    @xaviermillot2433 9 месяцев назад +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  9 месяцев назад +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.

  • @flyingwings-learningisfun
    @flyingwings-learningisfun Месяц назад +1

    We need something which you craete from scratch using documentation that would be really useful for begineers like me

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

      The goal of that tutorial is to learn crossplane from scratch. The only prerequisite is at least basic understanding of kubernetes. Other than that, gists used in the tutorial should do everything.

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

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

  • @memo.i.garcia
    @memo.i.garcia 9 месяцев назад +2

    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  9 месяцев назад +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?

  • @pavelpikat8950
    @pavelpikat8950 9 месяцев назад +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  9 месяцев назад +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.

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

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

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

      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.

  • @marceloaguero
    @marceloaguero 9 месяцев назад +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  9 месяцев назад +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.

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

    Is there a part 2 yet?

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

      All 6 were published on this channel. More will come when new stable features are added.

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

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

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

      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 9 месяцев назад +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  9 месяцев назад +4

      Crossplane licence cannot change. It is owned by CNCF.

  • @hophop521
    @hophop521 8 месяцев назад +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  8 месяцев назад

      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 8 месяцев назад +1

      @@DevOpsToolkit thank you for the hint :)

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

    Installed crossplane but unable to provision postgreSQL database

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

      Ping me on LinkedIn or Twitter and we can go through it together.

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

    Nix install fails on my side due to the azure cli : "ModuleNotFounderror: No module names 'nail' " . It works OK however if I remove the azure CLI from the list of the packages

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

      Can you exist the Nix Shell, execure `nix-collect-garbage` and then run `nix-shell --run $SHELL` again? I suspect that one of the dependencies (e.g., Python) is messing it up. The `nix-collect-garbage` command should delete all Nix dependencies so that you can start over.

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

      Also for info gist scripts reference mentions cluster-01, but in reality it is cluster01 ( at least for Azure AKS )

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

      I mean the resource group created on Azure is called cluster01, whereas the gist for Azure mentions cluster-01 ( id vs metadata name I guess )

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

      Is it `az aks get-credentials...` command in the first part (the one used in the video where this comment is)?

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

      @@DevOpsToolkit Yes. Nothing dramatic, but I thought you would like to know ;)

  • @AndrewWeed
    @AndrewWeed 8 месяцев назад +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  8 месяцев назад +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 8 месяцев назад +1

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

    • @AndrewWeed
      @AndrewWeed 8 месяцев назад +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.

  • @anupamojha1896
    @anupamojha1896 5 месяцев назад +1

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

    • @anupamojha1896
      @anupamojha1896 5 месяцев назад +1

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

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

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

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

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

    • @anupamojha1896
      @anupamojha1896 5 месяцев назад +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  5 месяцев назад +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).

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

    Is there any plans for control plane to support civo?

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

      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  9 месяцев назад

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

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

    Prerequisites

  • @bules12
    @bules12 9 месяцев назад +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  9 месяцев назад +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 9 месяцев назад +1

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

  • @chatterjeeriju56
    @chatterjeeriju56 2 месяца назад +1

    I have run the script in an EC2 instance and had port forwarded and also allowed port 8080 in the SG, but I am still unable to browse the argocd instance in the :8080 from my laptop.. What can be the issue? @DevOpsToolkit

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

      Not sure... I tend to always use Ingress for anything accessible from outside the cluster.

  • @soulspirit86
    @soulspirit86 8 месяцев назад +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  8 месяцев назад

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

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

      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 8 месяцев назад +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