01-k8s学习笔记之认识 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.mzph.cn/news/628537.shtml

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

相关文章

Flask框架小程序后端分离开发学习笔记《1》网络知识

Flask框架小程序后端分离开发学习笔记《1》网络知识 Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 一、网址组成介绍 协议:http,https (https是加密的http)主机:g.cn zhihu.com之类的网址…

IP定位API接口:省、市、城市的adcode编码、所在城市矩形区域范围(VIP版)

IP定位API接口:省、市、城市的名称和adcode编码、所在城市矩形区域范围 本文提供一个IP定位查询接口:省、市、城市的名称adcode编码,并返回一个参考坐标本接口是收费的(1分钱1次调用,免费的跳转链接查看,也…

嵌入式-Stm32-江科大基于寄存器点亮LED灯

文章目录 前言:一:搭建基于寄存器控制LED的工程二:用江科大的STM32板子实现基于寄存器点亮LED灯三:用非江科大stm32板子实现基于寄存器点亮LED灯道友:一星陨落,黯淡不了星空灿烂;一花凋零&#…

Flume 之自定义 Source

1、简介 Flume 自带 Source 有 Avro、Thrift、Netcat、Taildir、Kafka、Http等,有些场合比如我们指定访问接口获取数据当做 Flume 的 Source,像这种定制化的 Source 需要我们自己实现,下面我将介绍如何自定义实现 Source。 2、自定义实现 Fl…

Git 是什么?

Git 是什么? Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的版本控制工具 CVS, Subversion 等不同,…

Cesium 模型压平

最近整理了下手上的代码,以下是对模型压平的说明。 原理是使用了customShader来重新设置了模型的着色器,通过修改模型顶点的坐标来实现了压平。 废话不多说,下面上代码: /*** class* description 3dtiles模型压平*/ class Flat…

推荐给前端程序员的5款浏览器插件

所谓“工欲善其事,必先利其器”。Chrome(谷歌浏览器) 应该是程序员或者互联网行业人员使用最多的浏览器了。而在日常开发中,下面几款 浏览器 扩展也许能让你的开发工作事半功倍 。 1、Vimium vimium 是一个旨在将你的双手从鼠标…

【力扣·每日一题】2645. 构造有效字符串的最小插入数(动态规划 贪心 滚动数组优化 C++ Go)

题目链接 题意 给你一个字符串 word &#xff0c;你可以向其中任何位置插入 “a”、“b” 或 “c” 任意次&#xff0c;返回使 word 有效 需要插入的最少字母数。 如果字符串可以由 “abc” 串联多次得到&#xff0c;则认为该字符串 有效 。 提示&#xff1a; 1 < w o r…

C++核心编程(包含:内存、函数、引用、类与对象、文件操作等)【持续更新】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;C从基础到进阶 C核心编程&#x1f30f;1 内存分区模型&#x1f384;1.1 程序运行前&#x1f384;1.2 程序运行后&#x1f384;1.3 new操作符 &#x1f30f;2 引用&#x1f384;2.1 引用的基…

【Golang开源项目】Golang高性能内存缓存库BigCache设计与分析

项目地址 BigCache 是一个快速&#xff0c;支持并发访问&#xff0c;自淘汰的内存型缓存&#xff0c;可以在存储大量元素时依然保持高性能。BigCache将元素保存在堆上却避免了GC的开销。 背景介绍 BigCache的作者在项目里遇到了如下的需求&#xff1a; 支持http协议支持 10…

Linux shell编程学习笔记39:df命令

0 前言1 df命令的功能、格式和选项说明 1.1 df命令的功能1.2 df命令的格式1.3 df命令选项说明 2 df命令使用实例 2.1 df&#xff1a;显示主要文件系统信息2.2 df -a&#xff1a;显示所有文件系统信息2.3 df -t[]TYPE或--type[]TYPE&#xff1a;显示TYPE指定类型的文件系统信…

解决英特尔无线网卡WiFi或者蓝牙突然消失问题

winR&#xff0c;输入“devmgmt.msc”&#xff0c;检查设备管理器中的无线网卡驱动是否安装好。 访问https://www.intel.cn/content/www/cn/zh/download/19351/windows-10-and-windows-11-wi-fi-drivers-for-intel-wireless-adapters.html下载对应系统版本的英特尔无线网卡WiFi…

LeetCode 22. 括号生成

22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()","()(())"…

遇到问题不要慌,轻松搞定内存泄露

当一个系统在发生 OOM 的时候&#xff0c;行为可能会让你感到非常困惑。因为 JVM 是运行在操作系统之上的&#xff0c;操作系统的一些限制&#xff0c;会严重影响 JVM 的行为。故障排查是一个综合性的技术问题&#xff0c;在日常工作中要增加自己的知识广度。多总结、多思考、多…

基于PyQT的图片批处理系统

项目背景&#xff1a; 随着数字摄影技术的普及&#xff0c;人们拍摄和处理大量图片的需求也越来越高。为了提高效率&#xff0c;开发一个基于 PyQt 的图片批处理系统是很有意义的。该系统可以提供一系列图像增强、滤波、水印、翻转、放大缩小、旋转等功能&#xff0c;使用户能够…

自动化网络监控:每分钟自动检测网站可用性

&#x1f9d9;‍♂️ 诸位好&#xff0c;吾乃诸葛妙计&#xff0c;编程界之翘楚&#xff0c;代码之大师。算法如流水&#xff0c;逻辑如棋局。 &#x1f4dc; 吾之笔记&#xff0c;内含诸般技术之秘诀。吾欲以此笔记&#xff0c;传授编程之道&#xff0c;助汝解技术难题。 &…

基于TCP技术在ROS1和ROS2中实现多机通讯

文章目录 概要准备工作ROS1中实现服务端功能CMakeLists.txt代码ROS2中实现客户端功能CMakeLists.txt代码参考概要 两台主机共用一个网络,分别为ROS1和ROS2版本,为了实现两台主机之间的通讯,采用TCP通讯技术。 准备工作 打开防火墙: sudo ufw enable打开目标端口:例如打开…

SpringBoot:详解依赖注入和使用配置文件

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、&#x1f3…

[python]基本输出输入函数

语法结构print(输出内容) print()函数完整的语法格式&#xff1a; print(value,...,sep ,end\n,fileNone)sep为连接符&#xff0c;end为结束符 注意字符串和整数无法连接 ASCII码 print(chr(98)) #使用chr()将98转换成ASCII表中的字符&#xff0c;输出bpython3以unicode进行内…

力扣精选算法100题——等于目标值的两个数or三数之和(双指针专题)

目录 &#x1f6a9;等于目标值的俩个数 第一步&#xff1a;了解题意 第二步&#xff1a;算法原理 第三步&#xff1a;代码实现 &#x1f6a9;三数之和 第一步&#xff1a;了解题意 第二步&#xff1a;算法原理 思路&#xff1a; ❗不漏&#xff1a; ❗去重: &#xf…