kubectl 速查手册
概述
kubectl
是 Kubernetes
的命令行工具,用于管理 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
网友评论