Kubernative by Palark | Kubernetes news and goodies
1.54K subscribers
93 photos
322 links
News, articles, tools, and other useful cloud native stuff for DevOps, SRE and software engineers. This channel is managed by Palark GmbH. Contact @dshnow to suggest your content.
Download Telegram
Ever thought of bringing some COLOUR to the kubectl output in your terminal? This small tool with a self-explanatory name has you covered.

🌈 kubecolor works as a wrapper for your kubectl command, adding colours to its output. That should be enough to give it a try! Anyway, here are some other brief facts on kubecolor:
- You can customise the colours used in the tool.
- You can use kubecolor as a complete alternative to kubectl — e.g., add alias kubectl="kubecolor" to your .bash_profile.
- It works for both kubectl and oc (OpenShift CLI).
- Autocompletion is available. There are instructions for Bash, zsh, fish, and PowerShell.
- Not all kubectl subcommands are supported, and the kubectl plugins’ output is not colorised at the moment.
- It is written in Go and installable as a binary or using Homebrew, Scoop, Nix, AUR, and Termux (Android).

▶️ GitHub repo: https://github.com/kubecolor/kubecolor

P. S. Originally, the project was launched and available at hidetatz/kubecolor. However, this repo was archived a year ago. Now, it goes on as kubecolor/kubecolor, which is “a heavily modified version of the original KubeColor”.

#tools #CLI
👍3🔥2
There are many ways to make your CLI more convenient and powerful, and jnv is one of them if you often work with JSONs. Kubernetes is not just about YAMLs, right?

In essence, jnv is an interactive JSON viewer with an embedded jq filter editor. It helps you navigate your JSON objects easily. You can use it instead of kubectl … | jq -r … to benefit from a more interactive experience.

Here are its main features:

