DevSpace - Development Environments in Kubernetes

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ก.ค. 2021
  • DevSpace is a lightweight open-source CLI tool that enables local and remote development environments in Kubernetes.
    #DevSpace #Loft #Kubernetes #k8s
    Consider joining the channel: / @devopstoolkit
    ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
    ➡ Gist with the commands: gist.github.com/6955a3fa05665...
    🔗 DevSpace: devspace.sh
    🎬 vCluster: • How To Create Virtual ...
    🎬 Argo CD: • Argo CD - Applying Git...
    🎬 Flux CD: • Flux CD v2 With GitOps...
    🎬 K3d: • K3d - How to run Kuber...
    🎬 Kustomize: • Kustomize - How to Sim...
    ▬▬▬▬▬▬ 🚀 Courses, books, and podcasts 🚀 ▬▬▬▬▬▬
    📚 Books and courses: www.devopstoolkitseries.com
    🎤 Podcast: www.devopsparadox.com/
    💬 Live streams: / devopsparadox
    ▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
    ➡ Twitter: / vfarcic
    ➡ LinkedIn: / viktorfarcic
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 57

  • @DevOpsToolkit
    @DevOpsToolkit  3 ปีที่แล้ว +5

    What do you think about DevSpace? Can it serve your development needs?
    IMPORTANT: For reasons I do not comprehend (and Google support could not figure out), TH-cam tends to delete comments that contain links. Please exclude from the links to ensure that your comments are not removed.

    • @oftheriverinthenight
      @oftheriverinthenight 3 ปีที่แล้ว +2

      A year ago or more I look for this kind of tools and Tilt.dev covered all the team needs. But If I get some free time will try to take a look at dev space

    • @srgpip
      @srgpip 3 ปีที่แล้ว +1

      Thanks Victor, really like the look of Devspace, currently we are employing vscode remote containers for local dev work, at least for those using vscode ;-)

  • @jonassteinberg9598
    @jonassteinberg9598 2 ปีที่แล้ว +1

    Excellent video as usual, Victor. I wish you nothing but success in your journey, your videos are always fantastic!

  • @Peter1215
    @Peter1215 3 ปีที่แล้ว +6

    I was evaluating those types of tools extensively about a year ago and it was a thigh competition between DevSpaces and Okteto. We went with Okteto, mostly because they provided more abstraction and team wasn't that deep into k8s. From the same toolset type, Skaffold and Telepresence are my other favorites. Regardless of the toolset, developing in containers is the important part.

  • @sid6576
    @sid6576 ปีที่แล้ว +1

    Very helpful, thank you sir!

  • @kevinyu9934
    @kevinyu9934 3 ปีที่แล้ว +1

    I like your contents! Keep it up dude

  • @steshaw3
    @steshaw3 3 ปีที่แล้ว +5

    I'd love to see a full lifecycle demo using your favourite toolchain!

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +3

      In that case, it's decided :). I'll start working on it and, if nothing unexpected happens, it should be available next Monday.

  • @Masupialmi85
    @Masupialmi85 3 ปีที่แล้ว +8

    I would be interested in devspace vs tilt vs garden vs skaffold

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +2

      Adding it to my TODO list... :)

    • @steshaw3
      @steshaw3 3 ปีที่แล้ว +1

      I'd like to see that too. Another viewer mentioned Okteto but that seems proprietary.

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +1

      @@steshaw3 Okteto is open source. The service around Okteto (SaaS) is proprietary. Here's the video: th-cam.com/video/yjgHHUT-5-s/w-d-xo.html

    • @andreykaliazin4852
      @andreykaliazin4852 3 ปีที่แล้ว +2

      @@DevOpsToolkit Is there just one Viktor, or there is a whole bunch of Viktor's clones doing all this impressive work? I am having hard times just following all the new content! :-)

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +2

      @@andreykaliazin4852 The number of Viktors is smaller now then a few weeks earlier. I had to move from publishing two videos a week to only one. Discovery, preparation, scripting, recording, editing, etc. takes too much time so I had to reduce the frequency.

  • @derekneves5111
    @derekneves5111 2 ปีที่แล้ว +2

    13:40 Yes Viktor, this would be super insightful ! With ArgoCD maybe ? maybe even add linkerd to the full lifesycle ? or secrets/config management

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      Great to hear that. Adding it to my TODO list...

  • @JonasLarsen
    @JonasLarsen 3 ปีที่แล้ว +3

    Absolutely interested in a video combining vcluster and devspace.

  • @joebowbeer
    @joebowbeer 3 ปีที่แล้ว +1

    13:50 clairvoyance in action

  • @teC5
    @teC5 3 ปีที่แล้ว +2

    i recon for most applications just developing on your machine and ignoring deployment specifics (like k8) will result in a much smoother experience than stuff like this. Hot reloading and stuff like that is perfectly possible with most languages and frameworks on your local machine.

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +1

      That is true. However, the closer it is to how it will run in production, the better, especially it there is no significant increase in the effort.

  • @andreykaparulin9214
    @andreykaparulin9214 2 ปีที่แล้ว +1

    thanks

  • @Mauglus
    @Mauglus 3 ปีที่แล้ว +2

    Video Suggestion: Something about Logging would be useful, like EFK Stack used inside Kubernetes

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว

      Adding it to my TODO list... :)

  • @herambthuse5460
    @herambthuse5460 3 ปีที่แล้ว +2

    Hey , good idea, please create a whole video of complete application lifecycle with all the tools you mentioned. Even if becomes 45 min video , its ok but it will be very valuable. Please see if you can make one.

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว

      I just finished working on it. It'll be published tomorrow :)

  • @System32Design
    @System32Design 3 ปีที่แล้ว +1

    How does it work with multiple projects? Lets say you are developing frontend and backend (simultaneously) do you need two different clusters running?

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +1

      As long as the manifests you are using contain all the apps you need, it should work. The alternative is to deploy only the one you're working on and connect it to others running somewhere else.

  • @harshthakur7215
    @harshthakur7215 3 ปีที่แล้ว +2

    Viktor, how would you compare this with Telepresence? Personally, I dig Telepresence because there's no special config I need to learn and hooking up local processes to connect with K8s services out of the box feels extra ordinary. Only con I feel is it's painful to use when there are volumes involved. Would love to hear your thoughts and also in general....why aren't such dev tools well adopted?

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว +1

      They are different. DevSpace helps you synchronize your code into containers running in a k8s cluster (local or remote) while Telepresence is more about connecting (intercepting) apps in a dev environment with dependencies running somewhere else.
      I hope to go into more depth with Telepresence soon.

  • @bogdanh8511
    @bogdanh8511 3 ปีที่แล้ว +1

    hi Viktor, first of all I want to say that your videos are awesome!
    I am developer and, on my local environment, I'm using Skaffold Helm Deploy to build an API let's say. In the same time, I also need infrastructure (Mongodb, Redis etc) defined for my local env. How can I deploy Mongodb using the Bitnami Helm Chart, but in a declarative way, I don't want to run "helm install". I would like to have a space (git repo or repos) where I can declaratively define the "infrastructure" for my local environment (Mongo, redis, mysql, pv, pvc etc). What tools should I use for that?
    Thank you so much!

    • @DevOpsToolkit
      @DevOpsToolkit  3 ปีที่แล้ว

      One does not exclude the other. If you run `kubectl` or `helm` commands against manifests stored in Git, you are doing things in a declarative way (k8s YAML is a declarative format to define the desired state). Now, if your question is how to sync the actual state (e.g., cluster) into the desired state (manifests in Git ), then the answer is GitOps. If that's what you're looking for, I would recomment Argo CD or Flux. You can find videos about both in my channel.
      I'm not sure whether I answered your question. Please let me know if I didn't, and I'll get back to you with more info or we can have a live chat.

  • @jonassteinberg3779
    @jonassteinberg3779 2 ปีที่แล้ว +2

    Question though: in a microservices mesh where one needs to develop against maybe 2 or 3 or 10 services how does a local, as opposed to a _shared_ cluster help? I get the gist of this and more and more I like loft stuff, but I think it's best for devs to always be connected to a remote cluster *together*. In other words the same idea as devspace, but instead of a cluster locally it's a shared cluster remotely and you're proxying your local stuff out to the remote cluster otherwise it gets too "it works on my dev box?!".

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      That is precisely the topic I am about to explore and, if everything goes as planned, publish after the next video :)

    • @7siwy1
      @7siwy1 2 ปีที่แล้ว +1

      ​@@DevOpsToolkit Jonas asked great question. Did you maybe managed to record some video about this?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      @@7siwy1 I recommend trying vCluster (th-cam.com/video/JqBjpvp268Y/w-d-xo.html) combined with DevSpace. The former gives you an easy and fast way to create (virtual) clusters while still maintaining (relative) isolation and, more importantly, that will not cause issues with cluster-level resources.

  • @OLOTERO
    @OLOTERO 2 ปีที่แล้ว +1

    Is this similar when you run docker-compose? Or what are the differences?

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      It is partly similar. Both will run containers. The major difference is that DevSpace synchronizes code from your laptop into those containers (without rebuilding them) and has different profiles depending on what your trying to do. Compose was designed to run Docker containers and Swarm workloads, and later on made to work in k8s without supporting anything but trivial use cases. DevSpace assumes "real" k8s manifests and relies on kubectl, helm, kustomize, etc for applying those manifests. There are many other differences but the summary is that compose is a docker tool (with limited k8s capabilities) while DevSpace works in k8s. Compose was designed to run containers while DevSpace was designed to synchronize local filesystem into containers deployed through k8s resources. If you are looking for similarities, DevSpace is close to what Skaffold or, up to a level, GitPod does.

  • @oussamasafi1565
    @oussamasafi1565 2 ปีที่แล้ว +3

    Hi Victor, thank you for this video, we want to know which dev tool should we use, DevSpace or skaffold or even tilt, so we are very interested in a comparaison.

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +3

      I used Skaffold but recently switched to DevSpace. I think it's a bit more polished. Tilt is amazing if you want the "full package".
      I'll do a more detailed comparison...

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      I did not yet do a comparison. I was missing a video about Tilt. Now it's done and available on th-cam.com/video/fkODRlobR9I/w-d-xo.html and I can proceed and compare the three.

  • @eldadyamin
    @eldadyamin 2 ปีที่แล้ว +1

    Please review cf-for-k8s & tilt

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว

      Those are great suggestions. Adding them to my TODO list... :)

    • @DevOpsToolkit
      @DevOpsToolkit  2 ปีที่แล้ว +1

      Here it goes: th-cam.com/video/fkODRlobR9I/w-d-xo.html

  • @laurentmichel4565
    @laurentmichel4565 ปีที่แล้ว +1

    it would be great if devspace supported timoni

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว

      You can execute commands with devspace so you can run Timoni to output yaml.

    • @laurentmichel4565
      @laurentmichel4565 ปีที่แล้ว +1

      @@DevOpsToolkit true thing but today you can't replace a helm chart deployment with a timoni deployment in devspace

    • @DevOpsToolkit
      @DevOpsToolkit  ปีที่แล้ว +1

      @@laurentmichel4565 You can use `kubectl` deployment after you output Timoni to YAML.

    • @laurentmichel4565
      @laurentmichel4565 ปีที่แล้ว +1

      @@DevOpsToolkit ok I didn't think of that from the start, I was thinking of a new deployment capability built in devspace; of course building the yaml with timoni and then deploying them with devspace will work. Thanks to your comment, I'll give it a go