2026/3/23 10:05:52
网站建设
项目流程
正邦做网站多少钱,汕头市营商环境建设监督局网站,杭州网站开发设计,网站开发经理具备什么知识文章目录 前言一、docker运行机制二、云原生概念三、云原生技术栈四、Kubernetes1、k8s是什么2、K8s 与容器运行时的对接流程3、为什么要使用k8s4、k8s集群架构及其组件5、k8s工作流程6、k8s核心概念和资源对象 总结 前言
本文围绕云原生核心体系展开#xff0c;从 Docker 运…文章目录前言一、docker运行机制二、云原生概念三、云原生技术栈四、Kubernetes1、k8s是什么2、K8s 与容器运行时的对接流程3、为什么要使用k8s4、k8s集群架构及其组件5、k8s工作流程6、k8s核心概念和资源对象总结前言本文围绕云原生核心体系展开从 Docker 运行机制切入厘清云原生核心概念与技术栈深度解析 Kubernetes 核心原理、架构、流程及资源对象系统梳理云原生落地核心知识体系。一、docker运行机制在了解k8s前本文介绍下关于docker的运行机制这样可以方便理解k8s具体是什么。docker-cli用户发容器操作命令调用 Docker APIDocker Engine接收请求管理容器生命周期containerd转发请求为容器启动专属containerd-shimcontainerd-shim调用runc创建容器命名空间 /cgrouprunc创建容器后立即退出仅负责初始化containerd-shim持续监控容器进程向 containerd 同步状态二、云原生概念云原生技术帮助企业在公有云、私有云和混合云等动态环境中构建和运行可弹性扩展的应用。公有云公有云是一种云计算服务其基础设施由云服务提供商在互联网上公开提供。与私有云不同公有云上的资源是共享的用户可以按需使用和付费无需拥有或管理基础设施。公有云服务通常提供存储、计算、网络和应用程序服务等资源。常见的公有云服务提供商包括亚马逊云、微软Azure、谷歌云等。私有云私有云是指一种云计算模式是企业或组织在自己的数据中心中搭建的基于云计算技术的自有云平台。与公有云不同私有云完全由企业自己拥有和控制可以提供更高的安全性和灵活性因为企业可以根据自身需求对云计算环境进行定制和管理同时也不需要担心基础设施和数据被外部访问。因此私有云通常被用于托管企业核心应用程序和敏感数据以满足严格的规定和监管要求混合云混合云Hybrid Cloud是指由多个云计算架构、不同的云服务提供商或多种云计算部署模式组成的一个集成的云计算环境。混合云将公有云、私有云、本地IT基础设施和第三方云服务有机地结合起来以满足企业不同的应用场景和需求。三、云原生技术栈云原生 容器化(dockerk8s) 微服务Microservices 无服务Serverless DevOps Service Mesh(服务网络) 云Cloud容器化 (dockerk8s)基于 Docker 打包应用为容器通过 K8s 实现容器的自动化部署、调度、扩缩容与运维是云原生的基础设施核心。微服务将单体应用拆分为独立自治、松耦合的小服务按需部署 / 扩展服务间轻量化通信适配云原生弹性架构。无服务 (Serverless)云厂商托管服务器资源开发者仅写业务代码按执行计费、事件驱动自动弹性扩缩容彻底免管基础设施。DevOps开发与运维一体化的流程 工具体系打通研运壁垒实现持续集成 / 交付 / 部署支撑云原生应用快速迭代。Service Mesh服务网格以轻量代理层如 Sidecar接管微服务间通信解耦网络治理限流 / 熔断 / 监控与业务代码统一管控服务通信。云Cloud按需弹性使用云端的计算、存储、网络等资源池替代自建物理机房是云原生的资源底座。四、Kubernetes1、k8s是什么K8S 是 Kubernetes 的简写K “ubernetes” 中的 8 个字母 SKubernetes 是一个开源平台用于 自动部署、扩展和管理容器化containerized应用程序它可以看作一个负责自动化运维、编排多个容器如由 containerd 驱动的容器的集群管理系统源起Kubernetes 受 Google 的 Borg 系统启发后使用 Go 语言重写并捐赠给 CNCF名称含义源自希腊语意为 “舵手 / 导航者”关键变动从 Kubernetes 1.24 起官方移除对 Docker 的内建支持即移除 dockershim节点必须使用符合 CRIContainer Runtime Interface的运行时如 containerd、CRI-O 等2、K8s 与容器运行时的对接流程K8s 1.24 之前K8s → CRI容器运行时接口 → dockershimK8s 内置的 Docker 适配层 → Docker → 创建容器K8s 1.24 之后K8s → CRI → containerd轻量容器运行时 → 创建容器3、为什么要使用k8sKubernetes 的设计初衷是解决传统部署方式在扩展、管理、容错等方面的困难。以下是它主要解决的问题和带来的好处自动化运维无须人工干预实现一条命令或声明式方式完成部署、更新、扩容、缩容、删除等弹性伸缩依据指标CPU、内存、自定义指标等自动扩展或缩减 Pod 副本数容灾 / 自愈当某个节点或容器失败时K8S 会自动重建或迁移 Pod保证副本数量和期望状态服务发现与负载均衡通过 Service 为 Pod 提供稳定的访问入口并自动分发请求滚动升级与回滚支持渐进式升级一旦出错可以回滚到之前版本 滚动升级多个微服务按次序升级前一个无问题才会升级下一个集中配置与密钥管理通过 ConfigMap 、 Secret 等资源集中管理配置与敏感数据存储编排支持将外部存储NFS、Ceph、云存储等纳入集群资源管理批处理 / 定时任务支持 Job 、 CronJob 用于一次性或定时任务。定时任务创建100个服务应用因为瞬间创建100个可能不行4、k8s集群架构及其组件控制平面Master / Control Plane组件1、api server集群的 API 接口入口负责接收所有资源操作请求增删改查、Watch2、controller-manager运行多种控制器Node 控制器、ReplicaSet 控制器、Service 控制器等确保资源状态符合期望。实现自愈的关键。比如k8s管理的是3个nginx挂了一个会再创一个保证始终有3个3、scheduler对尚未调度的 Pod 选择合适的节点基于预选predicates与优选priorities / scoring策略4、etcd分布式键值存储用于持久化保存所有 Kubernetes 资源的状态数据高可用建议在生产环境中控制平面组件建议部署为多实例、高可用配置避免单点故障。工作节点Node / Worker组件1、kubelet节点上的代理负责接收控制平面下发的 Pod 任务监控、执行、汇报节点与 Pod 状态2、kube-proxy在节点上实现 Service 的网络规则与负载转发通常通过iptables、ipvs 或其他网络模型3、container runtimecontainerd 或 CRI-O 等负责容器镜像拉取、容器启动/停止、资源隔离等底层行为在Kubernetes ≥1.24 中为必选 CRI 运行时5、k8s工作流程核心逻辑用户发请求→控制平面决策→工作节点执行→持续监控自愈「api server」接收用户操作请求创 Pod / 扩缩容等认证校验后将期望状态存入「etcd」「scheduler」从 etcd 读取未调度 Pod按预选 优选策略选定最优 Node 节点「controller-manager」保障资源期望状态触发 Pod 创建指令并同步至 api server目标 Node 的「kubelet」接收 api server 指令执行 Pod / 容器创建实时向 api server 汇报节点 Pod实际状态同步至 etcdNode 的「kube-proxy」自动配置 Service 网络规则实现请求负载转发到后端 Pod「controller-manager」持续对比 etcd 中「期望状态」与「实际状态」异常时自动重建 Pod / 调度节点自愈全程由 api server 中转、etcd 持久化所有状态。6、k8s核心概念和资源对象1PodKubernetes 中最小的可调度单位。可包含一个或多个容器这些容器共享网络、存储等资源。2控制器 Controller用来确保一定数量的 Pod 在运行、自动修复、扩缩、升级等。典型的控制器有• Deployment管理无状态应用• ReplicaSet维持 Pod 副本数• StatefulSet有状态服务• DaemonSet每节点运行一个Pod• Job / CronJob批处理 / 定时任务3Service为一组 Pod 提供稳定且可达的访问入口具有负载均衡功能。Service 通过标签选择器关联 Pod。4Ingress在 HTTP/HTTPS 层面上管理外部访问路由将外部流量导入集群内的Service。5Label / Annotation / SelectorLabel 是资源的键值对标签用于标识、组织和筛选资源Annotation 是用于存放非标识性、较大元数据的字段Selector 用于根据 Label 选择资源。6Namespace命名空间用于将一个 Kubernetes 集群逻辑上划分为多个隔离空间以实现资源隔离、权限管理等。7资源定义结构Kubernetes 资源通常以 YAML/JSON 定义具有 apiVersion 、 kind 、metadata 、 spec 、 status 等字段结构。总结本文系统讲解 Docker 与 K8s 核心机制、云原生概念及技术栈明晰 K8s 架构与工作逻辑掌握这些知识可夯实云原生技术基础支撑微服务容器化落地与集群运维。