【08-初识Kubernetes】

发布时间:2026/7/10 22:45:44
【08-初识Kubernetes】 第一章Kubernetes架构总览为什么要了解架构想想自己需要管理一座城市——需要知道市长办公室在哪控制面、交警怎么指挥交通调度器、负责节点节点代理。Kubernetes就是管理容器化应用这座城市的操作系统。如果不理解架构就不知道一个命令下去会发生什么。Kubernetes 的前身:Google Borg脱胎于Google内部运行了超过15年的管理集群-——Borg。四大核心组件BorgMaster 集群大脑。负责状态管理和决策。【市长角色】Scheduler 智能调度器决定任务跑在哪台机器。【交警指挥中心】Borglet 节点代理管理容器生命周期。【每栋物业】Borgcfg 声明式配置工具。【城市规划蓝图】关键设计思想BorgMaster 使用Paxos协议保证一致性——即使部分节点故障集群状态也不会丢失。这个思想直接传承给了Kubernetes.Kubernetes架构总览设计哲学决策集中任务分布。控制面组件详解控制面是集群的大脑负责全局决策与事件响应。kube-apiserver——集群的唯一入口所有组件之间的通信都通过它所有kuberctl命令最终都达它负责认证、鉴权、准入控制。API Server 集群的前台接待所有访客必须先经过它。etcd——集群的记忆分布式键值存储存储集群的所有数据。高可用、强一致性。如果etcd挂了集群就失忆了。Etcd 是集群的数据库丢了它失去整个集群的状态。kube—scheduler 调度员监听新创建的Pod根据资源需求、亲和性、污点性等条件选择最合适的节点。新来的住户Pod该住在哪栋大楼Node调度员说了算。kube-controller-manager——循环控制执行者包含多个控制器Deployment、ReplicaSet、Node等每个控制器通过控制循环不断对齐期望状态和“实际状态”。要三个副本它就一直盯着少了就加多了就减少。节点组件详解每个工作节点上必须运行以下组件Kubelet ——节点管家确保Pod中的容器正常运行。向API Server汇报节点状态。kube-proxy ——网络规则管理者维护节点上的网络规则iptables/IPVS实现Service的负载均衡。容器运行时—— 实际干活的负载运行容器常见选择containerd 、cri-oAPI与对象模型什么是Kubernetes对象对象是集群中的实体描述你想要什么。比如我想要运行3个nginx副本——Deloyment 对象我想要暴露一个服务——— Server对象我想存储配置信息——ConfigMap 对象核心该概念spec与status 参数状态每个对象都有两个关键字spec 声明我想要什么期望状态status 观测实际状态。控制器持续将实际状态向期望状态对齐并同步更新 status 反映真实情况。对象标识每个对象由三样东西确定Name (用户定义名称)UID 系统自动生成Namespace (命名空间范围)标签范围Label与 选择器Selector标签是附加在对象上的键值是Kubernetes组织资源核心机制metadata: labels: app: nginx env: production tier: frontend选择器通过标签筛选对象kubectl get pods -l appnginx,envproduction命名空间Namespace命名空间在单个集群内实现虚拟隔离适合多个租户场景。kubernetes默认的四个命名空间Defalut 默认命名空间未指定时资源在此。Kube-system 系统组件API Server、调度器。Kube-public 所有用户可读的公共资源。Kube-node-lease 节点心跳数据。对象所有权与垃圾回收对象之间可以有父子关系通过ownerReference字段。删除父对象时可以选择三种策略前台删除先删除子对象再删父对象。后台删除先删除父对象再删子对象。孤立删除只删除父对象子对象保留。比如删除一个Deployment 时默认会级联删除它创建的ReplicaSet和Pod.API Server 请求处理流程。当你执行·kubectl apply -f deploy.yaml·时请求经过以下步骤客户端请求 │ ▼ ① 认证Authentication—— 你是谁 │ ▼ ② 鉴权Authorization—— 你有权限吗 │ ▼ ③ 准入控制Admission Control—— 要不要修改/拒绝 │ ▼ ④ 校验Validation—— 格式合法吗 │ ▼ ⑤ 存储Persist—— 写入 etcd扩展机制Kubernetes 设计之初就考虑了可扩展性CRD :自定义资源类型Webhook 拦截API请求做校验/修改认证模块 : 新增认证方式调度插件自定义调度逻辑网络插件实现Pod网络存储插件对接存储系统日志监控组件日志路径Linux组件路径kube-apiserver/var/log/kube-apiserver.logkube-scheduler/var/log/kube-scheduler.logkube-controller-manager/var/log/kube-controller-manager.logkubelet/var/log/kubelet.log容器日志/var/log/pods/namespace_pod_uid/container/指标采集所有组件通过/metrics端点暴露 Prometheus 格式指标是监控集群健康的基础设施。本章小结你要记住的核心要点架构模式控制面 工作节点决策集中、任务分布控制面四组件API Server、etcd、Scheduler、Controller Manager节点三组件kubelet、kube-proxy、容器运行时对象核心思想spec期望→ 控制器 → status实际API Server 流程认证 → 鉴权 → 准入控制 → 校验 → 存储扩展能力CRD、Webhook、网络/存储/调度插件