超简单网站,网站优化平台有哪些,哈尔滨网站制作哪儿好薇,网站做调查需要考虑的内容文章目录 1 K8S总体架构2 相关组件2.1 控制面板组件2.2 节点组件2.3 附加组件 写在最后 1 K8S总体架构
K8S#xff0c;全称Kubernetes#xff0c;是一个开源的容器部署和管理平台#xff0c;由Google开发#xff0c;后捐献给云原生计算基金会#xff08;CNCF#xff09;… 文章目录 1 K8S总体架构2 相关组件2.1 控制面板组件2.2 节点组件2.3 附加组件 写在最后 1 K8S总体架构
K8S全称Kubernetes是一个开源的容器部署和管理平台由Google开发后捐献给云原生计算基金会CNCF。K8S提供了容器编排、容器运行时、以容器为中心的基础设施编排、负载平衡、自我修复机制和服务发现等功能。K8S的架构采用主从设备模型Master-Slave架构即由Master节点负责集群的调度、管理和运维Slave节点作为集群中的运算工作负载节点。
中央控制节点Master Node 位于集群的中心包含API Server、Scheduler、Controller Manager和etcd等组件。这些组件协同工作负责集群的管理、调度和状态监控。工作节点Worker Node 围绕在Master Node周围每个Node节点上运行Kubelet、Kube-Proxy和容器运行时等组件。这些节点负责执行Master节点分配的任务运行和管理容器实例。Pod Pod是Kubernetes中的最小调度单元由一个或多个容器组成这些容器共享存储和网络资源。Pod是Kubernetes生态系统中的核心管理单元。作为最小调度单元分布在各个Node节点上由容器组成共享存储和网络资源。服务Service 为Pod提供稳定的网络接入点实现服务发现和负载均衡。 2 相关组件
K8S的控制面板组件Master是集群的核心部分负责整个集群的管理和调度。这些组件协同工作确保了Kubernetes集群的稳定运行和高效管理。而K8S的节点组件主要包括Node节点上的组件这些组件负责在Node节点上运行容器化应用并与管理节点Master节点进行通信。
2.1 控制面板组件
etcd ● 功能etcd是一个高度可靠的分布式键值存储用于存储集群配置信息的持久化存储。etcd保存了Kubernetes集群的所有状态数据如Pods、Services等资源的定义和状态。当数据发生变化时etcd会快速地通知Kubernetes相关组件。 ● 特点etcd是一个独立的服务组件并不隶属于Kubernetes集群。在生产环境中etcd通常以集群方式运行以确保服务的可用性。kube-apiserver ● 功能kube-apiserver是Kubernetes集群的API服务器是集群的前端服务器提供了HTTP/HTTPS RESTful API即Kubernetes API。所有的请求都需要经过这个接口进行通信。它负责接收、校验并响应所有的REST请求并将结果状态持久化存储在etcd中。 ● 认证与授权kube-apiserver支持多种身份验证机制如基于令牌、证书和用户名/密码的身份验证。同时它还使用RBACRole-Based Access Control机制来管理Kubernetes资源的授权。 ● 架构kube-apiserver的架构是一个多层的系统由HTTP Server提供HTTP(S)服务。所有的API请求都通过HTTP(S)进行传输并由kube-apiserver处理。kube-controller-manager ● 功能kube-controller-manager是Kubernetes集群中的控制器管理器负责管理集群中所有的控制器controller。这些控制器包括节点控制器Node Controller、副本控制器Replication Controller等。它们不断地监听集群状态变化并根据期望状态和实际状态的差异来进行调谐。 ● 架构从逻辑上讲每个控制器都是一个单独的进程但为了降低复杂性它们都被编译到同一个可执行文件并在同一个进程中运行。cloud-controller-manager可选 ● 功能cloud-controller-manager用于管理与特定云平台相关的控制器。它的作用是将云平台的功能封装成Kubernetes的API以便与其他组件进行交互。kube-scheduler ● 功能kube-scheduler是Kubernetes集群的默认调度器负责将新创建的Pod调度到合适的节点上。调度决策考虑的因素包括单个Pod及Pods集合的资源需求、软硬件及策略约束、亲和性及反亲和性规范、数据位置、工作负载间的干扰及最后时限等。 ● 调度算法kube-scheduler通过Predicate预选和Priority优选两种调度算法来选择最合适的节点。Predicate用于过滤掉不满足条件的节点Priority用于在剩余节点中选择优先级最高的节点。
2.2 节点组件
kubelet在每个节点上运行的代理负责管理该节点上的容器、Pod 和容器相关的资源。是节点与主节点通信的桥梁执行主节点下发的指令。kube-proxy网络代理负责实现 Kubernetes 服务的网络抽象和负载均衡。它将对服务的访问转发到后端的一组 Pod 上。提供服务的网络访问能力确保服务的可靠性和可扩展性。容器运行时Container Runtime负责在节点上运行容器的运行时环境。Kubernetes 支持多种容器运行时如 Docker、containerd、CRI-O 等。是容器化应用运行的基础提供容器的创建、运行和管理能力。
2.3 附加组件
kube-dns/corednsDNS 服务负责为 Pod 提供 DNS 解析服务使得在集群内部可以使用域名来访问其他服务。Ingress Controller负责将外部流量引入到集群内部的服务并执行负载均衡、SSL 终止等功能。Monitoring and Logging用于监控和日志记录集群中的应用程序和基础设施如 Prometheus、EFK Stack 等。Cluster Autoscaler自动扩展集群节点数量根据负载情况自动增加或减少节点数量以满足需求。Horizontal Pod Autoscaler自动扩展 Pod 的副本数量根据 CPU 使用率或自定义指标调整 Pod 的数量。 写在最后 本文已被专栏 Kubernetes 收录欢迎 点击订阅专栏 以上便是本文的全部内容啦创作不易如果你有任何问题欢迎私信感谢您的支持