kubectl 简介

kubectl 是 Kubernetes 的瑞士军刀 CLI,功能强大。

本书主要关注使用 kubectl 声明式管理 Kubernetes 中的应用程序,但也涵盖了其他 kubectl 的功能。

命令系列

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

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

声明式应用程序管理

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

打印工作负载状态

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

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

调试工作负载

kubectl 通过提供以下命令来支持调试:

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

集群管理

有时,用户可能需要对集群节点执行操作。kubectl 支持命令来驱逐节点上的工作负载,以便可以将其退役或进行调试。

Porcelain (便捷命令)

对于开发,用户可能觉得使用资源配置过于繁琐,并更愿意使用类 shell 工作流命令式地与集群交互。kubectl 提供了 porcelain 命令来生成和修改资源。

  • 生成和创建资源,例如 Deployments、StatefulSets、Services、ConfigMaps 等。
  • 设置资源的字段
  • 在文本编辑器中编辑(实时)资源
最后修改于 2024 年 4 月 30 日上午 10:31 (太平洋标准时间): kubectl/introduction.md 中一些术语使用小写 (92ccce607e)