kubectl 简介
kubectl 是 Kubernetes 的命令行工具,如同瑞士军刀,功能强大。
虽然本书重点介绍使用 kubectl 以声明方式管理 Kubernetes 中的应用程序,但它也涵盖了其他 kubectl 功能。
命令族
大多数 kubectl 命令通常属于以下几个类别之一
类型 | 用途 | 描述 |
---|---|---|
声明式资源管理 | 部署和运维(例如 GitOps) | 使用资源配置声明式地管理 Kubernetes 工作负载 |
命令式资源管理 | 仅限开发 | 运行命令以使用命令行参数和标志管理 Kubernetes 工作负载 |
打印工作负载状态 | 调试 | 打印有关工作负载的信息 |
与容器交互 | 调试 | Exec、attach、cp、logs |
集群管理 | 集群操作 | 清空和隔离节点 |
声明式应用程序管理
管理 Kubernetes 集群中资源的首选方法是使用称为资源配置的声明式文件,并与 kubectl Apply 命令一起使用。此命令读取本地(或远程)文件结构,并修改集群状态以反映声明的意图。
Apply
Apply 是管理 Kubernetes 集群中资源的首选机制。打印有关工作负载的状态
用户需要查看工作负载状态。
- 打印资源的摘要状态和信息
- 打印资源的完整状态和信息
- 打印资源中的特定字段
- 查询匹配标签的资源
调试工作负载
kubectl 支持通过提供以下命令进行调试
- 打印容器日志
- 打印集群事件
- 执行或附加到容器
- 将集群中容器中的文件复制到用户的文件系统
集群管理
偶尔,用户可能需要对集群的节点执行操作。kubectl 支持用于清空节点以供停用或调试的命令。
Porcelain
用户可能会发现使用资源配置对于开发来说过于冗长,并且更喜欢使用类似 shell 的工作流以命令式方式与集群交互。kubectl 提供用于生成和修改资源的 porcelain 命令。
- 生成和创建资源,例如 Deployment、StatefulSet、Service、ConfigMap 等。
- 设置资源中的字段
- 在文本编辑器中编辑(实时)资源
仅限开发的 Porcelain
Porcelain 命令可以节省在开发集群中实验工作负载的时间,但不要将其用于生产环境。上次修改时间:2024 年 4 月 30 日,太平洋时间下午 10:31:在 kubectl/introduction.md 中将某些术语改为小写(92ccce607e)