“代理”K是一个完全极简的kubectl“doner”包装

agentk的Python项目详细描述


“k”

TLDR

通过以下任一操作安装“k”:

pip install agentk

(是的,^^它是用python编写的,您的操作系统需要最新版本2或3)

或者将其复制到路径上的bin文件夹中并运行pip install -r requirements.txt


"A person is smart. People are dumb, panicky, dangerous animals, and you know it." -- Agent K

“AGENT”K是一个完全极简的kubectl“doner”-wrap

显然,作为一个简单的包装器,k可以完成kubectl已经可以做的一切,但是它(a)更短,(b)添加了一些技巧,比如合并配置和切换上下文。。(k) 将不想拦截或处理的参数反馈给kubectl命令行。在

使用

相当于:

^{pr2}$

切换上下文

无参数调用提示在~/.kube/config中找到的多个群集上下文之间的上下文切换选项:

k

切换名称空间

可以使用两个等效的命令之一更改当前活动上下文(namespace键在~/.kube/config)上的默认名称空间:

kubectl config set-context $(kubectl config current-context) --namespace foo
k sn foo

最后一个命令是k快捷方式。在

获取资源的快捷方式

您可以在k脚本中找到定义为字典的快捷方式的完整列表。尤其是:

# resource
"ev": "event",
"ep": "endpoints",
"p": "pod",
"s": "service",
"v": "volume",
"n": "node",
"dp": "deployment",
"st": "statefulset",
"in": "ingress",
"ns": "namespace",

列表末尾有一个字母的操作快捷方式:

# actions
"c": "create",
"a": "apply",
"d": "delete",

这意味着以下内容是等效的:

kubectl apply -f <foo-k8s-manifest.yaml>
k a -f <foo-k8s-manifest.yaml>

发展

为了提醒您,您可以做pip install -e .以利用开发人员模式。在

云端安装

如果您使用kubectl而没有特权或超级用户访问权限,例如在企业网络或云shell中(但是您仍然可以访问python),那么您的安装将如下所示:

pip install --user agentk

这将在本地$HOME文件夹中安装脚本。在

别忘了在您的~/.bashrc~/bash_profile或其他shell rc文件后附加:

export PATH="$HOME/.local/bin:$PATH"

命令完成

您可以将其放入.bashrc中,以获得k的别名和自动完成,类似于kubectl

source <(kubectl completion bash | sed s/kubectl/k/g)

类似的方法适用于zsh。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java HttpSession API   如果模式可用,xml java将忽略DTD进行验证   java从远程位置调用Jersey API   在Java中直接从URL读取html   如何使用#Hibernate#Spring#Java在MySql中存储“日期”?   java如何在JSP中迭代列表对象?   java如何使用PDFBox确定实际PDF内容的位置?   utf 8计算Java字符串的UTF8长度,而不实际对其进行编码   java我正在尝试通过whatsapp或任何其他messenger应用程序发送/共享mp3原始文件。   使用Java定期将记录写入CSV文件   用于队列和工作程序设计的java实时执行器池   java与t1的区别是什么。当前线程和线程。当前线程?   java将大字符串写入文本文件?   java传递给侦听器   java如何从对象列表向JComboBox添加项