Kubernetes(k8s)基础及原理
什么是Kubernetes(k8s)
Kubernetes 是一个开源的容器编排系统,用于自动化地部署、扩展和管理容器化应用程序。
Kubernetes 源自谷歌内部的 Borg 系统,旨在实现容器化应用的高效管理。它提供了服务发现、负载均衡、自动扩缩容等功能,并支持跨主机的容器管理。Kubernetes 的设计以“一切以服务为中心”为指导思想,通过高级调度、自我修复、自动推出和回滚、水平扩展和负载均衡等特性,实现了对容器化应用的全面自动化管理。
具体来说,Kubernetes 的主要功能包括:
- 自动调度:Kubernetes 提供高级调度器来启动容器,优化资源利用率。
- 自我修复:它能重新调度、替换和重新启动已失效的容器,确保服务的可用性。
- 自动推出和回滚:支持针对容器化应用程序的所需状态进行推出和回滚操作。
- 服务发现与负载均衡:Kubernetes 提供服务发现机制,无需修改应用程序即可使用陌生的服务发现。
- 横向扩展:可以根据要求自动扩展和缩减应用程序。
- 存储编排:自动挂载所选存储系统,包括本地存储和网络存储系统。
- 配置管理:允许部署和更新 Secrets 和应用程序的配置,而无需重新构建容器镜像。
此外,Kubernetes 架构遵循客户端-服务器模式,包含主节点(Master)和工作节点(Node)。主节点负责整个集群的管理,工作节点则负责运行容器。
总之,通过这些功能,Kubernetes 不仅简化了应用部署,还实现了云环境的无缝迁移、资源高效利用以及促进 CI/CD 流程,成为现代云原生应用的重要基础设施
K8S 架构图及各个组件

具体来说,Kubernetes 架构主要包括主节点(Master)和工作节点(Node)。
- 主节点
- API Server:作为整个集群的中心,负责处理REST请求,更新对象状态,调度其他组件。
- Controller Manager:运行控制器,监控集群的状态,确保其处于预期状态。
- Scheduler:根据资源需求、硬件/软件/策略约束等为新创建的Pod选择合适的Node进行绑定。
- etcd:作为持久存储,保存整个集群的配置数据。
 
- 工作节点
- Kubelet:在每个Node上运行,负责该节点的容器生命周期管理。
- Kube-Proxy:为Service提供网络代理及负载均衡服务。
- Docker:或其他容器引擎,根据镜像运行容器实例。
- Volume:提供持久化存储,支持多种类型,如本地存储、网络存储等。
 
- 外部系统
- 云平台:与底层云平台交互,实现资源的动态扩展。
- 企业系统:例如身份验证、监控和日志记录系统,可以通过API Server与集群进行集成。
 
总之,Kubernetes 架构不仅具备强大的容器编排能力,还提供了丰富的组件和灵活的扩展性,使其成为现代云原生应用的重要基础设施。
Kubernetes(k8s)的工作流程:
- 用户提交请求:用户通过kubectl或其他客户端工具提交创建Pod等资源的请求。
- API Server处理请求:API Server接收请求,进行认证和授权检查,然后将资源对象的数据存储到etcd中。
- 调度器选择节点:调度器监听新的Pod创建请求,根据调度算法和策略选择合适的工作节点(Node),并将绑定结果存储回etcd。
- Kubelet执行任务:各个工作节点上的Kubelet定期从API Server获取需要运行的Pod清单,调用容器运行时接口(如Docker)创建和启动容器实例。
- 控制器确保状态同步:各类控制器(如部署控制器、副本集控制器)通过list-watch机制监控API Server中的资源对象状态,确保实际状态与期望状态一致,如有必要,会自动调整以维持期望状态。
这个流程展示了Kubernetes如何通过其组件的紧密协作来自动化管理容器化应用程序,包括服务的部署、更新、扩缩容等操作。
请求访问过程
- service资源通过标签选择器关联具有相同标签的Pod
- 每个service都有一个固定的clusterip,可供在k8s集群内部被访问
- service可以把通过cluster ip发来的请求负载均衡 4层代理转发到它所关联的后端pod上
- ingress可以作为k8s对外暴露的网关接口接收k8s集群外部发来的请求流量
- ingress支持7层代理转发,它可以通过根据不同的域名或者URL访问路径把请求流量转发到不同的service上

以上是k8s的一些基本原理和工作流程,如果有不完整等我有空再补充!!!
    你是砍柴的,他是放羊的,你和他聊了一天,你们决定合作一起开个烤全羊的店,你的柴烤出来的羊很美味,他的羊是纯天然的,几年后,你们的生意就越来越红火了。
没有完美的个人,只有完美的团队
有价值的聊天才是成长的基础。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号