Skip to main content

Using human language to interact with Kubernetes

Project description

kubegpt

License: MIT

A command-line tool for using human language to interact with Kubernetes. Powered by OpenAI/GPT.

kubegpt will take your input like

kubegpt "Am I using GlusterFS as a storage class?"

It will generate a kubectl command to run to get information, read the results of the command and then interpret the results. It will use your local kubectl config and context to reach your k8s cluster.

kubectl get storageclass

An example of the output of the above command is:

$ kubegpt "Am I using GlusterFS as a storage class?"

> Entering new AgentExecutor chain...
 I need to use kubectl to query the storage class information.
Action: terminal
Action Input: kubectl get storageclass
Observation: NAME                 PROVISIONER          RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
hostpath (default)   docker.io/hostpath   Delete          Immediate           false                  14d

Thought: I can see the storage class is "hostpath" which is not GlusterFS.
Final Answer: No, you are not using GlusterFS as a storage class.

> Finished chain.

The data you see in Observation is real info returned from the kubectl command that the AI agent ran using whatever Kubernetes cluster is currently set in your kubectl context.

Installation

pip install kubegpt

Setup your OpenAI API key

export OPENAI_API_KEY=xxxx

# NOTE: you will need to add a credit card to the OpenAI dashboard for this to work.

And then ask away!

kubegpt "What kubernetes context am I using?"

WARNING

Use at your own risk! We tell the OpenAI agent mutliple times to only run non-destructive kubectl commands but this is not guaranteed. We are not responsible for any damage.

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

kubegpt-0.0.7.tar.gz (4.3 kB view hashes)

Uploaded Source

Built Distribution

kubegpt-0.0.7-py3-none-any.whl (5.0 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