Skip to main content

Tool to work with kubernetes dashboard, if there is no kubectl access

Project description

KDC - Kubernetes Dashboard Connector

Designed to partially replace kubectl app if your DevOps do not grant access to it.
As an alternative for kubectl, DevOps can set up Kubernetes Dashboard
web app and grant access to it. But as this solution is slow and not very convenient, I've created this tool to request logs and pod data from the cluster.

Features

  • select kubernetes cluster to work with
  • select kubernetes namespace to work with
  • list namespaces
  • list deployments
  • list pods
  • list jobs
  • get logs from pods by name pattern. Multiple pods can be selected separated by space
  • get logs from the latest job by name pattern
  • delete pod by name pattern (1 per time, check if it is allowed)
  • scale deployment by name pattern (1 per time, check if it is allowed)
  • download logs to the file
  • show the token of current cluster

Installation

pip install kdc-kubeconnector

Configuration

Find the config file here ~/.kdc/config.toml It will be created after the first run of the tool.

[default]
cluster = "localhost"
namespace = "default"

[log]
level = "INFO"
file = "kdc.log"
save = false

[connection]
retries = 3
delay = 1
page = 3000

[cluster.localhost]
url = "http://localhost:8001"
token = "token"
namespace = "default"

[cluster.dev]
url = "http://dev:8001
token = "token2"
namespace = "default"

[cluster.uat]
url = "http://uat:8001
token = "token3"
namespace = "default"

Usage Examples

List pods

kdc -p
kdc -p s=running --only running
kdc -p s=run  --only running
kdc -p n=nginx --only with name nginx
kdc -p s=run n=ngi --with name nginx

Get logs from the pod with name like nginx-sd4353453-4543d

kdc -l nginx

Get logs from the few pods

kdc -l nginx app1 app2

List namespaces

kdc -n

Set the namespace to work with by default

kdc -n default
kdc -n dev
kdc -n uat

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Release Notes

  • 1.7.7 - fixed wrong selection of namespace by cluster
  • 1.7.6 - fixed GitHub actions pipeline. Fixed version issue
  • 1.7.0 - fixed version issue. Added the ability to set the namespace by cluster. Improved env selection argument

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kdc-kubeconnector-1.7.7.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

kdc_kubeconnector-1.7.7-py3-none-any.whl (9.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page