【赵渝强老师】Kubernetes的体系架构

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 本文介绍了Kubernetes的体系架构及其核心组件。Kubernetes采用主从分布式架构,由master主节点和多个node工作节点组成。master节点负责集群管理和调度,运行API Server、scheduler、controller-manager等服务组件;node节点运行kubelet、kube-proxy和Docker容器守护进程,负责实际业务应用的运行。文章还简要介绍了Kubernetes的附加组件及其作用。

b004.png

在学习Kubernetes之前,有必要了解一下它的体系架构及其组件。这对于后续部署Kubernetes集群及使用它都非常的重要。下图展示了Kubernetes的体系架构。


Kubernetes属于主从分布式架构的体系架构,主要包括master的主节点和node的工作节点。实际的生产环境中,node的工作节点至少两个。


视频讲解如下:


下面对master和node做一个简单的介绍。


  • master


master作为集群的主节点,它控制着整个集群并对集群进行管理和调度。master节点上运行着API Server、scheduler、controll-manager各个具体的服务组件,并master还管理着集群的持久化存储etcd。


  • node


node节点是Kubernetes集群真正的工作节点,它是实际运行业务应用容器的节点。node节点上运行着kubelet、kube-proxy和Docker容器的守护进程。node节点通过kubelet与master节点上的API Server进行交互,从而实现在集群中进行各种资源的增删改查等操作。



除了master的主节点和node的工作节点外,Kubernetes体系架构中还包括客户端命令行工具kubectl和其它一些附加组件。下面讨论一下Kubernetes集群中的组件。


一、Kubernetes的核心组件


在了解了Kubernetes的体系架构后,下面对其中涉及到的核心组件及其它们的作用进行了详细说明。


  • API Server


API Server提供了操作Kubernetes集群的唯一入口,通过它可以访问到集群中的所有资源。API Server提供了用户的认证及授权功能;支持访问控制的管理和服务的注册发现等机制。API Server同时也与etcd的存储进行交互,从而将集群的信息进行持久化保存。


  • scheduler


负责管理和调度集群的资源。Kubernetes允许用户预先定义资源的调度策略,通过scheduler的调度器将Pod调度到相应的node节点上。


  • controll-manager

负责维护集群的状态,例如:故障检测、自动扩展、滚动更新等。


  • kubelet


负责管理node节点上运行的pod,包括:pod的创建、修改、删除、重启以及健康状态的监控等操作。kubelet同时还负责与master节点上的API Server进行交互通信,定时将本node节点的状态发送给API Server;并接收API Server 下发的指令信息。


  • kube-proxy

kube-proxy会根据etcd中存储的应用配置信息在node节点上启动一个监听进程,从而实现将外部请求路由转发到后端正确的容器中。同时kube-proxy还解决了同一服务端口冲突的问题,并为部署在Kubernetes集群中的应用提供访问外部网络的能力。kube-porxy支持随机和轮询这两种负载均衡的路由算法。


  • Docker容器的守护进程

负责Docker的镜像管理以及pod和容器的真正运行,是Kubernetes真正的执行引擎。


Docker是Kubernetes的执行引擎,但Kubernetes也可以使用其他的容器技术作为执行引擎。


二、Kubernetes的附加组件


下表列举了在Kubernetes中一些常用的附加组件以及它们的作用,这些附加组件不是必须的。只是利用这些组件可以增强Kubernetes的功能。




相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
7天前
|
Kubernetes 监控 调度
【赵渝强老师】K8s的DaemonSet控制器
DaemonSet控制器确保每个节点上运行一个Pod副本,适用于监控、日志收集等场景。通过示例创建DaemonSet并查看Pod信息,展示了其自动扩展和回收的能力。视频讲解和代码示例详细说明了DaemonSet的使用方法和调度机制。
|
7天前
|
Kubernetes 调度 容器
【赵渝强老师】K8s中Job控制器单工作队列的串行方式
Kubernetes中的Job控制器用于管理一次性任务,确保任务完成后不再重启。本文介绍了Job的工作原理、运行方式及示例,包括创建Job、查看Job和Pod信息等步骤,并附有视频讲解。
|
7天前
|
Kubernetes 双11 容器
【赵渝强老师】Kubernetes中的控制器
Kubernetes通过控制器管理Pod的生命周期,以应对不同场景需求,如Deployment、DaemonSet、Job等。控制器可自动调整Pod数量和重启故障Pod,确保系统稳定运行。视频讲解和详细内容见下文。
|
7天前
|
大数据
【赵渝强老师】大数据主从架构的单点故障
大数据体系架构中,核心组件采用主从架构,存在单点故障问题。为提高系统可用性,需实现高可用(HA)架构,通常借助ZooKeeper来实现。ZooKeeper提供配置维护、分布式同步等功能,确保集群稳定运行。下图展示了基于ZooKeeper的HDFS HA架构。
|
7天前
|
存储 Kubernetes Docker
【赵渝强老师】Kubernetes中Pod的基础容器
Pod 是 Kubernetes 中的基本单位,代表集群上运行的一个进程。它由一个或多个容器组成,包括业务容器、基础容器、初始化容器和临时容器。基础容器负责维护 Pod 的网络空间,对用户透明。文中附有图片和视频讲解,详细介绍了 Pod 的组成结构及其在网络配置中的作用。
【赵渝强老师】Kubernetes中Pod的基础容器
|
5天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
5天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
5天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
6天前
|
存储 监控 Docker
探索微服务架构下的容器化部署
本文旨在深入探讨微服务架构下容器化部署的关键技术与实践,通过分析Docker容器技术如何促进微服务的灵活部署和高效管理,揭示其在现代软件开发中的重要性。文章将重点讨论容器化技术的优势、面临的挑战以及最佳实践策略,为读者提供一套完整的理论与实践相结合的指导方案。
|
7天前
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】K8s中的Deployment控制器
Kubernetes中的Deployment用于部署无状态应用程序,管理Pod的数量、更新方式和资源限制。通过创建和管理ReplicaSet,Deployment可以实现Pod的自动扩缩容、滚动更新和回滚。本文介绍了Deployment的基本概念,并通过一个具体的示例演示了如何使用Deployment创建、更新和管理Pod。

相关产品

  • 容器服务Kubernetes版