- Getting input from JSON files or stdin (think of kubectl … -o json).
- Applying your jq filters (with auto-completion) to the current object on the fly.
- Numerous key bindings to move around the object, expand the folds, etc.
- Written in Rust. Installation via Homebrew, MacPorts, Nix, or Cargo (Rust's package manager).

Now, you are ready to change your role from a YAML developer to a JSON one, aren't you? 🤣

▶️ GitHub repo: https://github.com/ynqa/jnv

#tools #CLI
👍4
In case you're still using AWS ECS and lack a neat CLI tool to manage your resources, meet this great project, which brings you a K9s-like experience.

e1s is a terminal app that allows you to browse and manage AWS ECS (Elastic Container Service) resources. Its interface is inspired by K9s, a well-known Kubernetes TUI. The first public version of e1s was released last June, and today offers tons of features. Here are some of them:
- EC2 ECS and Fargate launch types’ support.
- Describing clusters, services, tasks and task definitions, containers, and service autoscaling.
- Editing services, registering new task definitions, stopping tasks.
- Launching interactive exec in containers; starting port forwarding; transferring files.
- Displaying CloudWatch logs and utilisation metrics (CPU, memory).
- Numerous key bindings; theme and colour customisations.
- Available for Linux, macOS and Windows. The installation methods are: pre-built binaries, Homebrew, Docker image, AWS CloudShell, and go install.

▶️ GitHub repo: https://github.com/keidarcy/e1s

#tools #CLI #AWS
👍2
Using lots of kubectl commands daily? Here’s another helpful tool to simplify context and namespace switching, prompt modification, and more!

Kubie, called “a more powerful alternative to kubectx and kubens,” enhances your CLI experience even further with extra features. Here’s what it offers:

- Context and namespace switching with selectable menus and quick commands.
- Spawning a shell or recursive shell in the given context, namespace, context + namespace.
- Executing shell commands in the given context + namespace or namespace + contexts matched by the wildcard (without spawning a shell);
- Configurable prompt.
- Checking your Kubernetes configuration files for issues.
- Support for bash, dash, fish, xonsh, and zsh. Autocompletion for bash and fish.
- Written in Rust. Installable via a binary for Linux and macOS, Cargo, Homebrew, MacPorts, Nix, pacman (Arch Linux).

▶️ GitHub repo

#tools #CLI
👍4🔥2
Do you love Vim and kubectl? There’s something exceptional for you!

kubectl.nvim is a Neovim plugin providing Vim-like navigation for your Kubernetes cluster and familiar key bindings. Here’s what it offers today:

- Navigation through your K8s resources via Vim buffer, with hierarchy awareness (e.g. going through Deployment to a Pod and its container).
- Other UI features include coloured output, sorting by headers, and floating windows for additional data (descriptions, logs).
- Changing contexts and namespaces.
- Running custom kubectl commands.
- Executing into containers.
- Displaying a diff for configurations.

▶️ GitHub repo
📣 Reddit announcement

#tools #CLI
👍4🔥2
Did you know there is a way to query Kubernetes as a graph? This project implements a syntax inspired by Neo4j’s Cypher to make it possible.

Cyphernetes, dubbed Kubernetes Query Language, provides “a mixture of ASCII-art, SQL and JSON” that might render your endless kubectl get -o json + jq combinations more elegant. Its features include:

- Expressions for getting required objects, creating, patching and deleting them;
- Support for macros (minimalistic stored procedures) and graphs (displaying nodes via ASCII art);
- An interactive shell with syntax highlighting and auto-completion;
- An operator (Cyphernetes DynamicOperator) to execute Cypher queries defined in CRDs.

▶️ GitHub repo
📢 Reddit announcement

#tools #CLI
👍1
Do you prefer a terminal to manage your Kubernetes resources yet find yourself sometimes kubectl’ing a bit too much? There’s a new rising star in the K8s TUI space!

kty, dubbed “the terminal for Kubernetes” and written in Rust, was recently created to empower you with a console-based dashboard for interacting with K8s clusters via any SSH client (including the one you might have on your phone!). You will need to install it to your cluster in order to:

- Log in to your cluster via OpenID providers’ accounts, such as GitHub or Google;
- Navigate through your Kubernetes Pods and filter them (listing Nodes will be added soon);
- Check your Pods’ manifests, get a shell, read the logs;
- Forward traffic from your local machine to the cluster and vice versa;
- Transfer files from your Pods via SCP or SFTP.

▶️ GitHub repo
📢 Reddit announcement

#tools #CLI
👍3
Prefer working with Kubernetes in your terminal but lack an interactive log viewer? Consider trying out this new tool.

kl is a Kubernetes log viewer. Unlike other well-known solutions (stern and kail), it provides an interactive interface and multi-cluster support. Its other features include:

- Viewing logs across multiple containers, pods, namespaces, and clusters;
- Selecting containers interactively or by their names, labels, and owners;
- Flexible representation and navigation through logs thanks to a single log view, fullscreen mode, toggling line wrap, pausing log stream, etc.;
- Searching for logs by exact or regex matching;
- Saving logs to a local file or clipboard.

Language: Go | License: MIT | 134 ⭐️

▶️ GitHub repo
📢 Reddit announcement

#tools #cli
👍21
Perhaps most engineers still prefer to type full, even if quite long, CLI commands in their terminals. However, with all the GenAI hype we have now, automated assistance comes everywhere, and good old kubectl is not an exception.

kubectl-ai was created in the Google GKE team, enabling a chatbot-style experience for your kubectl commands. It runs in interactive mode or as a kubectl plugin and allows you to:
- use simple English to construct and execute the kubectl commands, including the required sequences of such;
- benefit from the UNIX shell integration by leveraging pipelines and basic CLI tools (echo, cat, etc.);
- run commands only after your explicit approval;
- use OpenAI, Gemini, Azure OpenAI, Grok, and local AI models (via Ollama or llama.cpp);
- evaluate the performance of different LLM models [for Kubernetes-related tasks] via its own benchmark called k8s-bench.

Language: Go | License: Apache 2.0 | 2529 ⭐️

▶️ GitHub repo
💬 Reddit discussion

#tools #CLI #genai
👍5🔥3
Seeing Kubernetes nodes’ resource consumption in your terminal has become much easier with this new project.

kubectl node-resource is a kubectl plugin that shows resource allocation and their actual utilisation for your Kubernetes nodes. This tool offers:

- A simple list view and a summary view. The latter features histograms and distribution buckets for both resource allocation and utilisation;
- Displaying specific resources only and free resources, as well as sorting nodes by resource usage;
- Structured JSON output to integrate this data with other tools;
- Optimised API server querying to ensure support for large K8s clusters.

Language: Go | License: Apache 2.0 | 77 ⭐️

▶️ GitHub repo

#tools #cli
👍11
If you often render, validate, and debug Kubernetes manifests, you’ll surely find this new tool helpful.

kat simplifies working with manifests in your terminal by invoking their generators (such as Helm, Kustomize, CUE, KCL, etc.), displaying the resulting resources and providing several convenient features:

- browsable list structure for the Kubernetes resources, fuzzy search and filtering;
- live reload of the displayed data;
- built-in validation based on external tools, such as Kubeconform and Kyverno;
- customisable keybindings, profiles, themes, and even plugins.

P.S. We also can’t conceal the fact that the cat at the helm used for the project’s logo is almost as cute as our channel’s platypus, Pal 😂

Language: Go | License: Apache 2.0 | 61 ⭐️

▶️ GitHub repo
💬 Reddit announcement

#tools #cli
🔥7🎉1
Tired of dealing with various managed Kubernetes solutions from hyperscalers in the terminal? This new project aims to streamline this experience.

Orbit is a CLI tool that unifies the discovery of and access to the K8s clusters across different cloud providers. It offers:

- automatic discovery and access to the clusters managed by AWS EKS, Azure AKS, and Google GKE (existing cloud credentials are used for that);
- adding newly discovered cluster to your kubeconfig (without creating duplicates for the already existing entries);
- an interactive interface to navigate through clusters and see their statuses and other details, and find them by name.

Language: Go | License: Open Source (no specific license is defined yet) | 6 ⭐️

▶️ GitLab repo
📣 Project announcement

#tools #CLI
👍42🤔1
Old-school terminal users might enjoy getting a find-like experience for kubectl with this new project.

kubectl-find is a plugin for kubectl that helps you find Kubernetes resources based on various criteria and perform some actions. It allows you to:

- find resources by their name (regex), age, labels, and status;
- additionally, use a node name, image name, or the fact of being restarted when finding Pods;
- use custom jq filters for finding resources;
- execute one of these actions on the matched resources: print, patch, or delete.

Language: Go | License: Apache 2.0 | 57 ⭐️

▶️ GitHub repo
💬 Reddit announcement

#tools #CLI
6🔥1
Some engineers dare to admit they are lazy. Here’s why we have lazygit, lazydocker, and now this new tool…

LazyHelm is a terminal UI inspired by other lazy* projects and obviously focused on Helm. It allows you to:

- Navigate through Helm repos and find new charts at Artifact Hub;
- View the charts, modify the values, see the diff between chart versions;
- View all currently deployed Helm releases and filter them, view their details, revision history, and historical values;
- Search through Helm repos, charts, and values.

Language: Go | License: Apache 2.0 | 29 ⭐️

▶️ GitHub repo
💬 Reddit announcement

#tools #CLI
👍4