16个版本
0.6.3 | 2023年9月26日 |
---|---|
0.6.2 | 2022年9月27日 |
0.6.1 | 2022年5月6日 |
0.5.4 | 2021年6月16日 |
0.3.1 | 2018年3月27日 |
#166 in 开发工具
480KB
12K SLoC
Click
Click是Kubernetes的命令行交互控制器。其目的是快速有效地管理大量Kubernetes集群/对象。
代码状态
更改日志
查看更改日志以获取发布历史。
演示屏幕录制
使用模式
Click是一个REPL。当运行Click时,有一个当前活动的配置,其中包括当前的Kubernetes上下文,以及可选的命名空间和Kubernetes对象。然后命令应用于活动配置,因此不需要持续指定要针对哪些对象。
安装
您需要Rust和Cargo。有关如何获取它们的说明,请参阅此处。
Click在crates.io上,因此您只需运行cargo install click
即可安装它。
或者,要自己构建它,克隆click仓库并运行cargo build
。
Arch Linux
有一个aur可用。
运行
如果您使用了cargo install
,则可以直接运行click
(假设~/.cargo/bin
已添加到您的PATH)。
如果您从源代码构建,请运行./target/debug/click
,或运行cargo run
。
Click默认在~/.kube/config中查找您的Kubernetes配置。它还在.kube目录中存储自己的配置。您可以使用--config选项更改此设置。如果设置了KUBECONFIG
,它将使用那里找到的任何文件作为Kubernetes配置文件。
一旦进入REPL,键入help
以查看您可以做什么。
提示
提示的顺序是[上下文][命名空间][对象]。
对象的颜色会根据其类型而变化。(例如,黄色用于pod,蓝色用于节点等)
支持的认证方式
Click目前支持以下方式来认证到Kubernetes集群
- 令牌
- 用户名/密码
- 私钥/证书
- gke风格认证提供者
GKE 支持
对于 Google Kubernetes Engine,Click 支持读取 kube 配置文件中已有的令牌。如果该令牌已过期,Click 将请求一个新的令牌并使用它。它(目前)不会将新令牌保存回配置文件。
为什么我收到 BadDER 错误
如果你的 Kubernetes 集群正在使用节点授权(https://kubernetes.ac.cn/docs/admin/authorization/node/),则你的 API 服务器可能正在使用一个 DNS 名称如 "system:something" 的证书。从技术上讲,这是一个无效的证书,因为 DNS 名称中不能包含冒号。由于 WebPKI crate 比 Go 更严格,即使 kubectl 可以接受,Click 也不会接受来自 API 服务器的证书。
临时修补 WebPKI 以接受证书
- 构建 Click
- 运行位于 util 目录中的
fix_bad_der.sh
脚本 - 运行
cargo clean
- 重新构建 Click
依赖关系
~87MB
~1.5M SLoC