Kubernetes(k8s)基础命令的 7 大核心模块

K8s基础命令七大模块解析

K8s 基础命令的 7 大核心模块

Kubernetes(k8s)基础命令可根据核心功能场景划分为 7 大模块,覆盖从 “集群管理” 到 “资源运维” 的全流程操作。每个模块聚焦一类核心任务,

一、集群与节点管理模块(集群基础架构)

作用:查看集群状态、节点信息,管理节点(如标记污点、调度策略),是集群运维的基础。

高频命令

命令核心用途示例
kubectl get nodes列出集群所有节点及状态(Ready/NotReady)kubectl get nodes -o wide(显示节点 IP、资源等详情)
kubectl describe node <节点名>查看节点详细信息(资源、污点、标签、事件)kubectl describe node node-1(排查节点异常的核心命令)
kubectl top node查看节点 CPU、内存使用率(需 metrics-server)kubectl top node(实时监控节点资源负载)
kubectl cordon <节点名>标记节点为 “不可调度”(阻止新 Pod 调度)kubectl cordon node-1(节点维护前的准备操作)
kubectl uncordon <节点名>解除节点 “不可调度” 标记kubectl uncordon node-1(维护完成后恢复调度)
kubectl drain <节点名>排空节点(驱逐 Pod 并标记不可调度,用于维护)kubectl drain node-1 --ignore-daemonsets(忽略 DaemonSet 的 Pod)

二、Pod 管理模块(最小部署单元)

作用:管理 Pod 的生命周期(创建、查看、删除、进入容器等),Pod 是 k8s 中运行容器的最小单位。

高频命令

命令核心用途示例
kubectl get pods列出当前命名空间的 Pod 及状态(Running/Pending 等)kubectl get pods -n kube-system(查看系统命名空间 Pod)、kubectl get pods -o wide(显示运行节点和 IP)
kubectl describe pod <Pod名>查看 Pod 详细信息(容器状态、事件、挂载、资源)kubectl describe pod nginx-7f9b7c976c-2xq8l(排查 Pod 启动失败原因)
kubectl logs <Pod名>查看 Pod 中容器的日志kubectl logs <Pod名> -c <容器名>(指定容器)、kubectl logs -f <Pod名>(实时跟踪日志)
kubectl exec -it <Pod名> -- <命令>进入 Pod 的容器执行命令(交互式终端)kubectl exec -it nginx-pod -- /bin/bash(进入容器终端)
kubectl create pod <Pod名> --image=<镜像>快速创建测试用 Pod(生产建议用控制器)kubectl create pod test-nginx --image=nginx:latest
kubectl delete pod <Pod名>删除指定 Pod(控制器管理的 Pod 会自动重建)kubectl delete pod nginx-pod

三、工作负载管理模块(Pod 编排控制器)

作用:通过 Deployment、StatefulSet、DaemonSet 等控制器管理 Pod,实现 Pod 的自动伸缩、滚动更新、自愈等。

高频命令

命令核心用途示例
kubectl get deployments列出 Deployment(无状态应用控制器)kubectl get deploy -o wide(显示副本数、更新策略)
kubectl create deployment <名称> --image=<镜像>创建 Deployment(自动管理 Pod 副本)kubectl create deployment nginx-deploy --image=nginx:latest
kubectl scale deployment <名称> --replicas=<数量>调整 Deployment 的 Pod 副本数(扩缩容)kubectl scale deployment nginx-deploy --replicas=3
kubectl set image deployment/<名称> <容器名>=<新镜像>更新 Deployment 的容器镜像(滚动更新)kubectl set image deployment/nginx-deploy nginx=nginx:1.23
kubectl rollout status deployment/<名称>查看 Deployment 更新进度kubectl rollout status deployment/nginx-deploy
kubectl rollout undo deployment/<名称>回滚 Deployment 到上一版本kubectl rollout undo deployment/nginx-deploy
kubectl get statefulsets列出 StatefulSet(有状态应用控制器,如数据库)kubectl get sts(sts 为缩写)
kubectl get daemonsets列出 DaemonSet(每个节点运行一个 Pod,如监控代理)kubectl get ds -n kube-system

四、服务与网络模块(Pod 通信与访问)

作用:管理 Service(Pod 的访问入口)、Ingress(外部流量入口)、网络策略等,实现 Pod 间及外部与 Pod 的通信。

