kubectl 简介

kubectl 是 Kubernetes 的命令行工具,如同瑞士军刀,功能强大。

虽然本书重点介绍使用 kubectl 以声明方式管理 Kubernetes 中的应用程序,但它也涵盖了其他 kubectl 功能。

命令族

大多数 kubectl 命令通常属于以下几个类别之一

类型用途描述
声明式资源管理部署和运维(例如 GitOps)使用资源配置声明式地管理 Kubernetes 工作负载
命令式资源管理仅限开发运行命令以使用命令行参数和标志管理 Kubernetes 工作负载
打印工作负载状态调试打印有关工作负载的信息
与容器交互调试Exec、attach、cp、logs
集群管理集群操作清空和隔离节点

声明式应用程序管理

管理 Kubernetes 集群中资源的首选方法是使用称为资源配置的声明式文件,并与 kubectl Apply 命令一起使用。此命令读取本地(或远程)文件结构,并修改集群状态以反映声明的意图。

打印有关工作负载的状态

用户需要查看工作负载状态。

  • 打印资源的摘要状态和信息
  • 打印资源的完整状态和信息
  • 打印资源中的特定字段
  • 查询匹配标签的资源

调试工作负载

kubectl 支持通过提供以下命令进行调试

  • 打印容器日志
  • 打印集群事件
  • 执行或附加到容器
  • 将集群中容器中的文件复制到用户的文件系统

集群管理

偶尔,用户可能需要对集群的节点执行操作。kubectl 支持用于清空节点以供停用或调试的命令。

Porcelain

用户可能会发现使用资源配置对于开发来说过于冗长,并且更喜欢使用类似 shell 的工作流以命令式方式与集群交互。kubectl 提供用于生成和修改资源的 porcelain 命令。

  • 生成和创建资源,例如 Deployment、StatefulSet、Service、ConfigMap 等。
  • 设置资源中的字段
  • 在文本编辑器中编辑(实时)资源
上次修改时间:2024 年 4 月 30 日,太平洋时间下午 10:31:在 kubectl/introduction.md 中将某些术语改为小写(92ccce607e)