k8s核心组件详解和分层架构
k8s核心组件


master中的核心组件
- api-server(接口服务,基于rest风格开放k8s接口的服务)
- kube-controller-manager(管理各个类型的控制器,针对k8s中的各种资源进行管理)

- cloud-controller-manager(云控制管理器,第三方云平台提供的控制器,api对接管理功能)
- kube-scheduler(调度器,负责将pod基于一定的算法,将其调用到更合适的节点(服务器)上)
- etcd(理解为k8s的数据库,键值类型的分布式数据库,提供了基于raft算法实现自助的集群高可用[老版本:基于内存 新版本:持久化存储])
ps:官方对于整个存储的地方称之为面板,控制面板
node中的核心组件
- kubelet(负责pod的生命周期,存储,网络)
- kube-proxy(网络代理(内部网络),负责service的服务发现 负载均衡[4层负载])
- container-runtime(容器运行时环境:docker,containerd,cri-o[一般会在三者中选择一个])
附加组件
- kube-dns(负责为整个集群提供dns服务)
- ingress controller(为服务提供外网入口)
- prometheus(监控)
- dashboard(ui界面)
- federation(提供跨可用区的集群)
- fluentd-elasticsearch(提供集群日志采集,存储和查询)
分层架构

- 生态系统(最顶层)
基于k8s的生态系统所创建出来的应用 - 接口层(所有的应用都需要调用k8s的接口)
- 管理层(管理层,系统度量(基础设施,容器和网络的度量),自动化(如自动扩展,动态provision等)以及策略管理(RBAC,Quota,psp,networkpolicy等))
- 应用层(部署(五状态应用,有状态应用,批处理任务,集群应用等)和路由(服务发现,dns解析))
- 核心层(kubernetes最核心的功能,对外提供api构建高层的应用,对内提供插件式应用执行环境)
- 插件(整个架构从上往下,最后调用不同的插件)
k8s核心组件详解和分层架构的更多相关文章
- ansible安装与核心组件详解
第1章 安装anisble 1.1 安装epel源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarc ...
- Spring 的核心组件详解
Spring 总共有十几个组件,但是真正核心的组件只有三个:Core.Context 和 Bean.它们构建起了整个 Spring的骨骼架构,没有它们就不可能有 AOP.Web 等上层的特性功能. 一 ...
- Hibernate核心组件详解
Hibernate是对象/关系映射(ORM,Object/Relational Mapping)的解决方案,就是将Java对象与对象关系映射到关系型数据库中的表格与表格之间的关系.它是Java应用与关 ...
- 详解阿里P7架构师是怎么在Spring中实现事务暂停
摘要 Spring框架是一个流行的基于轻量级控制反转容器的Java/J2EE应用框架,尤其在数据访问和事务管理方面的能力是众所周知的.Spring的声明性事务分离可以应用到任何POJO目标对象,并且包 ...
- hadoop之yarn详解(基础架构篇)
本文主要从yarn的基础架构和yarn的作业执行流程进行阐述 一.yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管 ...
- 深入详解Mybatis的架构原理与6大核心流程
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,目前在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架. 如果你想要进入一线大厂,能够熟练使用 MyBatis 开发已经 ...
- Kafka核心组件详解
1.概述 对于Kafka的学习,在研究其系统模块时,有些核心组件是指的我们去了解.今天给大家来剖析一下Kafka的一些核心组件,让大家能够更好的理解Kafka的运作流程. 2.内容 Kafka系统设计 ...
- HBase详解(03) - HBase架构和数据读写流程
RegionServer 架构 每个RegionServer可以服务于多个Region 每个RegionServer中有多个Store, 1个WAL和1个BlockCache 每个Store对应一个列 ...
- k8s 使用详解
转自:https://www.cnblogs.com/gaoyuechen/p/8685771.html
- k8s 配置文件 详解
apiVersion: v1 # [必须]版本号kind: Pod # [必选]Podmetadata: # [必选-Object]元数据 name: String # [必选] Pod的名称 nam ...
随机推荐
- Effective Python:第2条 遵循PEP 8风格指南
PEP8文档:https://peps.python.org/pep-0008/ 与空白有关的建议: 用空格(space)表示缩进,而不要用制表符(tab). 和语法相关的每一层缩进都用4个空格表示. ...
- 《C# in depth》第2章C#2.0中的更改(十五)——字面量
一.概念 在计算机编程中,Literals(字面量)是指在程序中直接表示数据的一种方式.它们是在代码中出现的固定值,与变量不同,它们没有名称或标识符. Literals 可以用于各种数据类型,包括整数 ...
- Oracle sql 月份的加减以及差值
Oracle sql 月份的加减以及差值 差值 使用months_between,输出的是两个日期的差值 select months_between(TO_DATE('2022-05-31','yyy ...
- Oracle常用的创建表语句
Oracle常用的创建表语句 Oracle常用的创建表语句 指定字段的创建 --指定字段的创建 create table table_name( test_1(字段名1) varchar2(50),( ...
- 力扣303(java)-区域和检索-数组不可变(简单)
题目: 给定一个整数数组 nums,处理以下类型的多个查询: 计算索引 left 和 right (包含 left 和 right)之间的 nums 元素的 和 ,其中 left <= rig ...
- EasyNLP带你实现中英文机器阅读理解
简介: 本⽂将提供对MacBERT模型的技术解读,以及如何在EasyNLP框架中使⽤MacBERT及其他预训练语言模型,进行中英文机器阅读理解任务的训练与预测. 作者:施晨.黄俊 导读 机器阅读理解是 ...
- [FAQ] SSH 免密登录主机/服务器 怎么操作 ?
1. 生成公私钥对,保存好. 命令:ssh-keygen -t rsa -C "xxx" 2. 将公钥传到远程主机的 ~/.ssh/authorized_keys 之中. 命令:s ...
- WPF 已知问题 Popup 吃掉 PreviewMouseDown 事件
在 WPF 中,使用 Popup 也许会看到 PreviewMouseDown 事件被吃掉 因为 PreviewMouseDown 是 RoutingStrategy.Direct 路由事件,不能在多 ...
- Jenkins 简述及其搭建
什么是持续集成? 持续集成(CI)是在软件开发过程中自动化和集成许多团队成员的代码更改和更新的过程.在 CI 中,自动化工具在集成之前确认软件代码是有效且无错误的,这有助于检测错误并加快新版本的发布. ...
- C++ 异常处理机制详解:轻松掌握异常处理技巧
C++ 异常处理 C++ 异常处理机制允许程序在运行时处理错误或意外情况.它提供了捕获和处理错误的一种结构化方式,使程序更加健壮和可靠. 异常处理的基本概念: 异常: 程序在运行时发生的错误或意外情况 ...