"k"
TLDR;
Install the "k" by either doing:
pip install agentk
(Yes, ^^ it is written in python and your OS needs to have recent version 2 or 3)
or copying it in some bin folder on your PATH and running pip install -r requirements.txt
"A person is smart. People are dumb, panicky, dangerous animals, and you know it." -- Agent K
"AGENT" K is a complete minimalistic kubectl "doner"-wrap
Obviously, as a short-hand wrapper, k can do everything kubectl already can, but it is (a) shorter and (b) adds few tricks like merging configs and switching contexts .. (k) feeds back to the kubectl command-line those args which it does not want to intercept or handle.
Usage
The following is equivalent:
kubectl get pods --all-namespaces
k get pods -A
k p -A
Switching context
Argument-free invocation prompts for context switch options between multiple cluster contexts found in ~/.kube/config:
k
Switching namespaces
One can change the default namespace on the currently active context (namespace key in ~/.kube/config) using either of two equivalent commands:
kubectl config set-context $(kubectl config current-context) --namespace foo
k sn foo
The last command is a k shortcut.
Shortcuts to get resources
You can find the full list of shortcuts defined as the dictionary inside the k script. In particular that would be:
# resource
"ev": "event",
"ep": "endpoints",
"p": "pod",
"s": "service",
"v": "volume",
"n": "node",
"dp": "deployment",
"st": "statefulset",
"in": "ingress",
"ns": "namespace",
At the end of the list there are one letter action-shortcuts:
# actions
"c": "create",
"a": "apply",
"d": "delete",
This means that the following is equivalent:
kubectl apply -f <foo-k8s-manifest.yaml>
k a -f <foo-k8s-manifest.yaml>
Develop
To remind, you can do pip install -e . in order to utilize developer mode.
Installation in the cloud
If you work with kubectl without a privileged or super-user access, for example inside a corporate network or in a cloud-shell (but you still have access to python), then your installation will look like:
pip install --user agentk
This will install the script in your local $HOME folder.
Don't forget to append your ~/.bashrc or ~/bash_profile or other shell-rc file with:
export PATH="$HOME/.local/bin:$PATH"
Command completion
You can put this into your .bashrc to get alias and auto completion for k similar as for kubectl:
source <(kubectl completion bash | sed s/kubectl/k/g)
Similar works well for zsh.
Release files for agentk 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentk-0.3.2.tar.gz | 5.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentk-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.8 kB
Release files / agentk-0.3.2.tar.gz
| Download URL | agentk-0.3.2.tar.gz |
|---|---|
| Size | 5.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eaaa8ec4d1f4fd2441401bf76f107be4f7e3599b7250cb7fd4d2451174afc40e
|
|
BLAKE2b-256 checksum How to use checksums |
801749ef2cf3152308574e9c0fe9fece57c5576e2e8ec3b1cacf4322155d2bdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.19
|
Release files / agentk-0.3.2-py3-none-any.whl
| Download URL | agentk-0.3.2-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2372a423411875fa2b95c53759db2f5d092218b9b1c95c9a3eefee280229d985
|
|
BLAKE2b-256 checksum How to use checksums |
ab5f9585da89c94fe60940c21b25f3f42a2492369cd56054c94f1c2051345e0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.19
|