k8s常用命令
查看集群信息
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命名空间。
更多推荐
所有评论(0)