kubectl 常用操作指南
kubectl
是 Kubernetes 的命令行工具,用于与 Kubernetes 集群交互。以下是一些常用操作,涵盖集群管理、资源操作、调试和日志查看等场景。
1. 集群信息查看
命令 |
说明 |
kubectl cluster-info |
查看集群信息 |
kubectl get nodes |
查看所有节点状态 |
kubectl describe node <node-name> |
查看节点详细信息 |
kubectl version |
查看 kubectl 和集群版本 |
2. 命名空间(Namespace)操作
命令 |
说明 |
kubectl get ns |
查看所有命名空间 |
kubectl create ns <namespace> |
创建命名空间 |
kubectl delete ns <namespace> |
删除命名空间 |
kubectl config set-context --current --namespace=<namespace> |
切换当前命名空间 |
3. Pod 操作
命令 |
说明 |
kubectl get pods |
查看当前命名空间的 Pod |
kubectl get pods -A |
查看所有命名空间的 Pod |
kubectl describe pod <pod-name> |
查看 Pod 详细信息 |
kubectl logs <pod-name> |
查看 Pod 日志 |
kubectl logs -f <pod-name> |
实时查看 Pod 日志(类似 tail -f ) |
kubectl exec -it <pod-name> -- /bin/sh |
进入 Pod 的 Shell |
kubectl delete pod <pod-name> |
删除 Pod |
kubectl port-forward <pod-name> <local-port>:<pod-port> |
端口转发(访问 Pod 服务) |
4. Deployment 操作
命令 |
说明 |
kubectl get deployments |
查看所有 Deployments |
kubectl describe deployment <deployment-name> |
查看 Deployment 详情 |
kubectl apply -f deployment.yaml |
应用 Deployment YAML 文件 |
kubectl delete deployment <deployment-name> |
删除 Deployment |
kubectl scale deployment <deployment-name> --replicas=3 |
调整 Pod 副本数量 |
kubectl rollout status deployment <deployment-name> |
查看 Deployment 更新状态 |
kubectl rollout undo deployment <deployment-name> |
回滚 Deployment |
5. Service 操作
命令 |
说明 |
kubectl get svc |
查看所有 Service |
kubectl describe svc <service-name> |
查看 Service 详情 |
kubectl expose deployment <deployment-name> --type=NodePort --port=80 |
创建 Service 暴露 Deployment |
kubectl delete svc <service-name> |
删除 Service |
6. ConfigMap & Secret 操作
命令 |
说明 |
kubectl get configmaps |
查看 ConfigMap |
kubectl create configmap <name> --from-file=<file> |
从文件创建 ConfigMap |
kubectl get secrets |
查看 Secrets |
kubectl create secret generic <name> --from-literal=key=value |
创建 Secret |
7. 调试与故障排查
命令 |
说明 |
kubectl top pod |
查看 Pod 资源使用情况 |
kubectl top node |
查看 Node 资源使用情况 |
kubectl get events --sort-by=.metadata.creationTimestamp |
查看集群事件 |
kubectl cp <pod-name>:<pod-path> <local-path> |
从 Pod 复制文件到本地 |
kubectl run debug-pod --image=busybox --restart=Never --rm -it -- sh |
启动临时调试 Pod |
8. 其他实用命令
命令 |
说明 |
kubectl api-resources |
查看所有 Kubernetes 资源类型 |
kubectl explain <resource> |
查看资源的 YAML 字段说明 |
kubectl edit <resource> <name> |
直接编辑资源(如 kubectl edit deployment nginx ) |
kubectl apply -f <directory> |
应用目录下的所有 YAML 文件 |
kubectl wait --for=condition=Ready pod/<pod-name> |
等待 Pod 就绪 |
总结
kubectl get
:查询资源
kubectl describe
:查看详细信息
kubectl logs
:查看日志
kubectl exec
:进入 Pod
kubectl apply/delete
:创建/删除资源
kubectl rollout
:管理 Deployment 更新
这些命令覆盖了大部分 Kubernetes 日常操作,适合开发、运维和调试使用。