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