kubectl-trace - Schedule bpftrace programs on your kubernetes cluster using the kubectl

  •        31

kubectl trace is a kubectl plugin that allows you to schedule the execution of bpftrace programs in your Kubernetes cluster. You can't find the package for your distro of choice? You are very welcome and encouraged to create it and then open an issue to inform us for review.




Related Projects

kube-shell - Kubernetes shell: An integrated shell for working with the Kubernetes CLI

  •    Python

Under the hood kube-shell still calls kubectl. Kube-shell aims to provide ease-of-use of kubectl and increasing productivity.You can use up-arrow and down-arrow to walk through the history of commands executed. Also up-arrow partial string matching is possible. For e.g. enter 'kubectl get' and use up-arrow and down-arrow to browse through all kubectl get commands. You could also use CTRL+r to search from the history of commands.

bpftrace - High-level tracing language for Linux eBPF

  •    C++

BPFtrace is a high-level tracing language for Linux enhanced Berkeley Packet Filter (eBPF) available in recent Linux kernels (4.x). BPFtrace uses LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for interacting with the Linux BPF system, as well as existing Linux tracing capabilities: kernel dynamic tracing (kprobes), user-level dynamic tracing (uprobes), and tracepoints. The BPFtrace language is inspired by awk and C, and predecessor tracers such as DTrace and SystemTap. BPFtrace was created by Alastair Robertson. To learn more about BPFtrace, see the Reference Guide and One-Liner Tutorial.

krew - 📦 Package manager for "kubectl plugins"

  •    Go

krew is the package manager for kubectl plugins. krew is a tool that makes it easy to use kubectl plugins. krew helps you discover plugins, install and manage them on your machine. It is similar to tools like apt, dnf or brew.

kubectl-debug - Debug your pod by a new container with every troubleshooting tools pre-installed

  •    Go

kubectl-debug is an out-of-tree solution for troubleshooting running pods, which allows you to run a new container in running pods for debugging purpose. The new container will join the pid, network, user and ipc namespaces of the target container, so you can use arbitrary trouble-shooting tools without pre-install them in your production container image. For windows user, download the latest binary from the release page and add it to your PATH.

k3os - Purpose built OS for Kubernetes, fully managed by Kubernetes.

  •    Go

k3OS is a Linux distribution designed to remove as much as possible OS maintenance in a Kubernetes cluster. It is specifically designed to only have what is need to run k3s. Additionally the OS is designed to be managed by kubectl once a cluster is bootstrapped. Nodes only need to join a cluster and then all aspects of the OS can be managed from Kubernetes. Both k3OS and k3s upgrades are handled by the k3OS operator. Download the ISO from the latest release and run in VMware, VirtualBox, or KVM. The server will automatically start a single node Kubernetes cluster. Log in with the user rancher and run kubectl. This is a "live install" running from the ISO media and changes will not persist after reboot.

kubectl-aliases - Programmatically generated handy kubectl aliases.

  •    Python

This repository contains a script to generate hundreds of convenient kubectl aliases programmatically. See the full list.

kube-ps1 - Kubernetes prompt info for bash and zsh

  •    Shell

A script that lets you add the current Kubernetes context and namespace configured on kubectl to your Bash/Zsh prompt strings (i.e. the $PS1). Inspired by several tools used to simplify usage of kubectl.

kubectx - Fast way to switch between clusters and namespaces in kubectl – [✩Star] if you're using it!

  •    Shell

This repository provides both kubectx and kubens tools. kubectx is an utility to manage and switch between kubectl(1) contexts.

K - Terminal User Interface (TUI) for Kubernetes

  •    Go

I got sick of typing the same kubectl commands over and over again so here is my simplified TUI wrapper, K.

kubernetes-digitalocean-terraform - :clipboard: :ocean: :earth_americas: Setup a simple Kubernetes cluster in Digital Ocean using Terraform

  •    HCL

