详细分析 ▾
运行时依赖
安装命令
点击复制技能文档
kubectl
Kubernetes 命令行工具 (kubectl),用于与 Kubernetes 集群进行交互和管理资源。
何时使用 管理 Kubernetes 资源(Pod、部署ment、服务 等) 查看集群状态和日志 调试应用程序和容器 部署应用到集群 配置集群访问和上下文切换 执行容器内的命令 端口转发到 Pod 基本语法 kubectl [command] [TYPE] [NAME] [flags]
command: 操作,如 创建、获取、describe、删除、应用ly TYPE: 资源类型,支持单数/复数/缩写(如 pod/pods/po) NAME: 资源名称,省略则显示所有资源 flags: 可选参数 常用命令 资源查询 # 查看所有 Pod kubectl 获取 pods
# 查看所有 Pod(含节点信息) kubectl 获取 pods -o wide
# 查看特定 Pod 详情 kubectl describe pod
# 查看所有 部署ment kubectl 获取 部署ments
# 查看所有 服务 kubectl 获取 服务s
# 查看节点状态 kubectl 获取 nodes
# 查看所有资源 kubectl 获取 all
# 按标签筛选 kubectl 获取 pods -l 应用=my应用
# 持续监视资源变化 kubectl 获取 pods --watch
创建与更新资源 # 从文件创建资源 kubectl 应用ly -f manifest.yaml
# 从目录创建资源 kubectl 应用ly -f ./manifests/
# 从标准输入创建 kubectl 应用ly -f -
# 创建 部署ment
kubectl 创建 部署ment --image=
# 暴露 服务 kubectl expose 部署ment --port=80 --type=LoadBalancer
# 滚动更新镜像 kubectl 设置 image 部署ment/ =
# 水平扩展 kubectl 扩展 部署ment/ --replicas=5
删除资源 # 从文件删除 kubectl 删除 -f manifest.yaml
# 按名称删除 Pod kubectl 删除 pod
# 按标签删除 kubectl 删除 pods -l 应用=my应用
# 删除所有 Pod kubectl 删除 pods --all
日志与调试 # 查看 Pod 日志 kubectl 记录s
# 实时跟踪日志(类似 tAIl -f) kubectl 记录s -f
# 查看指定容器日志 kubectl 记录s -c
# 查看之前容器的日志 kubectl 记录s --previous
# 在 Pod 中执行命令 kubectl exec --
# 进入 Pod 交互式 Shell kubectl exec -it -- /bin/sh
# 进入指定容器的交互式 Shell kubectl exec -it -c -- /bin/bash
# 端口转发 kubectl port-forward 8080:80
# 复制文件到/从容器 kubectl cp :/path/to/file ./local-file kubectl cp ./local-file :/path/to/file
集群管理 # 查看当前上下文 kubectl config current-上下文
# 查看所有上下文 kubectl config 获取-上下文s
# 切换上下文 kubectl config use-上下文 <上下文-name>
# 设置当前上下文的默认命名空间 kubectl config 设置-上下文 --current --namespace=
# 查看集群信息 kubectl cluster-信息
# 查看 API 资源列表 kubectl API-resources
# 查看 API 版本 kubectl API-versions
高级操作 # 编辑资源(交互式) kubectl edit 部署ment/
# 打标签 kubectl label pods env=production
# 添加注解 kubectl annotate pods description="test"
# 查看资源差异 kubectl diff -f manifest.yaml
# 滚动更新管理 kubectl rollout 状态 部署ment/ kubectl rollout 历史 部署ment/ kubectl rollout undo 部署ment/
# 排空节点(维护前) kubectl drAIn --ignore-daemon设置s
# 标记节点不可调度 kubectl cordon
# 标记节点可调度 kubectl uncordon
# 查看资源使用情况 kubectl top pods kubectl top nodes
资源类型缩写 完整名称 缩写 pods po 服务s svc 部署ments 部署 replica设置s rs 状态ful设置s sts daemon设置s ds configmaps cm secrets nodes no namespaces ns persistentvolumeclAIms pvc persistentvolumes pv ingresses ing jobs cronjobs cj 服务accounts sa 角色s 角色bindings cluster角色s cluster角色bindings horizontalpodauto扩展rs hpa 输出格式 # JSON 格式 kubectl 获取 pod -o json
# YAML 格式 kubectl 获取 pod -o yaml
# 仅输出资源名称 kubectl 获取 pods -o name
# 自定义列 kubectl 获取 pods -o custom-columns=NAME:.metadata.name,状态:.状态.phase
# JSONPath 输出 kubectl 获取 pods -o jsonpath='{.items[*].metadata.name}'
# 宽格式(含额外信息) kubectl 获取 pods -o wide
命名空间操作 # 指定命名空间 kubectl 获取 pods -n
# 查看所有命名空间的资源 kubectl 获取 pods --all-namespaces kubectl 获取 pods -A
# 创建命名空间 kubectl 创建 namespace
常用快捷命令 # 快速查看 Pod 状态 kubectl 获取 pods --all-namespaces
# 快速查看所有事件 kubectl 获取 事件 --排序-by='.lastTimestamp'
# 删除所有 Evicted Pod kubectl 获取 pods --all-namespaces --field-selector=状态.phase=FAIled | grep Evicted | awk '{print $2 " --namespace=" $1}' | xargs -L1 kubectl 删除 pod
# 强制删除 Terminating 的 Pod kubectl 删除 pod --force --grace-period=0
配置说明 默认配置文件位于 $HOME/.kube/config 可通过 KUBECONFIG 环境变量指定其他配置文件 可通过 --kubeconfig 参数指定配置文件 注意事项 命令行参数会覆盖默认值和环境变量 资源类型不区分大小写 名称区分大小写 在 Pod 内运行时,kubectl 会自动检测并使用 服务Account 认证 使用 --dry-运行=命令行工具ent 或 --dry-运行=server 可以预览操作效果而不实际执行 参考文档目录
本技能目录下的完整参考文档结构如下,可根据具体问题读取对应文件获取详细参数说明和示例:
概述与指南 _索引.md - kubectl 命令行工具总览(语法、操作表、资源类型表、输出选项、常用示例、插件) conventions.md - kubectl 使用约定 docker-命令行工具-to-kubectl.md - Docker 用户迁移到 kubectl 的对照指南 introduction.md - kubectl 简介 jsonpath.md - JSONPath 语法支持 quick-reference.md - 快速参考备忘单 kubectl-cmds.md - kubectl 命令汇总 kubectl.md - kubectl 概述 kuberc.md - kuberc 偏好配置 主命令参考(生成d) 生成d/kubectl.md - kubectl 根命令参数说明 生成d/kubectl_alpha/ - Alpha 阶段特性命令 生成d/kubectl_annotate/ - 更新资源注解 生成d/kubectl_API-resources/ - 列出 API 资源 生成d/kubectl_API-versions/ - 列出 API 版本 生成d/kubectl_应用ly/ - 应用配置(含 edit-last-应用lied、设置-last-应用lied、view-last-应用lied) 生成d/kubectl_attach/ - 挂接到运行中的容器 生成d/kubectl_auth/ - 授权检查(含 can-i、reconcile、whoami) 生成d/kubectl_auto扩展/ - 自动扩缩 生成d/kubectl_certificate/ - 证书管理(含 应用rove、deny) 生成d/kubectl_cluster-信息/ - 集群信息(含 dump) 生成d/kubectl_completion/ - Shell 补全 生成d/kubectl_config/ - kubecon