Kubernetes设计架构

news2024/12/27 4:02:54

一:Kubernetes是什么
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能

通过Kubernetes可以:

快速部署应用
快速扩展应用
无缝对接新的应用功能
节省资源,优化硬件资源的使用

Kubernetes 特点:

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)
可扩展: 模块化, 插件化, 可挂载, 可组合
自动化: 自动部署,自动重启,自动复制,自动伸缩/扩展

二:Kubernetes架构
Kubernetes借鉴了Borg的设计理念,比如Pod、Service、Labels和单Pod单IP等。Kubernetes的整体架构跟Borg非常像,如下图所示
在这里插入图片描述
Kubernetes主要由以下几个核心组件组成:

1、etcd :保存了整个集群的状态,负责存储集群中各种资源对象的信息;
2、apiserver :提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
3、controller manager: 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
4、scheduler: 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
5、kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
6、Container runtime: 负责镜像管理以及Pod和容器的真正运行(CRI);
7、kube-proxy: 负责为Service提供cluster内部的服务发现和负载均衡;

除了核心组件,还有一些推荐的Add-ons:

1、kube-dns: 负责为整个集群提供DNS服务
2、Ingress Controller:为服务提供外网入口
3、Heapster:提供资源监控
4、Dashboard:提供GUI
5、Federation:提供跨可用区的集群
6、Fluentd-elasticsearch:提供集群日志采集、存储与查询

在这里插入图片描述
在这里插入图片描述
分层架构
Kubernetes设计理念和功能其实就是一个类似Linux的分层架构,如下图所示
在这里插入图片描述

  • 核心层
    Kubernetes最核心的功能,对外提供API构建高层的应用,对内提供插件式应用执行环境

  • 应用层
    部署(无状态应用、有状态应用、批处理任务、集群应用等)和路由(服务发现、DNS解析等)

  • 管理层
    系统度量(如基础设施、容器和网络的度量),自动化(如自动扩展、动态Provision等)以及策略管理(RBAC、Quota、PSP、NetworkPolicy等)

  • 接口层
    kubectl命令行工具、客户端SDK以及集群联邦

  • 生态系统
    在接口层之上的庞大容器集群管理调度的生态系统,可以划分为两个范畴

    • Kubernetes外部
      日志、监控、配置管理、CI、CD、Workflow、FaaS、OTS应用、ChatOps等
    • Kubernetes内部
      CRI、CNI、CVI、镜像仓库、Cloud Provider、集群自身的配置和管理等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/672985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python桌面软件的优势和发展

Python桌面软件的优势和发展 作为一种高级编程语言,Python已经在广大的程序员中得到了越来越广泛的应用,同时也成为了一种非常适合开发桌面软件的语言。下面,我们将重点介绍Python桌面软件的优势和发展。 Python桌面软件的优势 Python编程…

ubuntu18修改源

1. 查看当前系统的源 系统的源 2. 将sources.list备份,sources-bak.list是备份文件 3. 选择要换的源 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted un…

js 获取数组(对象)中的最大和最小值

let arr:array [] // 取最大值:Math.max.apply(Math, arr.map(function(o) {return o.value})) // 取最小值:Math.min.apply(Math, arr.map(function(o) {return o.value}))var array[ { “index_id”: 111, “area_id”: “18335623”, “name”: “满…

Jenkins持续集成构建平台使用指南

目 录 目 录... 2 1、系统参数... 3 2、授权策略... 5 3、构建管理... 6 3.1 构建命名规范... 6 3.1.1 任务视图命名... 6 3.1.2 任务命名... 6 3.2 参数化构建... 7 3.2.1 构建参数列表... 7 3.2.1 常用的参数配置... 8 3.3 分布式构建... 9 3.3.1 slave节点配置..…

基于spss的多元统计分析 之 聚类分析+判别分析(3/8)

实验目的: 1. 掌握多元数据的相关性、正态性、可视化表征的基本原理; 2.熟悉掌握SPSS软件/R软件的基本用法和基本操作; 3.利用实验指导中及软件中内置的实例数据,上机熟悉相关性检验正态性检验可视化数据方…

Kafka如何实现精确一次语义

精确一次交付保证是关于消息传递最具争议性的话题之一,因此也是最复杂的任务之一。然而,几年前,Kafka团队宣布他们实现了这一目标,让我们深入研究一下他们的实现方式以及存在的限制。 首先,值得定义一下这些交付语义是…

