01-k8s学习笔记之认识 Kubernetes

news/2024/7/6 3:00:02 标签: kubernetes, 学习, 笔记

1、什么是 Kubernetes?

Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,
Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),
Kubernetes 提供了应用部署,规划,更新,维护的一种机制。

Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为k 和 s 之间有八个
字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。 
 Kubernetes 建立在 Google 大规模运行生产工作负载十几年经验的基础上,结合了社区中最优秀的
 想法和实践。

2、为什么需要 Kubernetes?

  • 应用部署的三大阶段
#传统部署
程序员/运维工程师手动操作部署应用,直接将应用部署在目标机器上,
由于资源不隔离,容易出现资源争抢、依赖冲突等各方面问题。
#虚拟化部署
利用 OpenStask / VMware 等虚拟化技术,将一台目标机器虚拟化为多个虚拟机器,
按照需求将应用部署到不同的虚拟机中,对虚拟机进行动态的水平扩容等管理操作。

相对传统部署自动化、资源隔离的能力提升了,带来的问题是虚拟化的逻辑过重,导致效率不高,
且耗费资源较多。
#容器化部署
可以理解为轻量级的虚拟化,完美弥补虚拟化技术过重的问题,且由于直接共享主机硬件资源,
只是通过系统提供的命名空间等技术实现资源隔离,损耗更小,且效率更高。
  • k8s 的特点
自我修复
弹性伸缩
自动部署和回滚
服务发现和负载均衡
机密和配置管理
存储编排
批处理

3、企业级容器调度平台对比

  • Apache Mesos
#基本概念
Mesos 是一个分布式调度系统内核,早于 Docker 产生,Mesos 作为资源管理器,
从 DC/OS (数据中心操作系统)的角度提供资源视图。主/从结构工作模式,主节点分配任务,
并用从节点上的 Executor 负责执行,通过 Zookeeper 给主节点提供服务注册、服务发现功能。
通过 Framework Marathon 提供容器调度的能力。
#优势 
经过时间的检验,作为资源管理器的 Apache Mesos 在容器之前就已经出现很久了,
支持运行容器化化和非容器化的工作负载。可以支持应用程序的健康检查,开放的架构。
支持多个框架和多个调度器,通过不同的 Framework 可以运行 Haddop/Spark/MPI等多种不同的任务。
支持超大型规模的节点管理,模拟测试支持超过 5w+ 节点,在大规模上拥有较大优势。
  • Docker Swarm
#基本概念 	
Docker Swarm 是一个由 Docker 开发的调度框架。由 Docker 自身开发的好处之一就是标准 
Docker API 的使用,Swarm 由多个代理(Agent)组成,把这些代理称之为节点(Node)。
这些节点就是主机,这些主机在启动 Docker Daemon 的时候就会打开相应的端口,
以此支持 Docker 远程 API。这些机器会根据 Swarm 调度器分配给它们的任务,拉取和运行不同的镜像。
#优势 
从 Docker1.12 版本开始,Swarm 随 Docker 一起默认安装发布。由于随 Docker 引擎一起发布,
无需额外安装,配置简单。支持服务注册、服务发现,内置 Overlay Network 以及 Load Balancer。
与 Docker CLI 非常类似的操作命令,对熟悉 Docker 的人非常容易上手学习。
入门门槛、学习成本较低,使用更便捷,适用于中小型系统。
  • Google Kubernetes
#基本概念 
Kubernetes 是基于 Google 在过去十五年来大量生产环境中运行工作负载的经验。
Kubernetes 的实现参考了 Google 内部的资源调度框架,但并不是 Borg 的内部容器编排系统的开源,
而是借鉴 Google 从运行 Borg 获得的经验教训,形成了 Kubernetes 项目。
它使用 Label 和 Pod 的概念来将容器划分为逻辑单元。Pods 是同地协作(co-located)容器的集合,
这些容器被共同部署和调度,形成了一个服务,这是 Kubernetes 和其他两个框架的主要区别。
相比于基于相似度的容器调度方式(就像 Swarm 和Mesos),这个方法简化了对集群的管理。
#优势 
最流行等容器编排解决方案框架,基于 Google 庞大的生态圈及社区产生的产品。
通过 Pods 这一抽象的概念,解决 Container 之间的依赖于通信问题。
Pods,Services,Deployments 是独立部署的部分,可以通过 Selector 提供更多的灵活性。
内置服务注册表和负载平衡。
适用度更广,功能更强大,相较于 Mesos 来说节点规模较小,

http://www.niftyadmin.cn/n/5325254.html

相关文章

C语言数据结构(0)——前言

欢迎来到博主的新专栏——C语言与数据结构 博主id:代码小豪 文章目录 为什么学数据结构?关于语言和数据结构让不同的语言使用者能够理解文章的内容观看这个专栏时,需要掌握C语言中的哪些知识 为什么学数据结构? 在前两个专栏当中…

【工作日语】四、IT用语句子

ソフトウェアエンジニア  软件工程师ユーザーログイン 用户登陆システムインタフェース 系统接口パーソナルコンピュータ 个人电脑ラップトップコンピュータ 膝上型电脑データインポート 数据导入ユニットテスト 单元测试システムエラー 系统错误プログラムロジック 程序逻辑メ…

网络协议与攻击模拟_05TCP协议

一、传输层知识回顾 1、传输层的功能 定义应用层协议数据报文的端口号,流量控制对原始数据进行分段处理 2、传输层提供的服务 传输连接服务数据传输服务、流量控制、差错控制、序列控制 3、传输层的协议 面向连接的传输协议…

编曲混音FL Studio21.2对电脑有什么配置要求

FL Studio 21是一款非常流行的音乐制作软件,它可以帮助音乐人和制作人创作出高质量的音乐作品。然而,为了保证软件的稳定性和流畅性,用户需要知道FL Studio 21对电脑的配置要求。本文将介绍FL Studio 21的配置要求,以帮助用户选择…

Java 8 中的 Stream 轻松遍历树形结构

直接上代码 测试实体类 /*** Menu** author lcry*/ Data Builder public class Menu {/*** id*/public Integer id;/*** 名称*/public String name;/*** 父id &#xff0c;根节点为0*/public Integer parentId;/*** 子节点信息*/public List<Menu> childList;public Me…

kafka为什么快

消息发送 1、批量发送: Kafka 通过将多个消息打包成一个批次&#xff0c;减少了网络传输和磁盘写入的次数&#xff0c;从而提高了消息的吞吐量和传输效率。 2、异步发送: 生产者可以异步发送消息&#xff0c;不必等待每个消息的确认&#xff0c;这大大提高了消息发送的效2.率 …

OpenGauss源码分析-SQL引擎

所讨论文件大多位于src\common\backend\parser文件夹下 总流程 start_xact_command()&#xff1a;开始一个事务。pg_parse_query()&#xff1a;对查询语句进行词法和语法分析&#xff0c;生成一个或者多个初始的语法分析树。进入foreach (parsetree_item, parsetree_list)循环…

计算机网络的常用的网络通信命令(Windows)

ping&#xff1a;它是用来检查网络是否通畅或者网络连接速度的命令。ping命令利用的原理是&#xff1a;网络上的机器都有唯一确定的IP地址&#xff0c;我们给目标IP地址发送一个数据包&#xff0c;对方就要返回一个同样大小的数据包&#xff0c;根据返回的数据包我们可以确定目…