Kubernetes是云技术的核心部分,也是云原生技术的基础。通过@mikechen 了解有关Kubernetes 的更多信息。
本文收录于mikechen的30万+字原文《阿里架构师进阶专题合集》。
kubernetes是什么
Kubernetes(也称为K8s)是一个强大、灵活且可扩展的容器编排平台。
Kubernetes 最初由Google 开发,然后捐赠给云原生计算基金会(CNCF)进行维护。
kubernetes功能特点
Kubernetes主要解决四个关键点:
1.自动化运维平台
小型企业和大型互联网公司都可以使用Kubernetes 构建自动化运维平台。
如下所示:
Kubernetes 和Docker 共同实现开发、测试和生产环境之间的一致性,并通过集成的容器部署和编排机制来维护环境之间的一致性。
2. 容器编排
Kubernetes 提供强大的容器编排能力,让您能够自动管理和调度容器化应用的部署、扩展、更新和维护。
3. 弹性和可扩展性
弹性和伸缩是Kubernetes 的关键特性,应用程序可以通过自动水平扩展、手动扩展、集群节点自动扩展等机制根据负载情况自动调整。
4、运维自动化
Kubernetes 实现了很多自动化维护功能,包括自动容灾、自动滚动更新、自动扩容、自动伸缩等。
通过自动检测和处理集群内的故障和异常,并根据预设策略自动调整应用状态和副本数量,实现高度自动化的运维管理。
kubernetes原理
Kubernetes 通过一个主节点和多个工作节点协同工作来工作。
Kubernetes的整体架构如下图所示。
整体架构包括Masterer和Node节点。
主节点
Kubernetes集群的控制中心是主节点,负责管理集群状态、调度应用程序、监控集群状态等。
主节点由API 服务器、调度器、控制器管理器等多个组件组成。
1.API服务器
API Server是Kubernetes集群与外界通信的主要组件,提供统一的、可扩展的接口,让用户和外部系统能够轻松地操作和管理Kubernetes集群。
集群内的所有操作,例如创建、更新和删除资源对象(Pod、服务、部署等),都是通过API Server 执行的。
此外,API服务器还负责集群的整体功能,如身份验证、授权、访问控制、服务发现等功能。
2. 调度程序
调度器是Kubernetes 集群中负责调度pod 的主要组件,它使用智能调度算法来确保集群中的pod 被适当地分配到每个节点。
3. 控制器管理器
控制器管理器是Kubernetes 的大脑,它是一组控制器,用于监视集群的状态并根据用户定义的所需状态进行调整。
如下所示:
4.etcd
etcd 是Kubernetes 集群内的分布式键/值存储系统,用于持久存储集群状态信息。
etcd 存储集群配置信息、节点状态、服务发现等。
API 服务器、调度程序和控制器管理器都将集群状态更改写入etcd。
工作节点
工作节点(也称为节点)是Kubernetes 集群中的工作节点,负责运行应用程序的容器实例。
每个工作节点都运行一个名为Kubelet 的Kubernetes 组件,它是节点上的代理,负责与主节点通信并管理节点上的容器。
kubernetes和Docker的关系
Kubernetes 和Docker 之间的关系类似于操作系统和应用程序之间的关系。
Docker提供了容器技术的实现,Kubernetes提供了编排和管理容器的平台。
Kubernetes 本身与Docker 无关,但它可以支持的容器包括Docker、containerd、cri-o 等。
但是,Docker 容器通常用作默认容器运行时环境。原因很简单。
总的来说,Kubernetes 和Docker 之间的关系类似于操作系统和应用程序之间的关系:它们共同创建云原生应用程序的生态系统。
本文收录于mikechen的30万+字原文《阿里架构师进阶专题合集》。
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83542.html