跳转至

kubectl

kubectl 命令

[root@maas1-zwlt bf3_init]# kubectl --help
kubectl 控制 Kubernetes 集群管理器。

  更多信息请参见:https://kubernetes.io/zh/docs/reference/kubectl/overview/

基本命令(初学者):
  create          从文件或标准输入创建资源
  expose          将副本控制器、服务、部署或 Pod 暴露为一个新的 Kubernetes 服务
  run             在集群中运行一个特定的镜像
  set             在对象上设置特定的功能

基本命令(中级):
  explain         获取资源的文档说明
  get             显示一个或多个资源
  edit            在服务器上编辑一个资源
  delete          通过文件名、标准输入、资源名称或标签选择器删除资源

部署命令:
  rollout         管理资源的发布
  scale           为部署、ReplicaSet 或副本控制器设置新副本数
  autoscale       为部署、ReplicaSet、StatefulSet 或副本控制器自动扩缩容

集群管理命令:
  certificate     修改证书资源
  cluster-info    显示集群信息
  top             显示资源(CPU/内存)使用情况
  cordon          标记节点为不可调度
  uncordon        标记节点为可调度
  drain           为维护准备节点(驱逐其上的 Pod)
  taint           更新一个或多个节点上的污点

故障排查与调试命令:
  describe        显示特定资源或资源组的详细信息
  logs            打印 Pod 中容器的日志
  attach          附加到正在运行的容器
  exec            在容器中执行命令
  port-forward    将一个或多个本地端口转发到 Pod
  proxy           运行到 Kubernetes API 服务器的代理
  cp              在容器与本地之间复制文件和目录
  auth            检查授权情况
  debug           为工作负载和节点创建调试会话

高级命令:
  diff            对比实际版本与将要应用的版本之间的差异
  apply           通过文件名或标准输入应用配置到资源
  patch           更新资源的字段
  replace         通过文件名或标准输入替换资源
  wait            实验性:等待一个或多个资源达到特定条件
  kustomize       从目录或 URL 构建一个 Kustomization 目标

设置命令:
  label           更新资源上的标签
  annotate        更新资源上的注解
  completion      为指定的 shell(bash、zsh 或 fish)输出命令补全代码

其他命令:
  alpha           Alpha 阶段功能的命令
  api-resources   打印服务器支持的 API 资源
  api-versions    打印服务器支持的 API 版本,格式为 "group/version"
  config          修改 kubeconfig 文件
  plugin          提供与插件交互的实用工具
  version         打印客户端和服务器的版本信息

用法:
  kubectl [flags] [options]

使用 "kubectl <command> --help" 获取某个命令的详细信息。
使用 "kubectl options" 查看适用于所有命令的全局命令行选项。

kubectl 是 Kubernetes 的命令行工具,用于与集群交互。下面是一些最常用的 kubectl 命令,分为几类,适合日常运维、开发调试和集群管理。


🟢 基础操作命令

命令 说明
kubectl get pods 查看所有 Pod
kubectl get svc 查看所有 Service
kubectl get nodes 查看所有 Node
kubectl get deployments 查看所有 Deployment
kubectl get all 查看所有资源
kubectl describe pod <pod-name> 查看 Pod 详情
kubectl logs <pod-name> 查看 Pod 日志
kubectl exec -it <pod-name> -- /bin/bash 进入 Pod 容器内部(需要容器有 bash)

🟡 资源管理

命令 说明
kubectl apply -f <file>.yaml 应用配置文件,创建或更新资源
kubectl create -f <file>.yaml 创建资源
kubectl delete -f <file>.yaml 删除资源
kubectl delete pod <pod-name> 删除某个 Pod
kubectl scale deployment <name> --replicas=3 扩缩容 Deployment

🔵 命名空间相关

命令 说明
kubectl get ns 查看所有命名空间
kubectl get pods -n <namespace> 查看某命名空间的 Pods
kubectl config set-context --current --namespace=<namespace> 设置默认命名空间

🟣 调试与排错

命令 说明
kubectl describe node <node-name> 查看节点详细信息
kubectl top pod 查看 Pod 资源使用情况(需安装 metrics-server)
kubectl get events 查看事件,排查错误
kubectl port-forward pod/<pod-name> 8080:80 本地端口转发到 Pod

⚙️ 配置相关

命令 说明
kubectl config get-contexts 查看所有上下文
kubectl config use-context <context-name> 切换上下文
kubectl version 查看版本信息
kubectl cluster-info 查看集群信息