K8S历史与架构(一)

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Kubernetes是一个针对容器应用,进行自动部署,弹性伸缩,和管理的开源系统。主要功能是生产环境的容器编排。image.pngKubernetes名字太长了,叫起来有点麻烦,而Kubernetes首字母与结尾字母之间有8个字母,因此被称作K8S。

Kubernetes是一个针对容器应用,进行自动部署,弹性伸缩,和管理的开源系统。主要功能是生产环境的容器编排。

img_70269153297880f5e1a71bbe3c9932aa.png
image.png

Kubernetes名字太长了,叫起来有点麻烦,而Kubernetes首字母与结尾字母之间有8个字母,因此被称作K8S。

K8S历史

K8S是建立在谷歌内部有超过15年的历史,来源于谷歌内部的Borg系统,集结了Borg的精华。

  • 2014年6月 谷歌云计算专家埃里克·布鲁尔(Eric Brewer)在旧金山的发布会为这款新的开源工具揭牌。
  • 2015年7月22日K8S迭代到 v 1.0并正式对外公布
  • 大约每100天更新一次,如今已是 V 1.10版本

K8S的架构

我们先从简单的架构图看,下图所示架构,提供了松耦合的服务发现。像大多数的分布式系统,K8S集群至少需要一个主节点(Master)和多个计算节点(Node)。

  • 主节点主要用于暴露API,调度部署,和节点的管理。
  • 计算节点运行一个容器运行环境,如Docker或rkt,同时运行一个K8S的代理用于同主节点通信。计算节点也会运行一些额外的组件,像记录日志,节点监控,服务发现等等。计算节点是K8S集群中真正工作的节点。
img_c71190c03a60b69e7be5ff8c4e0ef276.png
K8S缩略架构图

K8S架构继续细分:


img_a39f32ef1f8827f628edbcfb17a82a8a.png
K8S架构细分

主节点运行组件:

  • Api Server提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
  • Scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
  • etcd保存了整个集群的状态;
  • Controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
img_af9d07445b3c712d3be534e680aca72c.png
K8S 主节点

K8S的计算节点:

  • kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
  • Docker为容器的运行环境
  • kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理,一般运行在所有的节点
  • Fluentd主要做日志收集、存储与查询,可使用其它的组件代替。
  • 可选的kube-dns负责为整个集群提供DNS服务
img_fd1a67325f245a76f5d968d25f2f5aff.png
K8S计算节点

最后

这篇文章,我们简单的介绍下K8S的历史与架构,能对K8S心中有个大概,下面一篇我们详细的梳理K8S的各个概念。

参考

另外

我在知识星球开通了一个交流群,免费的。希望能和大家一起交流学习,进群的可以获得500G Java学习资料奥,多年的收藏,除了Java之外,还收藏了IOS,Linux,Android相关资料。想要的也可以找我拿。


