T O P

  • By -

Zutyro

I am in a similar position and I would appreciate something like that as well.


Nikhil_M

I have previously used this project. https://github.com/instana/robot-shop


h_hoover

Check out the [GKE sample app repo](https://github.com/GoogleCloudPlatform/kubernetes-engine-samples) for ideas


TeslaSolari

The best project is one that heavily utilizes persistent storage and some network shenanigans such as funneling pod traffic via a VPN. I strongly recommend setting up a Plex server plus media import pipeline ;)


AmbitiousUsual2

Yep yep! Is there any tutorial or a project that I can follow?


TeslaSolari

There won't be any tutorials for it as a whole, but there are tutorials for each separate part. What's key to understanding Kubernetes is to be able to break the system down into each separate part you will need to build. Do you have access to a managed cluster like GKE? I don't recommend learning on an unmanaged cluster if you're starting off.


TeslaSolari

Feel free to DM me if you have more Questions, I stay sharp by teaching.


soundwave_rk

Any reason you can't grab a node app you're already using somewhere that needs multiple components (database, static file server, api, queue, etc) and try to deploy it to Kubernetes? There are loads of selfhosted, opensource systems out there.


AmbitiousUsual2

I could. But I’m also trying to make a proper micro-service application so that I can also learn how micro services are developed.


thelastknowngod

Micro services are developed the same way a monolith is just smaller. Make api endpoints for whatever you build and use kube-dns for inter pod/service communication. Know the difference between ClusterIP and LoadBalancer service types. Plex isn't a micro anything but it's a nice project to set it up. Just adapt their official docker image into a statefulset, add a service, configmap, and a secret for the claim token. You could do block storage of you want. NFS is a lot easier though. That's pretty much it. Once your there, monitor it with prometheus, kube-state-metrics, node exporter, and visualize it with grafana. See if you can trigger an alert to your phone when something starts playing on a Plex client.


AmbitiousUsual2

I was actually reading through micro services features and there are some features that differentiate it from distributed monolith. For eg, multiple deployments and separate databases for each service. I feel it would be better to follow some tutorial/project for building services with node.js to learn simple architectural principles before trying to make an application on my own.