kubectl 命令速查

kubectl 速查手册

概述

kubectlKubernetes 的命令行工具,用于管理 Kubernetes 集群和资源。

常用命令

集群管理

  • kubectl cluster-info: 显示集群信息
  • kubectl get nodes: 显示节点列表
  • kubectl get pods: 显示 pod 列表
  • kubectl get svc: 显示服务列表
  • kubectl get deployments: 显示 deployment 列表

资源管理

  • kubectl create: 创建资源(pod、deployment、svc 等)
  • kubectl delete: 删除资源
  • kubectl get: 显示资源列表
  • kubectl describe: 显示资源详细信息
  • kubectl edit: 编辑资源

pod 管理

  • kubectl run: 运行 pod
  • kubectl exec: 进入 pod 容器
  • kubectl logs: 显示 pod 日志
  • kubectl port-forward: 转发 pod 端口

deployment 管理

  • kubectl create deployment: 创建 deployment
  • kubectl rollout: 滚动更新 deployment
  • kubectl scale: 缩放 deployment

服务管理

  • kubectl expose: 创建暴露服务
  • kubectl get svc: 显示服务列表

namespace 管理

  • kubectl create namespace: 创建 namespace
  • kubectl delete namespace: 删除 namespace
  • kubectl get namespace: 显示 namespace 列表

快捷键

  • -n--namespace: 指定 namespace
  • -f--filename: 指定文件名
  • -o--output: 指定输出格式
  • --watch: 监视资源变化

帮助

  • kubectl help: 显示帮助信息
  • kubectl explain: 解释 Kubernetes 资源

版本

  • kubectl version: 显示 kubectl 版本

常用别名

一键设置 bash 别名(复制直接执行):

echo "alias k='kubectl'; alias kg='kubectl get'; alias kd='kubectl describe'; alias ke='kubectl edit'; alias kr='kubectl run'; alias kex='kubectl exec'; alias klo='kubectl logs'; alias kpf='kubectl port-forward'; alias ksc='kubectl scale'; alias kdel='kubectl delete'; alias kcr='kubectl create';" >> ~/.bashrc && source ~/.bashrc

  • k=kubectl
  • kg=kubectl get
  • kd=kubectl describe
  • ke=kubectl edit
  • kr=kubectl run
  • kex=kubectl exec
  • klo=kubectl logs
  • kpf=kubectl port-forward
  • ksc=kubectl scale
  • kdel=kubectl delete
  • kcr=kubectl create

快速参考

  • 创建 pod:kubectl run -i --rm --tty <pod-name> --image=<image-name>
  • 进入 pod 容器:kubectl exec -it <pod-name> /bin/bash
  • 显示 pod 日志:kubectl logs -f <pod-name>
  • 删除 pod:kubectl delete pod <pod-name>

Tips:记录一些额外的常用命令

1. 列出命名空间下的所有资源

kubectl api-resources --verbs=list --namespaced=true -o name | xargs -n 1 kubectl get -n <namespace>

2. 设置当前上下文的默认 namespace

kubectl config set-context --current --namespace=unit1

可以使用 --persist 来使设置持久化:

kubectl config set-context --current --namespace=unit1 --persist
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容