Live data from Hacker News

Cyphernetes: A Query Language for Kubernetes

cyphernet.es

11–20 of 69 posts

Re: Cyphernetes: A Query Language for Kubernetes

#12

I'm not against replacing jq/jsonpath for the right tool, they're not the most ergonomic. What isn't clear to me though is why this isn't SQL? It's so nearly SQL, and seems to support almost identical semantics. I realise SQL isn't perfect, but the goal of this project isn't (I assume) to invent a new query language, but to make Kubernetes more easily queryable.

It's based on Cypher, which is a query languages for graph databases. The author/s probably thought the data is more graph-like than relational.

Re: Cyphernetes: A Query Language for Kubernetes

#13
During many years of operating several-thousands of nodes production clusters on Kubernetes, I've never seen any of these observability tools that query kube-apiserver work at that scale. Even the popular tools like k9s make super expensive queries like listing all pods in the cluster that if you don't have enough load protections, can tip your Kubernetes apiserver over and cause an incident. If you're serious about these querying capabilities, I highly recommend building your own data sources (e.g. watch objects with a controller and dump the data in a sql db) and stop hitting apiserver for these things. You'll be better off in the long run.

Re: Cyphernetes: A Query Language for Kubernetes

#14
post #13

During many years of operating several-thousands of nodes production clusters on Kubernetes, I've never seen any of these observability tools that query kube-apiserver work at that scale. Even the popular tools like k9s make super expensive queries like listing all pods in the cluster that if you don't have enough load protections, can tip your Kubernetes apiserver over and cause an incident. If you're serious about…

This is a very good point and is on the roadmap.

Re: Cyphernetes: A Query Language for Kubernetes

#15
post #7
post #3

What does this offer over jq which I can also afford?

Cyphernetes seems capable of graph/relational logic. The example on the homepage is literally "give me deployments with more than 2 replicas with pods that are not Running, and give me the IP address of the service they're serving"... Any idea how to do that with kubectl | jq? Their solution seems elegant to me.

Can just use normal jq select filters unless I'm missing something?

Re: Cyphernetes: A Query Language for Kubernetes

#16
post #13

During many years of operating several-thousands of nodes production clusters on Kubernetes, I've never seen any of these observability tools that query kube-apiserver work at that scale. Even the popular tools like k9s make super expensive queries like listing all pods in the cluster that if you don't have enough load protections, can tip your Kubernetes apiserver over and cause an incident. If you're serious about…

How fun was kube-ops-view though

Re: Cyphernetes: A Query Language for Kubernetes

#17
post #15
post #7

Earlier quoted context omitted.

Cyphernetes seems capable of graph/relational logic. The example on the homepage is literally "give me deployments with more than 2 replicas with pods that are not Running, and give me the IP address of the service they're serving"... Any idea how to do that with kubectl | jq? Their solution seems elegant to me.

Can just use normal jq select filters unless I'm missing something?

the thing is you'd need 3 k8s queries, one for pods, one for deployments, one for services, then link all of them, and filter... jq helps with the filtering, kubectl can query, but you still need to join the 3 resources to answer the query...
Post reply on HN