img_f7cccc702db1f653da22ca4bad0d1171.png
猩球图片
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
2月前
|
Kubernetes API 调度
k8s 到底是什么,架构是怎么样的?
Kubernetes(k8s)是Google开源的容器集群管理系统,它通过YAML文件自动化应用部署、扩展和管理。k8s架构包含控制平面(API Server、Scheduler、Controller Manager和etcd)和工作节点(Node,含kubelet、Container runtime、Kube Proxy等)。控制平面负责调度和管理,Node执行任务。kubectl是命令行工具,用于与k8s交互。k8s通过Ingress暴露服务,并通过Pod作为最小调度单位管理容器。Docker通常与k8s结合使用,提供容器化应用,但二者并非同一概念。
120 4
k8s 到底是什么,架构是怎么样的?
|
2月前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的协同
在当今快速迭代和部署应用程序的背景下,微服务架构已成为企业开发的首选模式。此文章通过深入分析Docker容器化技术和Kubernetes集群管理工具,探讨了如何利用这两者协同工作以构建和维护一个高效的微服务系统。我们将剖析Docker和Kubernetes的核心原理,并展示它们如何简化部署流程、提高系统的可伸缩性和可靠性。本文旨在为开发者提供一套实践指南,帮助其在云原生时代下,构建出既灵活又强大的后端服务。
|
2月前
|
存储 Kubernetes 负载均衡
Kubernetes的“厨房”:架构是菜谱,组件是厨具,资源对象是食材(下)
本文深入探讨了Kubernetes(K8s)的架构、核心组件以及资源对象。Kubernetes作为一个开源的容器编排系统,通过其独特的架构设计和丰富的组件,实现了对容器化应用程序的高效管理和扩展。通过本文的介绍,读者可以深入了解Kubernetes的架构、核心组件以及资源对象,从而更好地应用和管理容器化应用程序。Kubernetes的灵活性和可扩展性使得它成为容器编排领域的领先者,为企业提供了强大的容器运行环境。
|
2月前
|
Kubernetes 开发者 Docker
构建高效微服务架构:Docker与Kubernetes的协同应用
【5月更文挑战第30天】 在当今软件开发领域,微服务架构已成为实现系统模块化、提升可维护性及扩展性的关键策略。本文深入探讨了如何通过Docker容器化技术和Kubernetes集群管理,共同构建一个既高效又可靠的后端微服务环境。我们将剖析Docker和Kubernetes的核心功能,以及它们如何相辅相成,支撑起现代化的云原生应用程序部署和管理。文章还将提供具体实践案例,帮助开发者理解将理论应用于实际开发过程中的步骤和考虑因素。
|
2月前
|
Kubernetes 负载均衡 应用服务中间件
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
k8s 二进制安装 优化架构之 部署负载均衡,加入master02
|
2月前
|
Kubernetes 持续交付 Docker
构建高效微服务架构:Docker与Kubernetes的完美结合
【5月更文挑战第28天】在现代软件开发中,微服务架构已成为提高系统可维护性和扩展性的关键。本文深入探讨了如何利用Docker容器化技术和Kubernetes集群管理工具共同打造一个高效、可靠的微服务环境。通过分析两者的核心优势及互补特性,我们展示了一种优化的部署策略,旨在帮助开发者和系统管理员理解和实践在复杂分布式系统中实现服务的有效管理和自动化部署。
|
2月前
|
Kubernetes 持续交付 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【5月更文挑战第17天】在当今云计算和微服务架构的大潮中,Docker容器化技术和Kubernetes容器编排系统成为了后端开发领域的热门技术栈。本文将探讨如何通过Docker和Kubernetes的结合使用来构建一个高效、可扩展且易于管理的微服务环境。我们将从基础概念出发,深入到实际操作层面,最后讨论这种组合对持续集成和持续部署(CI/CD)流程的影响,旨在为开发者和企业提供一种可靠的后端服务解决方案。
|
2月前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
2月前
|
Kubernetes Cloud Native 开发者
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第31天】 在数字化转型和技术迭代的大潮中,企业对于敏捷、可扩展的IT基础设施需求日益增长。云原生技术以其独特的优势成为推动这一进程的关键力量。本文深入探讨了如何通过结合Kubernetes容器编排和微服务架构来构建和维护高效、可靠的云原生应用。我们将剖析这种技术整合的必要性,揭示其背后的原理,并讨论在实际部署过程中可能遇到的挑战及解决方案。通过案例分析和最佳实践的分享,旨在为开发者和架构师提供一套行之有效的云原生应用构建指南。
|
2月前
|
Kubernetes 监控 Docker
构建高效微服务架构:Docker与Kubernetes的完美搭档
【5月更文挑战第4天】在现代软件开发中,微服务架构已成为实现可扩展、灵活且独立部署服务的流行解决方案。本文将探讨如何利用Docker容器化技术和Kubernetes容器编排平台来构建一个高效的微服务系统。我们将分析Docker和Kubernetes的核心优势,并指导读者如何通过这些工具优化微服务部署、管理和扩展过程。文章还将涉及监控和日志管理策略,以确保系统的健壮性和可靠性。