This is everyone, be quiet. Next talk is up.
Cool. Is this good?
Good. Awesome. Hello everybody. Welcome to this talk.
This talk. My name is Nadia. I'm a Senior Software Engineer at Grafana Labs.
My goal for today is to convince you to run your city painter in Kubernetes.
If I'm not, if other man has to do that, at least I hope I can show you how to run your
Vibrinder on Kubernetes. So this is like a very quick talk. I have very few time.
So let's start maybe getting something to print and then we can see if that works.
Hopefully it is moving, so hopefully it won't set itself on fire.
Okay. Let's start. Again, quiet. Not interesting. What are we going to talk today?
So I'm going to try to explain you why. I think you should do this. Why did I do this?
This is like again the main focus and I'm here to convince you.
Then maybe how if you are still interested after that.
And then I like to talk briefly about the future of this if there is there is even one.
Okay. So again, why should I do this? Why should you do this?
So do you know what this is? Raise your hand. Hands up.
Okay. You're thinking this is a Raspberry Pi. I mean you're not wrong, but this is not my point.
This is a pet. This is buff. Pets are buff.
Well, maybe I mean robot pets are buff. Well, maybe I know pet of you and they are they are not.
So maybe maybe I guess my point is that the Raspberry Pi is buff after all.
So if I haven't convinced you by this terminally online joke, I have a very nice table to show you.
But the point I want to convey is that your 3D printer, it can be as no flick, but it doesn't have to be as no flick.
So this is the table I want to show you. If you are corporate minded, this will for sure change your mind.
So what do you get from Ranger's 3D printer in Kubernetes versus in that Raspberry Pi that you have had in a drawer for 3 years?
Okay. If you want to run your 3D printer in, if you're running a modern 3D printer, you may actually need quite a lot of stuff, right?
You probably want an HDP server to connect to the printer. So who is going to be doing that HDP serving?
If you use Kubernetes, that's your English controller. You know that it works fantastically.
It integrates, it does TLS for you. It integrates with less in-create. It integrates with DNS, if you are fancy.
Without buying a drawer that's, you know, some server in there, you probably didn't install because you flash this from somewhere.
And that's a comfortable rhythm by somebody in a forum that you copied because you wanted some feature.
So it's not very maintainable. What about the OS? So if you run your 3D printer in Kubernetes, you get the same OS that you have for any scenarios.
Do you know how to maintain that? Do you know how to troubleshoot that?
In the Raspberry Pi, you probably have some sort of deviant in there with very special snowflakes settings that if you break, you're going to have a tough time.
Okay, backups. Not super interesting for three printers because, as we're going to talk, the important thing which is the config file is going to be somewhere else.
But if you wanted to backup your gcode files for, I don't know whatever reason, you hopefully have a backup controller that will take care for you.
With that, with the Raspberry Pi, you probably took an image of that sticker, like two years ago, or something, and I don't know who, how the setup has diverged from that from that image.
Versioning. I think this is like the biggest selling point. If I haven't commissioned by now, this will happen to me.
3D printer configs are finicky. You try a lot of stuff, you know, increase this parameter, enable this experimental feature, whatever.
That is tricky and error prone. So if you run this on Kubernetes, and you have a same Kubernetes data set up with gdops and whatnot, your 3D printer configuration is on Kubernetes.
That means that you get it, get versions for free, and you don't have to do anything weird, you don't have to set that adok.
As opposed to, you know, files that you copy over, or now we're adding more and more suffocates to it.
Roll out automatic, no WCP, no nothing, Kubernetes take care.
Upgrades, my big other selling point. You upgrade the 3D printer software that you're using, octoprient, clipper, this will be able to clipper.
Something breaks, oh no, what do I do? You pray, you pray, you pray, you raim it, and probably lose whatever conflicts that you have done.
With Kubernetes, you have, you have it in there, you just roll back to the previous container version, so that's, that's kind of nice.
Okay, who has acidity printer? Probably, you have acidity time.
Okay, then, do you know how this works? You get a model, you slice the model, and you get something that looks like on your left.
That's called Gico, that tells the printer move here, then here, and extrude this amount of plastic, and on the way.
Something in your printer will translate that to, like, pulses, electricity pulses, up and down, up and down, that will write the steppers.
And, uh, turns out that, that is pretty hard to do. There is a lot of things that you can do between left and right to make your printer print better.
So, at some point, somebody clever people figure out, okay, what if we don't do this inside the printer?
Because that's, like, quite a lot of number crunching, and those things, like, under power.
What if we put a computer in the middle? What if we have all this translation, don't buy a computer?
And at this point, it's like, okay, we got it. This, this is a container. Let's, let's put it inside the container.
So, how does this set up work? So, we'll have our Kubernetes cluster.
We have this, on the top, this, I mean, if you have a theory printer, you probably want a webcam.
So, we have a very nice application that's called go to RTC for that. So, let's put that on Kubernetes.
We have, we probably want a fancy UI for your printer, that's what you saw at the beginning.
And you see mainsail, there are others, that doesn't matter, that's like a completely static web application, obviously a container.
Then, you got your 3D printer, like this, this server, we put in the middle.
That's called, for, for what I like to use, is, is Clipper, and especially the host parties for Clippy.
And there is, an oven for Clippy, that is called Moon Regal, I don't know what's called like that.
But it's like puts, and rest API on top of Clipper.
And that's, like, probably another container, we can container is that.
We need to do, we need to give that USB access to the printer, but, okay, that's somewhat easy, right?
And then, the decode files that we want to preserve for historical reasons for one of that.
That can go into a volume, that's EC, Kubernetes, that's for you.
And the printer config, in Clipper, that's called, the printer does CFG file.
That is going to be, obviously, in a config map, that way it is version, and we can track it from, from Git and one of them.
So, how can you try it?
If I have, hopefully, convinced you, I have created this thing, it's called Cube Clipper.
It's just a hunter, it's nothing fancy.
And it is powered by the images created by this fella named Markus, who created most of the images and using,
that is in that, on that second repo.
So, before we jump to see if the printer has got fire or not, this is cool.
I've been running this for three years.
Like at this point, it has worked extremely well for me.
We can show some, some manifest and some conflicts and whatnot.
But I would like to pitch you an idea, maybe, if you are interested.
I will, I think it will be nice to take this to the next level.
I think it will be cool if we move from the hunter thingy, we make this an operator.
I think it will be cool to have a custom resource that is a printer.
And we can't have status in it, right?
Is the thing printing?
Is it not printing?
Is it island?
Is it skating?
Like, why not?
I think that will be quite cool.
Because, for example, we call the use that to simply, seamlessly upgrade the printer.
If you try to do that while the printer is printing, it's not going to end up great.
For your printer, we'll be fine.
Your print will not.
So, Kubernetes to provision some of several of it as well.
Maybe it is, well, maybe toss on the fan of passwords.
Maybe some promissues, scripts, conflicts, or whatnot.
And, I don't know, if this kind of works and people feel very, very bold about it.
Maybe we can make the thing flash the printer.
I think that will be nice.
And it will be extra nice.
And I'm dreaming at this point.
But we will move this slicer to a server and have the way you, I think that will be nice.
But I'm probably, I'm probably going to help this.
So, I don't think I have more slides.
This is my mail address.
If you want to chat about this, it's very interesting.
I do not try to join me.
I make this a reality.
Please, please get in touch.
The email address is also on my website.
And that's all.
Thank you.
I think we'd have, like, 40 seconds for questions.
No, I think questions can take them outside.
It's cool.
Okay.
Thank you very much again.
Thank you.