Deploy your Kubernetes cluster on DigitalOcean using Terraform. Do all the following steps from a development machine. It does not matter where it is, as long as it is connected to the internet. This one will be subsequently used to access the cluster via kubectl.

bpfd - Framework for running BPF programs with rules on Linux as a daemon. Container aware.

  •    Go

Framework for running BPF tracers with rules on Linux as a daemon. Container aware. This is not just "yet another tool to trace"...

kubernator - Alternative Kubernetes UI

  •    Javascript

Kubernator is an alternative Kubernetes UI. In contrast to high-level Kubernetes Dashboard, it provides low-level control and clean view on all objects in a cluster with the ability to create new ones, edit and resolve conflicts. As an entirely client-side app (like kubectl), it doesn't require any backend except Kubernetes API server itself, and also respects cluster's access control. Then open service proxy URL in your browser.

k3sup - k3sup: from Zero to KUBECONFIG in < 1 min

  •    Go

k3sup is a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM. All you need is ssh access and the k3sup binary to get kubectl access immediately. The tool is written in Go and is cross-compiled for Linux, Windows, MacOS and even on Raspberry Pi.

Okteto - A Tool for Cloud Native Developers

  •    Go

Kubernetes has made it very easy to deploy applications to the cloud at a higher scale than ever, but the development practices have not evolved at the same speed as application deployment patterns. Today, most developers try to either run parts of the infrastructure locally, or just test these integrations directly in the cluster via CI jobs or the "docker build, docker push, kubectl apply" cycle. It works, but this workflow is painful and incredibly slow.

awesome-operators - A resource tracking a number of Operators out in the wild.


Operators are Kubernetes native applications. We define native as being both managed using the Kubernetes APIs via kubectl and ran on Kubernetes as containers. Operators take advantage of Kubernetes’s extensibility to deliver the automation advantages of cloud services like provisioning, scaling, and backup/restore while being able to run anywhere that Kubernetes can run. This list is built by the community. Have you built or are you using an Operator that is not listed? Please send a pull request and we will add that Operator to the list.

colossus - Colossus — An example microservice architecture for Kubernetes using Bazel, Go, Java, Docker, Kubernetes, Minikube, Gazelle, gRPC, Prometheus, Grafana, and more

  •    Python

Wait a second, these services don't do anything meaningful! Nope, they sure don't. But that's okay because the point of this project is to show you how to get the basic (yet not-at-all-trivial) plumbing to work. Colossus is a boilerplate project that's meant as a springboard to more complex and meaningful projects. Getting all of these technologies to work together was a real challenge. I had to dig through countless GitHub issues and dozens of example projects to make all these things work together. I'm offering this repo as a starter pack for other people with a Bazel monorepo targeting Kubernetes.

aws-service-operator - AWS Service Operator allows you to create AWS resources using kubectl.

  •    Go

The AWS Service Operator allows you to manage AWS resources using Kubernetes Custom Resource Definitions. Using the AWS Service Operator enables a gitops workflow to drive your infrastructure to the desired state leveraging Kubernetes Custom Resource Definitions (CRD), the Kubernetes internal control loop, and AWS cloudformation orchestration. Read more about "operators" here.

kube-prompt - An interactive kubernetes client featuring auto-complete using go-prompt.

  •    Go

An interactive kubernetes client featuring auto-complete using go-prompt.Binaries are available from github release.

kured - Kubernetes Reboot Daemon

  •    Go

Kured (KUbernetes REboot Daemon) is a Kubernetes daemonset that performs safe automatic node reboots when the need to do so is indicated by the package management system of the underlying OS. The daemon image contains versions of k8s.io/client-go and the kubectl binary for the purposes of maintaining the lock and draining worker nodes. See the release notes for specific version compatibility information.

kubetail - Bash script to tail Kubernetes logs from multiple pods at the same time

  •    Shell

Bash script that enables you to aggregate (tail/follow) logs from multiple pods into one stream. This is the same as running "kubectl logs -f " but for multiple pods.Just download the kubetail file (or any of the releases) and you're good to go.