CMake在Linux服务器上进行编译与安装

CMake在Linux服务器上进行编译与安装 文章目录 CMake在Linux服务器上进行编译与安装[TOC](文章目录) 一、VScode 远程服务器连接1.服务器容器实例创建2.vscode 远程扩展部分下载(SSH端) 二、编译安装(时间较长)1.克隆项目到本地仓库2.进入CMa…

软考A计划-系统集成项目管理工程师-面向对象系统分析与设计-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

spring cloud 5大组件

Spring Cloud 5大组件 服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon 断路器——Netflix Hystrix 服务网关——Netflix Zuul 分布式配置——Spring Cloud Config 一、业务场景介绍 先来给大家说一个业务场景,假设咱们现在开发一个电商网站&…

看 AI 如何抢救破烂文档

一、什么是非结构化数据二、非结构化数据分析三、 文档图像分析与预处理 修正图形偏移消除摩尔纹四、消除反光 反光原理Python 消除图片反光方法五、 版面分析与文档还原 5.1 物理版面 & 逻辑版面5.2 版面元素检查5.3 文档还原5.4 文档还原的应用六、整体小结 一、什么是非…

chatgpt赋能python:Python查询网站的SEO技巧及注意事项

Python查询网站的SEO技巧及注意事项 搜索引擎优化(SEO)是所有网站的头等大事,而对于Python查询网站来说,它更是必不可少的。在这篇文章中,我们将介绍一些Python查询网站的SEO技巧及注意事项,以帮助您提高网…

Elasticsearch分词器

前奏 es的chinese、english、standard等分词器对中文分词十分不友好,几乎都是逐字分词,对英文分词比较友好。 在kibana的dev tools中测试分词: POST /_analyze {"analyzer": "standard","text": "你太…

vue源码分析

1、获取vue源码 项目地址:https://github.com/vuejs/vue 2、文件结构 源码目录 3、调试环境搭建 安装依赖: npm i 安装rollup:npm i -g rollup 修改dev脚本,添加sourcemap,package.json "dev": "ro…

C语言建立并查集

一.树的存储方式 在知道并查集之前,我们得知道树的三种存储方式: 1.双亲表示法 双亲表示法 :双亲表示法是最简单的一种存储方式,它使用一个大小为n的一维数组来表示树中的n个节点。在数组中,每个元素存储该节点的父…

Linux内核态内存泄露检测工具——Kmemleak

我的圈子: 高级工程师聚集地 我是董哥,高级嵌入式软件开发工程师,从事嵌入式Linux驱动开发和系统开发,曾就职于世界500强企业! 创作理念:专注分享高质量嵌入式文章,让大家读有所得! …

Windows开始菜单栏处无法直接搜索软件

文章目录 1. 打开cmd,输入start powershell打开PowerShell,然后在PowerShell中输入下面的命令,之后重启电脑2. 修改注册表3. 开启Windows Search服务4. 可能是搜索进程被禁用了5. 开启Cortana5.1. 打开gpedit.msc 6. 使用疑难解答6.1. 选择其…

chatgpt赋能python:Python如何查找特定名称文件

Python如何查找特定名称文件 在计算机文件管理和互联网网络应用程序中,查找特定文件往往是一项必要的任务。在使用Python编程时,我们可以使用Python内置的os模块来查找特定名称的文件。本文将介绍如何使用Python查找特定名称的文件,并提供实…

一个例子带你了解MapReduce

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

LTV-6314-ASEMI代理台湾光宝高速光耦LTV-6314

编辑:ll LTV-6314-ASEMI代理台湾光宝高速光耦LTV-6314 型号:LTV-6314 品牌:台湾光宝 封装:LSOP-6 引脚数量:6 类型:光耦 特性:台湾光宝、IGBT驱动器、储能专用光耦\高速光耦 …

如何看一块intel主板的配置的好坏

为什么写这篇文章 最近在挑13900k的主板,挑的眼花缭乱,发现主板市场不像CPU市场有那么清晰的产品线。 单拿微星一家的Z790来说,就包括但不限于以下型号 Z790 GAMINGZ790-PZ790-AZ790暗黑Z790刀锋 每一种的价格都不一样,更别弹还…