列出全部上下文,星号标记当前使用的集群
kubectl config get-contexts上下文与命名空间、资源查看、日志排查、滚动发布与节点维护的高频命令,含误操作风险提示。
列出全部上下文,星号标记当前使用的集群
kubectl config get-contexts切换上下文,后续命令都作用于该集群
kubectl config use-context prod为当前上下文设置默认命名空间
kubectl config set-context --current --namespace=<NS>确认当前生效的命名空间
kubectl config view --minify -o jsonpath='{..namespace}'不设置时会落到 default,跨环境操作务必显式加 -n
列出集群内全部命名空间
kubectl get ns查看 Pod 状态、所在节点与 IP
kubectl get pods -n <NS> -o wide一次查看该命名空间的主要资源
kubectl get all -n <NS>查看事件、镜像、挂载与探针详情
kubectl describe pod <POD> -n <NS>按时间排序查看事件,定位调度与拉镜像失败
kubectl get events -n <NS> --sort-by=.lastTimestamp输出完整 YAML,便于比对与备份
kubectl get pod <POD> -n <NS> -o yaml实时跟踪容器最近 100 行日志
kubectl logs -f --tail=100 <POD> -n <NS> -c <CONTAINER>多容器 Pod 必须用 -c 指定,否则命令报错
查看上次崩溃前的日志,排查重启原因
kubectl logs <POD> -n <NS> --previous进入容器排查,精简镜像可能没有 bash
kubectl exec -it <POD> -n <NS> -- sh把集群内服务端口映射到本地调试
kubectl port-forward svc/<SVC> 8080:80 -n <NS>在 Pod 与本地之间复制文件
kubectl cp <NS>/<POD>:/var/log/app.log ./app.log容器内需有 tar,否则复制会失败
快速创建 Deployment 用于验证
kubectl create deployment my-app --image=nginx:1.25 --replicas=2 -n <NS>更新镜像并触发滚动升级
kubectl set image deployment/my-app my-app=nginx:1.26 -n <NS>等待并观察滚动更新进度
kubectl rollout status deployment/my-app -n <NS>滚动重启,不改变镜像版本
kubectl rollout restart deployment/my-app -n <NS>回滚到上一版本,可用 --to-revision 指定
kubectl rollout undo deployment/my-app -n <NS>调整副本数,先确认节点资源余量
kubectl scale deployment/my-app --replicas=4 -n <NS>查看 Pod 内存占用并排序
kubectl top pod -n <NS> --sort-by=memory查看节点资源分配、污点与已绑定 Pod
kubectl describe node <NODE>标记节点不可调度,现有 Pod 继续运行
kubectl cordon <NODE>驱逐节点上全部 Pod,操作前确认副本与 PDB
kubectl drain <NODE> --ignore-daemonsets --delete-emptydir-data单副本服务会中断,维护完记得 uncordon
恢复节点调度能力
kubectl uncordon <NODE>删除 Pod 触发重建,需由控制器管理才安全
kubectl delete pod <POD> -n <NS>无控制器管理的 Pod 删除后不会重建
把配置文件写入 ConfigMap
kubectl create configmap app-config --from-file=app.conf -n <NS>创建 Secret,值会留在 shell 历史里
kubectl create secret generic app-secret --from-literal=password=<PASSWORD> -n <NS>更安全的做法是用 --from-file 或标准输入
按清单创建或更新资源
kubectl apply -f deployment.yaml -n <NS>预先查看 apply 会带来哪些变更
kubectl diff -f deployment.yaml -n <NS>删除清单内全部资源,删除前先 diff 确认
kubectl delete -f deployment.yaml -n <NS>误删的资源通常无法直接恢复
本网站使用 Cookie 以确保您在我们的网站上获得最佳体验。 隐私政策.