Live data from Hacker News

Ask HN: What tools would make your Kubernetes development experience better?

news.ycombinator.com

1–10 of 62 posts

Ask HN: What tools would make your Kubernetes development experience better?

#1
My team and I are ideating open-source dev tool ideas and would love some input from the community!

We want to know: what kind of dev tools would make your Kubernetes development experience better? It can be a tool to simplify deployments, streamline cluster management, enhance scalability, or something completely innovative. All ideas are welcome. TIA!

Re: Ask HN: What tools would make your Kubernetes development experience better?

#3
I understand that this is contrary to your question, but I might suggest a different approach to your inquiry.

Instead of asking people for their dev tool ideas, ask them what problems they have with Kubernetes that aren't yet solved well for them. With that information you can iterate on dev tool ideas that could potentially solve those problems. In my experience people understand their problems better than the potential solutions to those problems, and right now you're asking people for their solutions.

Re: Ask HN: What tools would make your Kubernetes development experience better?

#5
One thing I just hit is that there doesn't seem to be any way to ask from a Pod to get a TLS certificate signed by the cluster itself (that would only be valid inside the cluster, of course) that is valid for the IP(s) and DNS names associated by Kubernetes itself with the pod (and to automatically rotate etc such certs).

Since the infrastructure already knows (and controls) this information, it would be the ideal place to actually generate a signed attestation that a pod is who it says it is.

Re: Ask HN: What tools would make your Kubernetes development experience better?

#6

Better templating, example https://github.com/emcfarlane/kubestar which uses starlark for kubernetes config.

The firm I work at developed an internal library (open source soon hopefully!) that does all our templating in Python, example:

  import os

  """
  Imports redacted, but this imports our library
  """

  NAME = "my_app"
  PORT = 5000
  DEPLOY_ENV = os.environ["DEPLOY_ENV"]

  deploy_all(
      create_stateful_service(
          NAME, http_port=PORT, cpu=2000, memory=500
      ),
      create_ingress(
          NAME,
          service_name=NAME,
          service_port=PORT,
          hostnames=["myapp.internal.com"],
      ),
  )

In the background, this converts a bunch of objects to YAML, leveraging the fact that objects in Python are just dictionaries. It then takes these objects and sends them to the K8S API. Really improved our DevEx since you can do complex tasks like "define a deployment, deploy it, and then check server status" because it is all just Python at the end of the day.

Edit: formatting

Re: Ask HN: What tools would make your Kubernetes development experience better?

#7
post #6

Better templating, example https://github.com/emcfarlane/kubestar which uses starlark for kubernetes config.

The firm I work at developed an internal library (open source soon hopefully!) that does all our templating in Python, example: import os """ Imports redacted, but this imports our library """ NAME = "my_app" PORT = 5000 DEPLOY_ENV = os.environ["DEPLOY_ENV"] deploy_all( create_stateful_service( NAME, http_port=PORT, cpu=2000, memory=500 ), create_ingress( NAME, service_name=NAME, service_port=PORT, hostnames=["myapp.…

Nice, I've seen similar setups like this with Go before. Maybe that's the better way to do it, use a proper language instead of yamls for config.

Re: Ask HN: What tools would make your Kubernetes development experience better?

#8
post #6

Better templating, example https://github.com/emcfarlane/kubestar which uses starlark for kubernetes config.

The firm I work at developed an internal library (open source soon hopefully!) that does all our templating in Python, example: import os """ Imports redacted, but this imports our library """ NAME = "my_app" PORT = 5000 DEPLOY_ENV = os.environ["DEPLOY_ENV"] deploy_all( create_stateful_service( NAME, http_port=PORT, cpu=2000, memory=500 ), create_ingress( NAME, service_name=NAME, service_port=PORT, hostnames=["myapp.…

[deleted]

Re: Ask HN: What tools would make your Kubernetes development experience better?

#9
Something to go into the cluster, find things that are bad/broken/wrong, give me a button that says "click here to fix this", allows rolling back the change. Something to put in policies, roles, etc for guardrails for common problems, like don't allow a user to create an external load-balancer. Easier RBAC. Easier network policies. I would have said an operator for external secrets, but it exists now (https://external-secrets.io/v0.8.2/introduction/overview/).

Most of what people need in k8s-land is not one small tool, but a complex intelligent solution that (today) requires a well-trained human to do analysis and then figure out some action to take. The automation that should be there by default but isn't. So you could start by asking people about problematic or time-consuming situations they face in k8s, and automate that.

Re: Ask HN: What tools would make your Kubernetes development experience better?

#10

Better templating, example https://github.com/emcfarlane/kubestar which uses starlark for kubernetes config.

https://github.com/kapicorp/kapitan is also a very powerful option for managing and generating templates.
Post reply on HN