当前位置:首页 > 经验 >

kubernetes整体架构图(kubernetes四个基础)

来源:原点资讯(www.yd166.com)时间:2022-11-08 20:17:46作者:YD166手机阅读>>

Kubernetes是用于管理容器化应用程序集群的工具。在计算机领域中,此过程通常称为编排。

用管弦乐编排比喻上面的服务编排是很恰当的,就像乐队指挥一样,Kubernetes协调地将许多微服务组合在一起构成了应用程序。 Kubernetes会自动且持续地监视集群并对其组成进行调整。

了解Kubernetes架构对于部署和维护容器化的应用程序至关重要。

什么是Kubernetes

Kubernetes或简称k8s,是一个用于自动执行应用程序部署的系统。现代应用程序分散在云,虚拟机和服务器之间。手动管理应用程序不再是可行的选择。

K8s将虚拟机和物理机转换为统一的API切面。然后,开发人员可以使用Kubernetes API来部署,扩展和管理容器化的应用程序。

它的体系结构还为分布式系统提供了一个灵活的框架。K8s为您的应用程序自动协调扩展和故障转移,并提供部署模式。

它有助于管理运行应用程序的容器,并确保生产环境中没有停机时间。例如,如果某个容器发生故障,则另一个容器会自动取代其位置,而最终用户根本不会注意到。

Kubernetes不仅是一个编排系统。它是一组独立的,相互关联的控制过程。它的作用是在当前状态下连续工作,并朝着期望的方向移动过程。

Kubernetes架构和组成

Kubernetes具有去中心化的架构,不会线性处理任务。它基于声明性模型运行并实现**"所需状态"**的概念。下面这些步骤说明了Kubernetes的基本过程:

  • 管理员创建应用程序的所需状态并将其放入清单文件manifest.yml中。
  • 使用CLI或提供的用户界面将清单文件提供给Kubernetes API Server。 Kubernetes的默认命令行工具称为kubectl。
  • Kubernetes将清单文件(描述了应用程序的期望状态)存储在称为键值存储(etcd)的数据库中。
  • Kubernetes随后在集群内的所有相关应用程序上实现所需的状态。
  • Kubernetes持续监控集群的元素,以确保应用程序的当前状态不会与所需状态有所不同。

kubernetes整体架构图,kubernetes四个基础(1)

现在,我们将探索标准Kubernetes集群的各个组成部分,以更详细地了解该过程。

主节点

Kubernetes的主节点通过API从CLI(命令行界面)或UI(用户界面)接收输入。这些是你提供给Kubernetes的命令。

你可以定义想要让Kubernetes维护的Pod,副本集和Service。例如,要使用的容器镜像,要公开的端口以及要运行的Pod副本数量。还可以为该集群中运行的应用程序提供**"所需状态"**的参数。

kubernetes整体架构图,kubernetes四个基础(2)

API Server

API Server是Kubernetes控制程序的前端,也是用户唯一可以直接进行交互的Kubernetes组件,内部系统组件以及外部用户组件均通过相同的API进行通信。

键值存储etcd

键值存储(也称为etcd)是Kubernetes用来备份所有集群数据的数据库。它存储集群的整个配置和状态。主节点查询etcd以检索节点,容器和容器的状态参数。

Controller

控制器的作用是从API Server获得所需状态。它检查要控制的节点的当前状态,确定是否与所需状态存在任何差异,并解决它们(如果有)。

Scheduler

调度程序会监视来自API Server的新请求,并将其分配给运行状况良好的节点。它对节点的质量进行排名,并将Pod部署到最适合的节点。如果没有合适的节点,则将Pod置于挂起状态,直到出现合适的节点。

注意:最好不要在主节点上运行用户应用程序。让Kubernetes主节点可以完全专注于管理集群。

工作节点

工作节点监听API Server发送过来的新的工作分配;他们会执行分配给他们的工作,然后将结果报告给Kubernetes主节点。

kubernetes整体架构图,kubernetes四个基础(3)

Kubelet

