k8s 命令大全

Kubernetes (K8s) 提供了丰富的 kubectl 命令用于管理集群、Pod、服务等。以下是 K8s 常见命令大全:


📌 一、基本命令

kubectl version                   # 查看 kubectl 和集群的版本
kubectl cluster-info              # 查看集群信息
kubectl get nodes                 # 查看所有节点
kubectl get pod                   # 查看所有 Pod
kubectl get svc                   # 查看所有服务
kubectl get deployments           # 查看所有 Deployment
kubectl get all                   # 获取所有资源(Pod、Service、Deployment 等)
kubectl config view               # 查看当前 kubeconfig 配置
kubectl config use-context <name> # 切换 K8s 集群环境

📌 二、Pod 操作

kubectl get pods -o wide                          # 查看 Pod 详细信息
kubectl describe pod <pod_name>                   # 查看 Pod 详情
kubectl logs <pod_name>                           # 查看 Pod 日志
kubectl logs -f <pod_name>                        # 实时查看 Pod 日志
kubectl logs <pod_name> -c <container_name>       # 指定容器查看日志(多容器 Pod)
kubectl exec -it <pod_name> -- /bin/sh            # 进入 Pod(alpine, busybox)
kubectl exec -it <pod_name> -- /bin/bash          # 进入 Pod(常见 Linux 发行版)
kubectl delete pod <pod_name>                     # 删除 Pod
kubectl delete pod --all                          # 删除所有 Pod
kubectl get pod --field-selector=status.phase=Running  # 查询运行中的 Pod

📌 三、Deployment 操作

kubectl create deployment <name> --image=<image>    # 创建 Deployment
kubectl get deployments                             # 查看所有 Deployment
kubectl describe deployment <name>                 # 查看 Deployment 详情
kubectl scale deployment <name> --replicas=<num>   # 扩缩容
kubectl delete deployment <name>                   # 删除 Deployment
kubectl rollout status deployment <name>           # 查看滚动更新状态
kubectl rollout undo deployment <name>             # 回滚 Deployment

📌 四、Service(服务)操作

kubectl expose deployment <name> --type=NodePort --port=80  # 创建 Service
kubectl get services                                        # 查看所有 Service
kubectl describe service <name>                            # 查看 Service 详情
kubectl delete service <name>                              # 删除 Service

📌 五、ConfigMap 和 Secret

kubectl create configmap <name> --from-literal=key=value    # 创建 ConfigMap
kubectl get configmap                                       # 查看 ConfigMap
kubectl describe configmap <name>                          # 查看 ConfigMap 详情
kubectl delete configmap <name>                            # 删除 ConfigMap

kubectl create secret generic <name> --from-literal=key=value  # 创建 Secret
kubectl get secret                                            # 查看 Secret
kubectl describe secret <name>                                # 查看 Secret 详情
kubectl delete secret <name>                                  # 删除 Secret

📌 六、Namespace(命名空间)

kubectl get namespaces                         # 查看所有命名空间
kubectl create namespace <name>                # 创建命名空间
kubectl delete namespace <name>                # 删除命名空间
kubectl get pods -n <namespace>                # 查看指定命名空间的 Pod
kubectl config set-context --current --namespace=<name>  # 切换默认命名空间

📌 七、YAML 文件管理

kubectl apply -f <file>.yaml      # 通过 YAML 文件创建资源
kubectl delete -f <file>.yaml     # 通过 YAML 文件删除资源
kubectl get -f <file>.yaml        # 通过 YAML 查询资源
kubectl edit -f <file>.yaml       # 编辑 YAML 文件

📌 八、其他实用命令

kubectl top node                  # 查看节点资源使用情况
kubectl top pod                   # 查看 Pod 资源使用情况
kubectl cp <pod>:<file> <local>   # 从 Pod 拷贝文件到本地
kubectl cp <local> <pod>:<file>   # 从本地拷贝文件到 Pod
kubectl port-forward <pod> 8080:80  # 端口转发(本地 8080 -> Pod 80)
kubectl drain <node> --ignore-daemonsets  # 驱逐节点上的 Pod
kubectl cordon <node>                     # 标记节点为不可调度
kubectl uncordon <node>                   # 取消不可调度
kubectl taint nodes <node> key=value:NoSchedule  # 给节点添加污点
kubectl get events --sort-by=.metadata.creationTimestamp  # 查看最新事件

这份 Kubernetes 命令大全涵盖了常见操作,如果你需要更详细的帮助,可以使用:

kubectl help
kubectl <command> --help
posted @ 2025-03-07 19:57  蒲公英PGY  阅读(1656)  评论(0)    收藏  举报