4 ms·
if you take the time to understand k8s and have a straightforward k8s deployment, these things aren't really a problem - and you don't have to do the custom sys
by pnathan 2y ago
if you take the time to understand k8s and have a straightforward k8s deployment, these things aren't really a problem - and you don't have to do the custom sysadmin timesinks that need to go into the "simple" suggestion. What is suggested here is "easy". But it is not simple: it proliferates custom work.
I have had great success with a very simple kube deployment:
- GKE (EKS works well but requires adding an autoscaler tool)
- Grafana + Loki + Prometheus for logs + metrics
- cert-manager for SSL
- nginx-ingress for routing
- external-dns for autosetup DNS
I manage these with helm. I might, one day, get around to using the Prometheus Operator thing, but it doesn't seem to do anything for me except add a layer of hassle.
New deployments of my software roll out nicely. If I need to scale, cut a branch for testing, I roll into a new namespace easily, with TLS autosetup, DNS autosetup, logging to GCP bucket... no problem.
I've done the "roll out an easy node and run" thing before, and I regret it, badly, because the back half of the project was wrangling all these stupid little operational things that are a helm install away on k8s.
So if you're doing a startup: roll out a nice simple k8s deployment, don't muck it up with controllers, operators, service meshes, auto cicds, gitops, etc. *KISS*.
If you're trying to spin a number of small products: just use the same cluster with different DNS.
(note: if this seems particularly appealing to you, reach out, I'm happy to talk. This is a very straightforward toolset that has lasted me years and years, and I don't anticipate having to change it much for a while)
- catdog 2y ago> I manage these with helm. I might, one day, get around to using the Prometheus Operator thing, but it doesn't seem to do anything for me except add a layer of hassle. One big advantage of the operator is that its custom resources are practically kind of standard by now. This means helm charts for a lot of software ship those and integrating that piece of software into your monitoring is a matter of setting a few flags to true. The go to solution for a k8s monitoring setup is https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack/ https://github.com/prometheus-community/helm-charts/tree/mai...
- pnathan 2y agoyeah, I know, that's the only reason I'm even thinking of using it. but tbqh I don't really install many things, as you can see...
- ramraj07 2y agoI just hosted a site on Elastic beanstalk. Didn’t need to really do anything honestly. Upload a zip file with python code that runs locally really well. Database is on RDS. It has and continues to work well for 5+ years and lots of productivity.
- pnathan 2y agoFwiw I run more than 'a' site. EBS is great for 'a' site. Last I checked, it had serious cost consequences past the one site. But yeah, if I only wanted a thing, Ebs works.
- cynicalsecurity 2y agoWhat product needs autoscaling?
- minkles 2y agoLOL we have 2 full time people managing the production monitoring stack. And it costs money. And it generates a lot of internal traffic. Nope! rsyslog + knowing what the fuck you are doing is much better.
- pnathan 2y agoCurious, does rsyslog support metrics or traces? My impression has always been it's log lines.