01_Kubernetes基础

在这里插入图片描述
Kubernetes为什么叫K8S:因为K和S之间有8个字母

为什么需要K8S

对于云计算来说有自己的交互标准
在这里插入图片描述
Paas的下一代标准就是容器化,容器的集群化有没有很好的方案?有需求就会有产品,这个产品就叫做资源管理器。
首先是Apache的MESOS,最开始不是为容器化诞生的,而是作为最基础的资源管理器,是开源的分布式资源管理框架。后被推特选中作为其基础平台大规模盛行,但是好景不长,2019年推特宣布不使用MESOS,全面使用K8S。
Docker SWARM是Docker的总部诞生的一款资源管理器,主要实现的是Docker的集群化方案。新版Docker已经和SWARM融为一体了,SWARM已经成为了Docker内部的组件功能。安装Docker之后Docker SWARM init就可以声明一个Docker集群,而老版本中需要附加一些组件(etcd)才可以实现。首先Docker SWARM很轻量,本机消耗的额外资源只有几十MB而已,对于一个集群化资源管理器来说相当于没有。那为什么我们选中的是K8S而不是SWARM?主要原因是它的功能相较于K8S还是太单一,太少。K8S功能全面,非常适合企业的运行。

K8S的发展

为什么突然就蹦出来一个K8S成为企业选择的主流方案了,Docker官方的SWARM为什么不好使?
原因是K8S的靠山是Google。Google在10年前就已经将容器化作为其基础架构了,有一个组件叫borg,它就是Google内部管理容器的一个框架的资源管理器。其它的公司也想用,但是Google不对外开放,不差钱。随着Docker的火爆,越来越多的公司介入容器的资源管理器,此时Google站出来说话了,完用未来的趋势不是我的borg框架就尴尬了,于是Google公司派了几名工程师采用GO语言对borg系统进行翻写,采用了borg的一些设计思路开发出了新的组件也就是K8S。自称K8S诞生,并且开源给了容器基金会。成为了当前的标准

K8S有什么样的特点

1.轻量级
对于现存的资源管理器大多采用解释型语言开发,像Java等,解释型语言效率低下,作为管理器来说日常工作非常繁忙,并且解释型语言会消耗大量的内存,所以运行起来之后并不轻量。K8S采用的是GO语言,GO语言被誉为现代的C语言,GO也是解释型语言,效率跟C看齐,但是比C语言好的是在语级别支持进程管理,不需要人为的去控制。因此由GO语言开发的K8S对系统占用是非常小的。因此轻量级不是说功能少,而是消耗的资源少。
2.开源
3.弹性伸缩

当资源不够用的时候可以扩展资源,并且扩展的过程是平缓的升级,不能说又是改配置,又是重启。在主节点通过一条命令就可以将一些节点剥离出集群调度,即就是当访问量不需要这么多节点的时候就可以释放这些节点的资源。
4.负载均衡
K8S内部已经实现了模块之间的负载均衡,完全不需要搭载调度器去实现,完全由K8S本机去实现,并且采用IPVS的框架

框架及组件说明

Google borg架构

在这里插入图片描述
BorgMaster:负责请求分发,相当于大脑
高可用集群副本数目最好是>=3的奇数。
为什么是奇数?投票的时候方便决策

K8S架构

在这里插入图片描述
组件说明:
APISERVER:所有服务访问统一入口
CrontrollerManager:维持副本期望数目
Scheduler:负责接受任务,选择合适的节点进行分配任务
ETCD:键值对数据库储存K8S集群所有重要信息(持久化)
Kubelet:直接跟容器引擎交互实现容器的生命周期管理
Kube-proxy:负责写入规则至IPTABLES、IPVS实现服务映射访问的

COREDNS:可以为集群中的SVc创建一个域名IP的对应关系解析
DASHBOARD:给K8S集群提供 B/S结构访问体系
INGRESS CONTROLLER:官方只能实现四层代理,
INGRESS:可以实现七层代理,可以根据主机名,域名进行负载均衡
FEDERAT工ON:提供一个可以跨集群中心多K8S统一管理功能
PROMETHEUS:提供K8S集群的监控能力
ELK:提供K8S集群日志统一分析接入平台

etcd 的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转

etcd内部架构图

在这里插入图片描述
依然是一个采用HTTP协议进行C/S的构件服务,除此之外K8S也是采用这种方案。因为HTTP协议天生支持PUT,GET等等操作,包括授权认证,Raft里面存放的是所有的读写信息,并且为了防止这些信息出现损坏还有一个WAL,这是一个预写日志,即就是如果要对信息进行修改需要先生成一个日志,并且会定时对这些日志进行完整备份;因为随时进行完整备份消耗量太大,还会实时将增量日志写入本地磁盘进行保存。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux虚拟主机默认隐藏文件,如何开启显示

收到一位用户反馈他买了Hostease Linux虚拟主机,想要知道主机默认隐藏文件如何开启。据悉目前大部分主机提供商出售的Linux虚拟主机带的都是cPanel面板,因此开启隐藏文件操做需要进入到cPanel面板。操做步骤如下: 1.首先需要先登陆cPanel面板…

深度强化学习03价值学习

Q*类似于先知,知道动作的后果 价值学习是得到一个近似的价值函数

【Linux】Linux安装软件---软件包管理器 yum

主页:醋溜马桶圈-CSDN博客 专栏:Linux_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.Linux中安装软件 1.1 源代码安装 1.2 rpm包安装 1.3 yum安装 1.3.1 举例 1.3.2 图示yum下载安装 2.Linux系统的生态 如何选…

如何构建Docker自定义镜像

