Kubernetes是云计算核心,下面我详解Kubernetes命令大全@mikechen
1. 查看集群信息
kubectl cluster-info
输出:
Kubernetes control plane is running at ...
CoreDNS is running at ...
作用:
- 查看 Master 地址;
- 验证集群是否正常;
- 查看核心服务;
常用于:
集群连接检查
2. 查看节点信息
kubectl get nodes
输出:
NAME STATUS ROLES
node-1 Ready master
node-2 Ready worker
常用参数:
kubectl get nodes -o wide
可查看:
- IP;
- OS;
- Container Runtime;
- Kubernetes Version;
3. 查看 Pod
kubectl get pods
查看全部 Namespace:
kubectl get pods -A
查看详细信息:
kubectl get pods -o wide
输出:
NAME READY STATUS
nginx 1/1 Running
4. 查看 Pod 详情
生产排障必用。
kubectl describe pod nginx
作用:
查看:
- Pod IP;
- 挂载卷;
- 事件日志;
- 调度节点;
- 容器状态;
5. 创建资源
通过 YAML 创建:
kubectl apply -f nginx.yaml
这是生产环境最常用命令。
原因:
声明式部署
而不是:
命令式部署
6. 删除资源
删除 Deployment:
kubectl delete deployment nginx
删除 YAML 中所有资源:
kubectl delete -f nginx.yaml
7. 查看日志
kubectl logs nginx
持续查看:
kubectl logs -f nginx
多容器:
kubectl logs nginx -c app
日志排障最核心命令。
8. 进入容器
kubectl exec -it nginx -- /bin/bash
Alpine 镜像:
kubectl exec -it nginx -- /bin/sh
常用于:
- 查看配置;
- 调试程序;
- 检查网络;
- 测试 DNS;
9. 查看 Deployment
Deployment 负责:
- 副本管理;
- 滚动升级;
- 自动恢复;
kubectl get deployment
输出:
NAME READY
nginx 3/3
10. 扩容副本
kubectl scale deployment nginx --replicas=5
底层原理:
Controller Manager 会:
期望状态 = 5
实际状态 != 5
自动创建 Pod。
11. 滚动更新
更新镜像:
kubectl set image deployment/nginx nginx=nginx:1.25
查看发布状态:
kubectl rollout status deployment/nginx
核心机制:
Rolling Update
特点:
- 不停机;
- 灰度发布;
- 自动替换;
12. 回滚版本
查看历史版本:
kubectl rollout history deployment/nginx
回滚:
kubectl rollout undo deployment/nginx
这是 K8S 发布最核心能力之一。
13. 查看 Service
kubectl get svc
输出:
NAME TYPE CLUSTER-IP
kubernetes ClusterIP 10.0.0.1
Service 作用:
- 服务发现;
- 负载均衡;
- Pod 暴露;
14. 端口转发
kubectl port-forward pod/nginx 8080:80
作用:
本地直接访问 Pod:
localhost:8080
开发调试神器。
15. 查看资源使用情况
kubectl top pod
查看节点:
kubectl top node
前提:
metrics-server 已安装
可查看:
- CPU;
- Memory;