以下是 Kubernetes 所有常用命令的详细总结,涵盖了 kubectl 的各个方面,包括基本操作、资源管理、调试、监控等。每个命令都附有简要说明和示例。
1. 基本命令
查看 Kubernetes 版本
kubectl version
查看集群信息
kubectl cluster-info
查看当前上下文
kubectl config current-context
列出所有上下文
kubectl config get-contexts
切换上下文
kubectl config use-context <context-name>
2. Pod 操作
列出所有 Pods
kubectl get pods
列出特定命名空间的 Pods
kubectl get pods -n <namespace>
查看 Pod 详细信息
kubectl describe pod <pod-name>
查看 Pod 日志
kubectl logs <pod-name>
查看之前容器的日志
kubectl logs <pod-name> --previous
删除 Pod
kubectl delete pod <pod-name>
创建 Pod
kubectl run <pod-name> --image=<image-name>
执行命令到 Pod 中
kubectl exec -it <pod-name> -- /bin/bash
3. Deployment 操作
列出所有 Deployments
kubectl get deployments
查看 Deployment 详细信息
kubectl describe deployment <deployment-name>
创建 Deployment
kubectl create deployment <deployment-name> --image=<image-name>
更新 Deployment
kubectl set image deployment/<deployment-name> <container-name>=<new-image>
删除 Deployment
kubectl delete deployment <deployment-name>
4. Service 操作
列出所有 Services
kubectl get services
查看 Service 详细信息
kubectl describe service <service-name>
创建 Service
kubectl expose deployment <deployment-name> --type=LoadBalancer --name=<service-name>
删除 Service
kubectl delete service <service-name>
5. Namespace 操作
列出所有 Namespaces
kubectl get namespaces
创建 Namespace
kubectl create namespace <namespace-name>
删除 Namespace
kubectl delete namespace <namespace-name>
6. ConfigMap 和 Secret 操作
列出所有 ConfigMaps
kubectl get configmaps
查看 ConfigMap 详细信息
kubectl describe configmap <configmap-name>
创建 ConfigMap
kubectl create configmap <configmap-name> --from-literal=<key>=<value>
删除 ConfigMap
kubectl delete configmap <configmap-name>
列出所有 Secrets
kubectl get secrets
查看 Secret 详细信息
kubectl describe secret <secret-name>
创建 Secret
kubectl create secret generic <secret-name> --from-literal=<key>=<value>
删除 Secret
kubectl delete secret <secret-name>
7. Node 操作
列出所有 Nodes
kubectl get nodes
查看 Node 详细信息
kubectl describe node <node-name>
标记 Node
kubectl label nodes <node-name> <label-key>=<label-value>
删除 Node
kubectl delete node <node-name>
8. Volume 和 Persistent Volume 操作
列出所有 Persistent Volumes
kubectl get pv
列出所有 Persistent Volume Claims
kubectl get pvc
查看 PVC 详细信息
kubectl describe pvc <pvc-name>
删除 PVC
kubectl delete pvc <pvc-name>
9. Job 和 CronJob 操作
列出所有 Jobs
kubectl get jobs
查看 Job 详细信息
kubectl describe job <job-name>
删除 Job
kubectl delete job <job-name>
列出所有 CronJobs
kubectl get cronjobs
查看 CronJob 详细信息
kubectl describe cronjob <cronjob-name>
删除 CronJob
kubectl delete cronjob <cronjob-name>
10. Ingress 操作
列出所有 Ingress
kubectl get ingress
查看 Ingress 详细信息
kubectl describe ingress <ingress-name>
创建 Ingress
kubectl apply -f <ingress-file.yaml>
删除 Ingress
kubectl delete ingress <ingress-name>
11. 其他常用命令
获取集群资源使用情况
kubectl top pod
kubectl top node
应用配置文件
kubectl apply -f <file.yaml>
删除资源
kubectl delete -f <file.yaml>
导出资源到文件
kubectl get <resource> -o yaml > resource.yaml
查看集群事件
kubectl get events
12. 帮助命令
获取命令帮助
kubectl help
获取特定命令的帮助
kubectl <command> --help
13. 调试命令
查看 Pod 的状态
kubectl get pod <pod-name> -n <namespace> -o wide
查看 Pod 的事件
kubectl describe pod <pod-name> -n <namespace>
进入 Pod 的终端
kubectl exec -it <pod-name> -n <namespace> -- /bin/sh
查看 Node 的资源使用情况
kubectl top node
14. 集群管理命令
查看集群状态
kubectl get cs
查看 API 资源
kubectl api-resources
查看 API 版本
kubectl api-versions