查看集群信息

kubectl cluster-info 显示集群的基本信息,包括Master和服务的地址。
kubectl get nodes 列出所有节点及其状态(Ready、NotReady等)。
kubectl describe node <node-name> 查看特定节点的详细资源分配和运行状态。

操作命名空间

kubectl get ns 列出所有命名空间。
kubectl create ns <namespace> 创建新的命名空间。
kubectl config set-context --current --namespace=<namespace> 切换当前操作的命名空间。

管理Pod

kubectl get pods -n <namespace> 查看指定命名空间的Pod列表。
kubectl describe pod <pod-name> 显示Pod的详细状态、事件和配置。
kubectl logs <pod-name> -c <container-name> 查看Pod内容器的日志(多容器时需指定容器名)。
kubectl exec -it <pod-name> -- /bin/sh 进入Pod的交互式Shell。

部署与管理资源

kubectl apply -f <yaml-file> 通过YAML文件创建或更新资源。
kubectl delete -f <yaml-file> 删除YAML文件中定义的资源。
kubectl get deployments 查看所有部署(Deployment)。
kubectl scale deployment <deployment-name> --replicas=<number> 调整Deployment的副本数。

服务与网络

kubectl get svc 列出所有服务(Service)。
kubectl expose deployment <deployment-name> --port=<port> --type=NodePort 为Deployment创建Service并暴露端口。
kubectl port-forward <pod-name> <local-port>:<pod-port> 将本地端口映射到Pod端口,用于临时访问。

调试与故障排查

kubectl top pod 查看Pod的资源使用情况(需安装Metrics Server)。
kubectl get events --sort-by=.metadata.creationTimestamp 按时间排序查看集群事件。
kubectl rollout status deployment/<deployment-name> 监控Deployment的滚动更新状态。

配置管理

kubectl get configmaps 列出所有ConfigMap。
kubectl get secrets 列出所有Secret。
kubectl edit <resource-type> <resource-name> 直接编辑资源的配置(如kubectl edit deployment/nginx)。

其他常用命令

kubectl api-resources 显示所有支持的资源类型及其缩写。
kubectl version --short 查看客户端和服务器端的Kubernetes版本。
kubectl cordon <node-name> 标记节点为不可调度,用于维护。
kubectl uncordon <node-name> 恢复节点的可调度状态。

注意:

  • 命令中的<namespace><pod-name>等需替换为实际值。
  • 部分命令需结合-n <namespace>指定命名空间,否则默认操作default命名空间。

更多推荐