kubelet在群集中的每个节点上运行。它是Kubernetes内部的主要代理。通过安装kubelet,节点的CPU,RAM和存储成为所处集群的一部分。它监视从API Server发送来的任务,执行任务,并报告给主节点。它还会监视Pod,如果Pod不能完全正常运行,则会向控制程序报告。然后,基于该信息,主服务器可以决定如何分配任务和资源以达到所需状态

Container Runtime

容器运行时从容器镜像库中拉取镜像,然后启动和停止容器。容器运行时由第三方软件或插件(例如Docker)担当。

Kube-proxy

kube-proxy确保每个节点都获得其IP地址,实现本地iptables和规则以处理路由和流量负载均衡。

Pod

在Kubernetes中,Pod是调度的最小元素。没有它,容器就不能成为集群的一部分。如果你需要扩展应用程序,则只能通过添加或删除Pod来实现。

Pod是Kubernetes中一个抽象化概念,由一个或多个容器组合在一起得共享资源。根据资源的可用性,主节点会把Pod调度到特定工作节点上,并与容器运行时协调以启动容器。

kubernetes整体架构图,kubernetes四个基础(4)

首页 12下一页

栏目热文

kubernetes 官网(kubernetes软件下载)

kubernetes 官网(kubernetes软件下载)

今天,我们兴奋地向大家宣布,Kubernetes在2021年内的第二个版本、即1.22版本已经正式来临!新版本包含53项...

2022-11-08 20:17:32查看全文 >>

kubernetes为什么叫k8s(k8s的常见的三种部署方式)

kubernetes为什么叫k8s(k8s的常见的三种部署方式)

简介Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化...

2022-11-08 19:58:01查看全文 >>

kubernetes和docker区别(路由器docker干嘛的)

kubernetes和docker区别(路由器docker干嘛的)

专注于Java领域优质技术号,欢迎关注内容来源:本文由IT大咖说(WeChat_ID:itdakashuo)转自数人云(...

2022-11-08 20:13:22查看全文 >>

kubernetes怎么读(一张图看懂kubernetes)

kubernetes怎么读(一张图看懂kubernetes)

作者:HelloGitHub-小鱼干中国程序员容易发音错误的单词,像极了学生时代的纠错本,收录着偶尔会忘记的单词。不过,...

2022-11-08 20:01:20查看全文 >>

kubernetes发音(kubernetes哪里下载软件)

kubernetes发音(kubernetes哪里下载软件)

中国程序员容易发音错误的单词单词正确发音(英音)正确发音(美音)错误发音access/'ækses//ˈækse...

2022-11-08 20:39:31查看全文 >>

kubernetes介绍(kubernetes功能性)

kubernetes介绍(kubernetes功能性)

我的专栏教程《Kubernetes核心开发从入门到精通》针对的是Kubernetes的原理实践和核心代码开发。目标群体是...

2022-11-08 20:42:24查看全文 >>

kubernetes思维导图(kubernetes介绍)

kubernetes思维导图(kubernetes介绍)

Kubernetes是一个开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理。然而并非所有项目都需要微服务...

2022-11-08 20:21:38查看全文 >>

kubernetes二次开发(kubernetes技术栈)

kubernetes二次开发(kubernetes技术栈)

Kubernetes是以应用为中心的技术架构与思想理念,以一套技术体系支持任意负载,运行于任意基础设施之上;向下屏蔽基础...

2022-11-08 19:58:52查看全文 >>

kubernetes系列教程(kubernetes基础知识)

kubernetes系列教程(kubernetes基础知识)

写在前面上一篇文章初步介绍了yaml学习kubernetes中重要的一个概念pod,接下来介绍kubernetes系列教...

2022-11-08 20:09:29查看全文 >>

kubernetes证书含金量(目前什么证书含金量最高)

kubernetes证书含金量(目前什么证书含金量最高)

CKA考试含金量CKA是目前唯一的 Kubernetes 官方认证考试。先从市场认可度来看,CKA 证书是云原生计算基金...

2022-11-08 20:35:20查看全文 >>

文档排行