kubectl 常用命令

  1. 获取资源信息

    • 获取所有 Pod:kubectl get pods
    • 获取所有 Service:kubectl get services
    • 获取特定 Namespace 中的 Deployment:kubectl get deployment -n <namespace>
  2. 查看资源详细信息

    • 查看 Pod 的详细信息:kubectl describe pod <pod-name>
    • 查看 Service 的详细信息:kubectl describe service <service-name>
  3. 创建资源

    • 创建一个 Pod:kubectl create -f pod.yaml
    • 创建一个 Service:kubectl create -f service.yaml
  4. 应用或更新资源配置

    • 应用或更新一个 Deployment:kubectl apply -f deployment.yaml
    • 应用或更新一个 ConfigMap:kubectl apply -f configmap.yaml
  5. 删除资源

    • 删除一个 Pod:kubectl delete pod <pod-name>
    • 删除一个 Service:kubectl delete service <service-name>
  6. 在容器内执行命令

    • 在 Pod 内的一个容器中执行命令:kubectl exec -it <pod-name> --container <container-name> -- /bin/sh
  7. 获取容器日志

    • 查看 Pod 内容器的日志:kubectl logs <pod-name>
  8. 滚动更新管理

    • 查看滚动更新历史:kubectl rollout history deployment <deployment-name>
    • 回滚到特定版本:kubectl rollout undo deployment <deployment-name> --to-revision=<revision-number>
  9. 调整副本数

    • 将 Deployment 的副本数缩放为 3:kubectl scale deployment <deployment-name> --replicas=3
  10. 查看节点信息

    • 获取节点列表:kubectl get nodes
  11. 管理配置文件

    • 列出当前配置信息:kubectl config view
    • 切换到另一个上下文:kubectl config use-context <context-name>
  12. 为资源添加标签和注释

    • 为一个 Pod 添加标签:kubectl label pod <pod-name> <label-key>=<label-value>
    • 为一个 Pod 添加注释:kubectl annotate pod <pod-name> <annotation-key>=<annotation-value>
  13. 查看集群事件

    • 获取事件列表:kubectl get events
  14. 管理污点和容忍度

    • 为节点添加污点:kubectl taint nodes <node-name> key=value:taint-effect
  15. 查看资源使用情况

    • 查看节点的 CPU 和内存使用情况:kubectl top nodes
    • 查看 Pod 的 CPU 和内存使用情况:kubectl top pods
  16. 快速创建 Pod

    • 快速创建一个 Pod:kubectl run <pod-name> --image=<image-name>
  17. 暂停和继续滚动更新

    • 暂停 Deployment 的滚动更新:kubectl rollout pause deployment <deployment-name>
    • 继续 Deployment 的滚动更新:kubectl rollout resume deployment <deployment-name>
  18. 重新启动滚动更新

    • 重新启动 Deployment 的滚动更新:kubectl rollout restart deployment <deployment-name>
  19. 在容器内进行交互

    • 附加到正在运行的容器:kubectl attach -it <pod-name> -c <container-name>
  20. 解释 Kubernetes 资源字段

    • 解释 Deployment 的字段:kubectl explain deployment
  21. 管理 ConfigMap 和 Secret

    • 获取 ConfigMap 列表:kubectl get configmaps
    • 获取 Secret 列表:kubectl get secrets
  22. 查看 Ingress 资源

    • 获取 Ingress 列表:kubectl get ingress
  23. 设置上下文的配置

    • 设置上下文的配置:kubectl config set-context <context-name> --cluster=<cluster-name> --user=<user-name> --namespace=<namespace>
  24. 从标准输入应用资源配置

    • 通过管道从标准输入应用资源配置:cat deployment.yaml | kubectl apply -f -
  25. 查看滚动更新状态

    • 检查 Deployment 滚动更新状态:kubectl rollout status deployment <deployment-name>
  26. 维护节点

    • 驱逐节点上的所有 Pod:kubectl drain <node-name>
    • 取消维护模式:kubectl uncordon <node-name>
  27. 滚动更新历史和回滚

  • 查看滚动更新历史:kubectl rollout history deployment <deployment-name>
  • 回滚 Deployment 至上一个版本:kubectl rollout undo deployment <deployment-name>
  • 指定特定版本回滚:kubectl rollout undo deployment <deployment-name> --to-revision=<revision-number>
  1. 节点管理
  • 驱逐节点上的所有 Pod:kubectl drain <node-name>
  • 取消维护模式:kubectl uncordon <node-name>
  1. 在容器内交互
  • 附加到正在运行的容器:kubectl attach -it <pod-name> -c <container-name>
  1. 查看资源使用情况
  • 查看节点的 CPU 和内存使用情况:kubectl top nodes
  • 查看 Pod 的 CPU 和内存使用情况:kubectl top pods
  1. 暂停和继续滚动更新
  • 暂停 Deployment 的滚动更新:kubectl rollout pause deployment <deployment-name>
  • 继续 Deployment 的滚动更新:kubectl rollout resume deployment <deployment-name>
  1. 重新启动滚动更新
  • 重新启动 Deployment 的滚动更新:kubectl rollout restart deployment <deployment-name>
  1. 解释 Kubernetes 资源字段
  • 解释 Pod 的字段:kubectl explain pod
  • 解释 Service 的字段:kubectl explain service
  1. 管理 ConfigMap 和 Secret
  • 获取 ConfigMap 列表:kubectl get configmaps
  • 获取 Secret 列表:kubectl get secrets
  1. 查看 Ingress 资源
  • 获取 Ingress 列表:kubectl get ingress
  1. 设置上下文的配置
  • 设置上下文的配置:kubectl config set-context <context-name> --cluster=<cluster-name> --user=<user-name> --namespace=<namespace>
  1. 从标准输入应用资源配置
  • 通过管道从标准输入应用资源配置:cat deployment.yaml | kubectl apply -f -
  1. 查看滚动更新状态
  • 检查 Deployment 滚动更新状态:kubectl rollout status deployment <deployment-name>
  1. 快速创建 Pod
  • 快速创建一个 Pod:kubectl run <pod-name> --image=<image-name>
  1. 应用或更新资源配置
  • 应用或更新一个 Deployment:kubectl apply -f deployment.yaml
  • 应用或更新一个 ConfigMap:kubectl apply -f configmap.yaml
  1. 删除资源
  • 删除一个 Pod:kubectl delete pod <pod-name>
  • 删除一个 Service:kubectl delete service <service-name>
  1. 在容器内执行命令
  • 在 Pod 内的一个容器中执行命令:kubectl exec -it <pod-name> --container <container-name> -- /bin/sh
  1. 获取容器日志
  • 查看 Pod 内容器的日志:kubectl logs <pod-name>
  1. 滚动更新管理
  • 查看滚动更新历史:kubectl rollout history deployment <deployment-name>
  • 回滚到特定版本:kubectl rollout undo deployment <deployment-name> --to-revision=<revision-number>
  1. 调整副本数
  • 将 Deployment 的副本数缩放为 3:kubectl scale deployment <deployment-name> --replicas=3
  1. 查看节点信息
  • 获取节点列表:kubectl get nodes
  1. 管理配置文件
  • 列出当前配置信息:kubectl config view
  • 切换到另一个上下文:kubectl config use-context <context-name>
  1. 为资源添加标签和注释
  • 为一个 Pod 添加标签:kubectl label pod <pod-name> <label-key>=<label-value>
  • 为一个 Pod 添加注释:kubectl annotate pod <pod-name> <annotation-key>=<annotation-value>
  1. 查看集群事件
  • 获取事件列表:kubectl get events
  1. 管理污点和容忍度
  • 为节点添加污点:kubectl taint nodes <node-name> key=value:taint-effect
  1. 查看资源使用情况
  • 查看节点的 CPU 和内存使用情况:kubectl top nodes
  • 查看 Pod 的 CPU 和内存使用情况:kubectl top pods
  1. 快速创建 Pod
  • 快速创建一个 Pod:kubectl run <pod-name> --image=<image-name>
  1. 暂停和继续滚动更新
  • 暂停 Deployment 的滚动更新:kubectl rollout pause deployment <deployment-name>
  • 继续 Deployment 的滚动更新:kubectl rollout resume deployment <deployment-name>
  1. 重新启动滚动更新
  • 重新启动 Deployment 的滚动更新:kubectl rollout restart deployment <deployment-name>
  1. 在容器内进行交互
  • 附加到正在运行的容器:kubectl attach -it <pod-name> -c <container-name>
  1. 解释 Kubernetes 资源字段
  • 解释 Pod 的字段:kubectl explain pod
  • 解释 Service 的字段:kubectl explain service
  1. 管理 ConfigMap 和 Secret
  • 获取 ConfigMap 列表:kubectl get configmaps
  • 获取 Secret 列表:kubectl get secrets
  1. 查看 Ingress 资源
  • 获取 Ingress 列表:kubectl get ingress
  1. 设置上下文的配置
  • 设置上下文的配置:kubectl config set-context <context-name> --cluster=<cluster-name> --user=<user-name> --namespace=<namespace>
  1. 从标准输入应用资源配置
  • 通过管道从标准输入应用资源配置:cat deployment.yaml | kubectl apply -f -
  1. 查看滚动更新状态
  • 检查 Deployment 滚动更新状态:kubectl rollout status deployment <deployment-name>
  1. 快速创建 Pod
  • 快速创建一个 Pod:kubectl run <pod-name> --image=<image-name>
08-20 19:33