Live data from Hacker News

Nomad vs. Kubernetes

nomadproject.io

331–340 of 369 posts

Re: Nomad vs. Kubernetes

#331
post #104

Earlier quoted context omitted.

Go is a very hard language to work on as a team. It does not push a lot of conventions on you, and when it does, they just seem weird and anachronistic. Even the original k8s codebase was notoriously horrible in Go, and that was "from the source". Ironically, HashiCorp has a better Go codebase, and that's where I picked best practices from, not from Google. The problem with Go is that the Googlers fail to challenge s…

> As someone said, Go is the new C, skipping decades of new language design concepts. Well, some are doomed to repeat their errors. In fact C was even crappy for it's own time.

What are you even talking about? Plenty of languages were around then and C dominated all of them because it let people write great software.

Re: Nomad vs. Kubernetes

#332
post #315

Earlier quoted context omitted.

Fun fact: There are formers devs among Ops, and sometimes vica versa. Go binaries are statically compiled usually, no VM or managed. It's a simple language for simple solutions, which is often underrated. Not that versed in Python, but there is CPython. Bash is totally ok in the hands of someone who uses it for good ;) Agree it has too quirky syntax when you need complexity, so not good for large stuff. Footguns are…

Go binaries still include the Go runtime which handles GCing etc., much like Python. They're not VMs, but it's really a semantic difference, if you're comparing it to Java, especially now that GraalVM native compilation is gaining popularity.

Sure. Runtime is maybe a better word, though gc and such is not "free".

Re: Nomad vs. Kubernetes

#333

Earlier quoted context omitted.

And what is the replacement for it?

We rearchitected. At one workplace, we built and distributed our own service. At another, we shifted to semi-automated more static lists of servers for roles; those servers were much less dynamic.

There are exceptions but most of the time replacing an off the shelf std. solution with something self made looks like NIH syndrome to me.

The exceptions are the few cases where you know you will forever only need some strict set of features and your own solution can provide them by way more simple means than the in comparison "fat" off the shelf solution.

I'm not sure service discovery in a cluster is one of those cases.

Re: Nomad vs. Kubernetes

#335
post #308

Earlier quoted context omitted.

I'm not sure it's a good idea to use Google's "monolithic cloud operation system". Such a monoculture has the same issues as MS Windows had, even for the same reasons. The "Unix Way" of simple tools interacting seems more reasonable. Especially when it comes to lock-in effects.

K8s itself is divided in multiple parts, where you can customize to your own liking, and you can swap parts if you'd like as long as the APIs are similar. It's very much built the UNIX way.

Where can I find those alternative elements that can be swapped? If this is true there should be a lot of them, right?

Re: Nomad vs. Kubernetes

#336

Earlier quoted context omitted.

You should be ok with consul, ansible and templating your docker-compose files. Might take some time to set it all up, but should be ok.

Thanks for the suggestion. Any suggested starting points for my research? DDG search for "ansible docker-compose" brings up some suggestions like [1] and [2] but I'm curious if you have other suggestions. And just so I understand how these work together - I'd use Jenkins+ansible to push containers to my servers, I'd run consul within docker as well, and ... would Ansible register services with consul as it pushes the…

you can check out ansible templating engine that ansible uses - jinja2 [1]. And the templating module itself[2]. But if you are not well versed with ansible check out Jeff Geerling's "Ansible 101" [3].

[1] https://jinja.palletsprojects.com/en/3.0.x/

[2] https://docs.ansible.com/ansible/2.9/modules/template_module...

[3] https://youtu.be/goclfp6a2IQ

Re: Nomad vs. Kubernetes

#337

Earlier quoted context omitted.

Could you expand a little on your problems with Consul? (I have no experience with it myself).

It's been a while, so I'm fuzzy on some details: * in a legacy system, a server, perhaps with the leader node, filled up disk space and became unhealthy, the consul agent kept reporting it and itself as healthy, and failover and gossip generally wedged * in a dev environment, after we replaced some servers in the cluster, the other nodes noted cert changes and refused to work with the new servers * second-hand, in se…

I don't want to sound bad, but to me all of these sound like a misconfiguration and lack of understanding how consul works tbh. But i don't know the full context so eh, these things happen.

Re: Nomad vs. Kubernetes

#338
post #289

Earlier quoted context omitted.

Whoa. I never knew about --prune.

Yeah... I'm not really sure where this idea of not being able to use the tools available out of the box to deploy apps and do networking comes from. I deploy YAML. If I feel like my YAML is too big, I DRY it using kustomize. I can use --prune if I'm worried about stuff sticking around in the cluster. For networking, I... don't do anything? We get DNS built in. Just use the service name. What else is there to do?

External DNS, certificate management, and a whole bunch of other stuff if you're not using a cloud provider's managed Kubernetes (e.g., network attached storage, load balancers, ingress controller, etc).

Re: Nomad vs. Kubernetes

#339

Earlier quoted context omitted.

A lot of the cloud providers don't bill directly for kubernetes management, instead it's just the node resources. Either way, as another comment points out, Rancher and many other solutions make the orchestration of creating your own Kubernetes cluster really boring. We run a few kubernetes clusters on premise, and for the longest time it was just 1 person running some Kubernetes clusters.. we even have other teams i…

Which cloud providers don't? I'm only familiar with AWS and GCP, and they both have a base hourly charge per-cluster.

Azure as far as I know doesn't have base charges unless you want a paid SLA, It's Azure though.

Re: Nomad vs. Kubernetes

#340

Earlier quoted context omitted.

> As someone said, Go is the new C, skipping decades of new language design concepts. Well, some are doomed to repeat their errors. In fact C was even crappy for it's own time.

What are you even talking about? Plenty of languages were around then and C dominated all of them because it let people write great software.

I am sure a few old HNer will tell you, C dominated because of UNIX, and the rest is history.
Post reply on HN