高频命令

命令核心用途示例
kubectl get services列出 Service(Pod 的固定访问入口)kubectl get svc -o wide(显示类型、ClusterIP、端口映射)
kubectl expose deployment <部署名> --port=<端口> --type=<类型>为 Deployment 创建 Servicekubectl expose deployment nginx-deploy --port=80 --type=NodePort(创建 NodePort 类型,外部可访问)
kubectl get ingresses列出 Ingress(外部 HTTP/HTTPS 路由管理)kubectl get ing(ing 为缩写)
kubectl describe service <服务名>查看 Service 详细信息(关联 Pod、端点等)kubectl describe svc nginx-svc
kubectl get endpoints <服务名>查看 Service 关联的 Pod 端点(确认绑定是否正常)kubectl get ep nginx-svc(ep 为 endpoints 缩写)

五、配置与存储模块(数据持久化与配置)

作用:管理 ConfigMap(非敏感配置)、Secret(敏感信息)及 PV/PVC(持久化存储),确保配置可复用、数据不丢失

高频命令

命令核心用途示例
kubectl get configmaps列出 ConfigMap(存储非敏感配置,如环境变量)kubectl get cm(cm 为缩写)
kubectl create configmap <名称> --from-literal=<键=值>创建 ConfigMapkubectl create configmap app-config --from-literal=env=prod --from-literal=log_level=info
kubectl get secrets列出 Secret(存储敏感信息,如密码、证书,自动加密)kubectl get secrets -o yaml(查看解密后的内容,需 base64 解码)
kubectl create secret generic <名称> --from-literal=<键=值>创建通用 Secretkubectl create secret generic db-creds --from-literal=username=admin --from-literal=password=123456
kubectl get persistentvolumes列出 PV(持久卷,集群级存储资源)kubectl get pv
kubectl get persistentvolumeclaims列出 PVC(持久卷声明,Pod 申请存储的接口)kubectl get pvc

六、命名空间与资源配额模块(资源隔离与限制)

作用:通过命名空间实现多环境 / 团队的资源隔离,通过资源配额限制资源使用上限,避免资源抢占冲突

高频命令

命令核心用途示例
kubectl get namespaces列出集群所有命名空间(实现资源隔离)kubectl get ns(ns 为缩写)
kubectl create namespace <名称>创建新命名空间(隔离不同环境,如 dev/prod)kubectl create namespace dev
kubectl -n <命名空间> get pods操作指定命名空间的资源(默认是 default)kubectl -n dev get pods(查看 dev 命名空间的 Pod)
kubectl get resourcequotas列出资源配额(限制命名空间的资源使用)kubectl get quota -n dev
kubectl describe namespace <名称>查看命名空间详情(包含资源配额、标签)kubectl describe ns dev

七、集群安全与权限模块(访问控制)

作用:基于 RBAC 模型管理 ServiceAccount、角色及绑定关系,控制用户 / 服务对集群资源的访问权限,保障集群安全

高频命令

命令核心用途示例
kubectl get serviceaccounts列出 ServiceAccount(Pod 的身份账号)kubectl get sa -n kube-system(sa 为缩写)
kubectl get roles列出 Role(命名空间内的权限规则)kubectl get roles -n dev
kubectl get rolebindings列出 RoleBinding(将 Role 绑定到用户 / ServiceAccount)kubectl get rolebindings -n dev
kubectl get clusterroles列出 ClusterRole(集群级的权限规则)kubectl get clusterroles
kubectl get clusterrolebindings列出 ClusterRoleBinding(绑定 ClusterRole 到用户)kubectl get clusterrolebindings

总结

k8s 命令的 7 大模块逻辑清晰,覆盖 “集群基础→Pod 生命周期→应用编排→网络通信→数据管理→资源隔离→安全控制” 的全流程:

  1. 集群与节点:掌控集群硬件资源状态;
  2. Pod 管理:操作最小部署单元,是日常排查的核心;
  3. 工作负载:通过控制器实现 Pod 的自动化管理;
  4. 服务与网络:解决 Pod 通信与外部访问问题;
  5. 配置与存储:管理应用配置和数据持久化;
  6. 命名空间:实现多环境、多团队的资源隔离;
  7. 安全与权限:通过 RBAC 控制资源访问权限。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值