说明:平常我们使用Docker运行各种容器,极大地方便了我们对开发应用的使用,如MySQL、Redis,以及各种中间件,使用时只要拉镜像,运行容器即可。本文介绍如何创建一个Demo,自定义构建一个镜像。 开…

酷开科技聚焦大屏端数据研究,构建酷开系统深度挖掘大屏商业价值

中国所有的彩色大屏中,智能电视规模已经过半,OTT平台的数据价值越发引起人们关注。作为OTT行业的头部代表,酷开科技一直聚焦大屏端数据研究,目前已经形成一套基于大屏指数的智慧营销体系,让OTT大屏的数字营销化水平实现…

开源工具专题-02 Confluence企业级wiki

开源工具专题-02 Confluence企业级wiki 注: 本教程由羞涩梦整理同步发布,本人技术分享站点:blog.hukanfa.com 转发本文请备注原文链接,本文内容整理日期:2024-3-20 csdn 博客名称:五维空间-影子&#xf…

使用libdivsufsort库构建后缀数组

libdivsufsort是一个C语言库,用于构建后缀数组(Suffix Array)以及执行与后缀数组相关的操作。后缀数组是一种数据结构,用于有效地解决字符串处理问题,如字符串匹配、最长公共子串等。这个库的目标是提供高效、可移植和易于使用的后缀数组实现。 https://github.com/y-256…

我的自建博客之旅06之Mrdoc

这个是我折腾笔记项目的最后一篇文章了,这个项目是类似于语雀的文档笔记项目,因为我当初想找一个既可以当做笔记,又可以作为团队文档分享的笔记,除了语雀,就发现了这个项目。 这个开源项目的界面或者文档组织方式其实是我最喜欢的,但是我后来放弃它的原因是它的后台编辑逻…

Android StateLayout状态页

文章目录 Android StateLayout状态页概述源码使用源码下载 Android StateLayout状态页 概述 StateLayout(状态页)包含:加载中页面,错误页面,空页面,内含状态默认页面,支持自定义页面。 源码 …

提高WhatsApp营销效果:如何在WhatsApp上增加打开率和提高转化率?

提高WhatsApp营销效果:如何在WhatsApp上增加打开率和提高转化率? WhatsApp是一款广受欢迎的社交应用程序,不仅可以用于个人通讯,也可以用于企业营销。许多企业已经开始在WhatsApp上进行营销活动,但是如何提高营销效果…

极佳文件备份工具支持独占文件备份

1 指定备份的文件夹或者分区盘符 或者子文件夹dir1;dir2;dir3; 2 指定备份到哪里 例如disk1 E分区内的backup文件夹 3 指定备份周期 每日几点几分备份,每周几 几点几分备份 或者 间隔几时几分备份 4 备份模式 单向 将数据源文件夹 完整复制到 目标文件夹, 包括正…

JavaScript高级(十八)---进程和线程,宏任务和微任务

进程和线程 进程(process):计算机已经运行的程序,是操作系统管理程序的一种方式,我们可以认为,启动一个应用程序,就会默认启动一个进程(也可能是多个进程)。 线程&…

【现代C++】移动语义和右值引用

现代C中的移动语义和右值引用是C11引入的重要特性,旨在优化资源管理和提升性能。这些特性允许资源的转移而非复制,特别是对于临时对象和大型对象。 1. 右值引用 右值引用是对临时对象的引用,它允许你修改临时对象。使用&&来声明右值…

阿里云效flow流水线构建时内存不足

云效flow流水线构建时内存不足 报错截图 咨询阿里云后建议自己搭建私有化集群 https://help.aliyun.com/document_detail/201868.html?spm5176.2020520104.0.0.481b3f1bw2Mr1v 搭建地址 打开流水线,只有管理员和拥有者才能看到这个菜单 注意:构建集群…

【数组、字符串】算法例题

每个题的【方法1】是自己的思路,【其他方法】是力扣上更优的解题思路 目录 一、数组、字符串 1. 合并两个有序数组 ① 2. 移除元素 ① 3. 删除有序数组中的重复项 ① 4. 删除有序数组中的重复项 II ② 5. 多数元素 ① 6. 轮转数组 ② 7. 买卖股票的最佳时机…

[leetcode] 45. 跳跃游戏 II

文章目录 题目描述解题方法贪心java代码复杂度分析 题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i j] 处: 0…

【二分查找】算法例题

目录 十八、二分查找 114. 搜索插入位置 ① √- 115. 搜索二维矩阵 ② 116. 寻找峰值 ② √- 117. 搜索旋转排序数组 ② 118. 在排序数组中查找元素的第一个和最后一个位置 ② √ 119. 寻找寻钻排序数组中的最小值 ② 120. 寻找两个正序数组的中位数 ③ 136. 直线上最多…

MTLAB 批量下载 脑医学图像数据集BrainWeb: Simulated Brain Database

MTLAB 批量下载 脑医学图像数据集BrainWeb: Simulated Brain Database BrainWeb数据集的网址:https://brainweb.bic.mni.mcgill.ca/brainweb/ 1. 了解 BrainWeb: Simulated Brain Database 这是一个模拟大脑数据的数据库(SBD,Simulated Br…

京师心智心理健康测评系统 MyReport.ashx 信息泄露漏洞复现

0x01 产品简介 京师心智心理健康测评系统由心理学专家指导研发,使用先进的测试方法,通过一系列的数据处理将人的心理特征数量化,以此来衡量个体心理因素水平以及心理差异,帮助开展标准化心理健康工作。 0x02 漏洞概述 京师心智…

Java基础---反射

什么是反射? 反射允许对成员变量,成员方法和构造方法的信息进行编程访问。 这么说可能比较抽象,可以简单理解为:反射就是一个人,可以把类里面的成员变量,成员方法,构造方法都获取出来。 并且可…