All Projects → caiobegotti → Pod-Dive

caiobegotti / Pod-Dive

Licence: Apache-2.0 license
A kubectl plugin to dive into your Kubernetes nodes pods, and inspect them.

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to Pod-Dive

KuiClientTemplate
Use this template to make your own custom graphical terminal, via the Kui Grahpical CLI Framework
Stars: ✭ 26 (-43.48%)
Mutual labels:  kubectl-plugins, krew-plugin
kubectl-janitor
List Kubernetes objects in a problematic state
Stars: ✭ 48 (+4.35%)
Mutual labels:  kubectl-plugins, krew-plugin
Krew
📦 Find and install kubectl plugins
Stars: ✭ 4,354 (+9365.22%)
Mutual labels:  kubectl-plugins, k8s-sig-cli
kubectl-images
🕸 Show container images used in the cluster.
Stars: ✭ 153 (+232.61%)
Mutual labels:  kubectl-plugins
kubectl-gs
kubectl plugin helping with custom resources by Giant Swarm
Stars: ✭ 36 (-21.74%)
Mutual labels:  kubectl-plugins
go
OpenAPI based generated Go Client for Kubernetes
Stars: ✭ 134 (+191.3%)
Mutual labels:  client-go
kubectl-ctx
Simple kubectl plugin to display/switch contexts
Stars: ✭ 36 (-21.74%)
Mutual labels:  kubectl-plugins
kubectl-terminate
kubectl-terminate, a kubectl plugin to remove finalizers and finally delete k8s resources
Stars: ✭ 23 (-50%)
Mutual labels:  kubectl-plugins
kubectl-plugin-ssh-jump
A kubectl plugin to access nodes or remote services using a SSH jump Pod
Stars: ✭ 117 (+154.35%)
Mutual labels:  kubectl-plugins
k8s-client-examples
Building stuff with the Kubernetes API
Stars: ✭ 110 (+139.13%)
Mutual labels:  client-go
Kubectl Debug
Debug your pod by a new container with every troubleshooting tools pre-installed
Stars: ✭ 2,091 (+4445.65%)
Mutual labels:  kubectl-plugins
kubectl-evict-pod
This plugin evicts the given pod and is useful for testing pod disruption budget rules
Stars: ✭ 51 (+10.87%)
Mutual labels:  kubectl-plugins
kubectl-passman
kubectl plugin that provides the missing link/glue between common password managers and kubectl
Stars: ✭ 69 (+50%)
Mutual labels:  kubectl-plugins
Kubectl Tree
kubectl plugin to browse Kubernetes object hierarchies as a tree 🎄 (star the repo if you are using)
Stars: ✭ 1,962 (+4165.22%)
Mutual labels:  kubectl-plugins
kubectl-view-serviceaccount-kubeconfig-plugin
A kubectl plugin that show a kubeconfig to access the apiserver with a specified serviceaccount.
Stars: ✭ 33 (-28.26%)
Mutual labels:  kubectl-plugins
k8s-discovery
Auto discover the running environment and serves the kubernetes clientset interface for interaction
Stars: ✭ 44 (-4.35%)
Mutual labels:  client-go
kubectl-iexec
Kubectl plugin to interactively exec into a pod
Stars: ✭ 102 (+121.74%)
Mutual labels:  kubectl-plugins
helm-clientgo-example
helm client-go example to add helm repo, fetch charts and install chart
Stars: ✭ 27 (-41.3%)
Mutual labels:  client-go
client-go-examples
Collection of mini-programs demonstrating Kubernetes client-go usage.
Stars: ✭ 722 (+1469.57%)
Mutual labels:  client-go
kube-plugins
a repository for plugins for kubernetes
Stars: ✭ 26 (-43.48%)
Mutual labels:  kubectl-plugins

Pod dive

dive into kubernetes nodes workloads

A kubectl Krew plugin to dive into your Kubernetes nodes pods, and inspect them.

Icon art made by Smashicons from Flaticon. We had one before Krew itself, go figure.

Quick Start

If you don't use Krew to manage kubectl plugins you can simply download the binary here and put it in your PATH.

kubectl krew install pod-dive
kubectl pod-dive

Why use it

It's much faster than running multiple kubectl commands and having to scroll up and down to look for critical pod info.

What does it look like

$ kubectl pod-dive --help
Dives into a node after the desired pod and returns data associated
with the pod no matter where it is running, such as its origin workload,
namespace, the node where it is running and its node pod siblings, as
well basic health status of it all.

The purpose is to have meaningful pod info at a glance without needing to
run multiple kubectl commands to see what else is running next to your
pod in a given node inside a huge cluster, because sometimes all
you've got from an alert is the pod name.

Usage:
  pod-dive [pod name] [flags]

Examples:

Cluster-wide dive after a pod
$ kubectl pod-dive thanos-store-0

Restricts the dive to a namespace (faster in big clusters)
$ kubectl pod-dive elasticsearch-curator-1576112400-97htk -n logging
$ kubectl pod-dive kafka-operator-kafka-0
[node]      gke-staging-default-pool-acca72c6-klsn [ready]
[namespace]  ├─┬ kafka
[type]       │ └─┬ statefulset
[workload]   │   └─┬ kafka-operator-kafka [3 replicas]
[pod]        │     └─┬ kafka-operator-kafka-0 [pending]
[containers] │       ├── kafka [1 restart]
             │       ├── tls-sidecar [0 restarts]
             │       ├── vault-renewer [2 restarts]
             │       ├── vault-authenticator [init, 0 restarts]
             │       └── kafka-init [init, 0 restarts]
            ...
[siblings]   ├── cassandra-0
             ├── debug-b58f6f7f8-hbfw5
             ├── ignite-memory-web-agent-cc75c9987-nfh6p
             ├── jaeger-agent-daemonset-gmhm7
             ├── jaeger-query-7dc45cfc9f-mzfg6
             ├── kafka-operator-zookeeper-0
             ├── calico-node-dgvht
             ├── calico-typha-65bfd5544b-kjjjh
             ├── fluentd-gcp-scaler-6bc97c54b4-xftsm
             ├── fluentd-gcp-v3.1.1-b9zhf
             ├── ip-masq-agent-jtjxz
             ├── kube-dns-autoscaler-bb58c6784-j9n4h
             ├── kube-proxy-gke-staging-default-pool-acca72c6-klsn
             ├── metrics-server-v0.3.1-7b4d7f457-v6mfp
             ├── prometheus-to-sd-47n9b
             ├── vpa-recommender-8667dc8d75-9j4vl
             ├── fluent-bit-rj8cn
             ├── prometheus-operator-grafana-7f478cc944-g7rvw
             ├── prometheus-operator-kube-state-metrics-79486d7f6d-9r9q5
             ├── prometheus-operator-operator-777f86b5f7-njr9n
             └── prometheus-operator-prometheus-node-exporter-8w8tv

WAITING:
    kafka imagepullbackoff
TERMINATION:
    vault-renewer error (code 7)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].