kubectl 介绍
kubectl 是 Kubernetes CLI 版本的瑞士军刀,可以胜任多种多样的任务。
本文主要介绍如何使用 kubectl 在 Kubernetes 中声明式管理应用,本文还涵盖了一些其他的 kubectl 功能。
命令分类
大多数 kubectl 命令通常可以分为以下几类:
类型 | 用途 | 描述 |
---|---|---|
声明式资源管理 | 部署和运维(如 GitOps) | 使用资源管理声明式管理 Kubernetes 工作负载 |
命令式资源管理 | 仅限开发环境 | 使用命令行参数和标志来管理 Kubernetes 工作负载 |
打印工作负载状态 | 调试 | 打印有关工作负载的信息 |
与容器交互 | 调试 | 执行、挂接、复制、日志 |
集群管理 | 集群运维 | 排空和封锁节点 |
声明式应用管理
管理资源的首选方法是配合 kubectl Apply 命令一起使用名为资源的声明式文件。 此命令读取本地(或远程)文件结构,并修改集群状态以反映声明的意图。
Apply
Apply 是在 Kubernetes 集群中管理资源的首选机制。
打印工作负载状态
用户需要查看工作负载状态。
- 打印关于资源的摘要状态和信息
- 打印关于资源的完整状态和信息
- 打印资源的特定字段
- 查询与标签匹配的资源
调试工作负载
kubectl 支持通过提供以下命令进行调试:
- 打印 Container 日志
- 打印集群事件
- 执行或挂接到 Container
- 将集群中 Container 中的文件复制到用户的文件系统
集群管理
有时用户可能需要对集群的节点执行操作。 kubectl 支持使用命令将工作负载从节点中排空,以便节点可以被停用或调试。
Porcelain
用户可能会发现使用资源管理进行 开发 过于繁琐, 他们更喜欢使用类似于 Shell 的工作流以 命令式 与集群交互。 kubectl 提供了用于生成和修改资源的 Porcelain 命令。
- 生成和创建 Deployment、StatefulSet、Service、ConfigMap 等这类资源
- 设置资源的字段
- 在文本编辑器中(实时)编辑资源
Porcelain 仅限开发使用
Porcelain 命令在开发集群中进行工作负载实验时可以节省时间,但不应用于生产。最后修改 June 20, 2024 at 12:44 PM PST: Sync changest from andygol/k8s-website (36d05bc8a1)