I learned not to use it and wait until the k8s fad goes away.
i'm curious to hear about your alternative deployment strategy (no snark intended)
What we learned after a year on Kubernetes
71–80 of 162 posts
Re: What we learned after a year on Kubernetes
#72I learned not to use it and wait until the k8s fad goes away.
Its literaly the best option currently for what it is doing.
It has an unprecedented support behind it as well.
Multiply Vendors support it through a certificate k8s managed service.
It solves really problems out ouf the box like load balancing, ingress, cert management, autoscaling, health checks, autorepair.
It allows for simple IaaC.
Is it young? Yes. Do we need more people with more expierence? yes.
Is this a problem? No.
Re: What we learned after a year on Kubernetes
#73Earlier quoted context omitted.
Have you looked at Dhall or Tanka? They are both designed to solve exactly this problem (and I couldn’t agree with you more)
Honestly, I am not a fan of "configuration languages". Why do we need another bunch of languages. Were the existing languages not good enough? There's already shitload of them. The only place where I find it useful is when the config is provider by an untrusted party. But even then scheme, lua would probably fit the bill. Not strong feelings about it though, maybe I'm wrong. All I want is a library for my favorite la…
It is also very hard to prevent people from using the escape hatch of the general purpose language to "fix a problem quickly", while introducing unpredictable side effects.
Scons (using Python) and Gradle (using Groovy / Kotlin) are 2 cases where I have seen this go very wrong, very quickly. I now strongly prefer Maven, even with its warts and XML verbosity.
On the other hand, configuration languages also often suck, the abomination that is HCL (e.g used in Terraform) comes to mind (especially in its early days). Turns out it is really hard to make a good language, and a bad configuration language is even worse than using a general purpose language.
I do like Dhall though: sufficiently powerful so you never have to repeat yourself, while also preventing you from doing fancy stuff you will later regret, all with a very readable syntax, and the type system helps to catch typos / mistakes early. I now use it to generate all config files for tools that consume json/yaml, and often for other text based config files as well (where you can use it as a powerful type-safe template engine)
Re: What we learned after a year on Kubernetes
#74I learned not to use it and wait until the k8s fad goes away.
My disappointment with Kubernetes as the next/current big thing is that it practically didn't change a thing for companies as a whole. You still need dedicated devops people / a dedicated team. There is so much to get wrong regarding security, reliability and performance. Most application developers stay away from k8 configuration and could not quickly replace a devops engineer. They are the wizards holding the power…
To add to that, I think there's a very specific way you must do things to get K8s "right" and reap benefits. Or maybe it's a question of scale. There were honestly times when I thought maybe we could've stuck with good old servers. When I left the team was trying to redo microservices---this time properly---by introducing event queues and pubsub and finally split that database.
Love that workplace but I'm honestly glad I didn't get to participate in that transition. Sounds like "artificial complexity" as you put it. Would love to hear if they pulled it off though or not, a project postmortem basically.
Re: What we learned after a year on Kubernetes
#75Re: What we learned after a year on Kubernetes
#76I learned not to use it and wait until the k8s fad goes away.
Why would you think it would go away? Its literaly the best option currently for what it is doing. It has an unprecedented support behind it as well. Multiply Vendors support it through a certificate k8s managed service. It solves really problems out ouf the box like load balancing, ingress, cert management, autoscaling, health checks, autorepair. It allows for simple IaaC. Is it young? Yes. Do we need more people wi…
> Is it young? Yes. Do we need more people with more expierence? yes.
Of course this is a problem! It's costly (in time, money, and security) to pay your team to ramp up on Kubernetes.
The question is, what is the actual benefit? 99% of companies don't need it at all.
Re: What we learned after a year on Kubernetes
#77Earlier quoted context omitted.
VMs as usual.
While I agree, I'd rather deal with the k8 nonsense than maintaining infrastructure to make multiple VMs load balance, fail and restart cleanly, etc.
The golden rule is not to pretend to work at a FANNG when not having the same problems.
Re: What we learned after a year on Kubernetes
#78We are using k8s as well for a project that we also provide on-prem install too. We decided to use kustomize for now vs doing helm for now. Curious, have someone had experience with both to compare. What are the benefits of using helm?
`helm` is an absolute garbage. I'll reserve judgment about `kustomize` until I have more practical experience, but so far it looks to me that it's going to be another YAML disaster. The problem with k8s ecosystem is that developers conflated k8s using yaml for a semi-human-readable serialization of k8s resources, as reason to employ YAML to absolutely everything. What I'd like is to generate serialized yaml files ...…
It’s very simple and worked quite well for me.
Disclaimer: work at VMware but on a different team (it’s an OS tool built by some of our engineers, which we use internally)
Re: What we learned after a year on Kubernetes
#79> Increased billing from cross-AZ traffic Yep, we (Basecamp) have been bit by this with EKS too. By default the ALB Ingress Controller will put all cluster nodes into the target group and a request can hit kube-proxy in any AZ before being directed to the right place, causing a lot of inter-AZ traffic churn. It's mildly annoying. (with alb-ingress-controller you can change target-type to IP to have traffic go direct…
Re: What we learned after a year on Kubernetes
#80Earlier quoted context omitted.
Could you explain why helm is garbage? I think it suits its purpose rather well without being too complex. You can essentially "plug-in" different types of resources rather easily. Especially in v3 now that you don't need to install Tiller and can avoid setting those cluster permission requirements. Have you tried some Kubernetes api libraries? You can generate and configure resources with [python kubernetes-client](…
> Could you explain why helm is garbage? Not the OP, but.. 1. YAML string templating makes it very easy to get indentation and/or quotation wrong, and the error messages can easily end up pretty far from the actual errors. Structured data should be generated with structured templating. 2. "Values" aren't typechecked or cleaned. 3. Easy to end up in a state where a failed deploy leaves you with a mess to clean up by h…
Helm 3 does offer a solution: a JSONSchema definition file for the values.
Which works ... in a very Helm-like fashion. Meaning: it's messy and awkward.